简单点来讲理解线程无非就是要了解:1、核心是保证共享数据的安全;2、其次是线程执行的调度。其它所有的知识点都是围绕上述两点展开的场景适配方法和性能优化策略。这些知识是能否掌握多线程编程的关键,当然了笔者所描述的内容也只是一个入门级的教程,还需要多练习。
这一小章主要阐述下如何组织上述分析后的模型。使用聚合(Aggergate)进行建模,并且在设计中结合工厂(Factory)和资源库(Repositiory,注意Orm映射出的持久化对象不是领域模型的范围,在后续章节中会详细阐述这两者的区别),这样就能够把生命周期做为一个原子单元进行模型对象的操作。 通常,Aggergate用于划分范围,这个范围内的模型元素在生命周期各个阶段都应维护其固定规则和
模型的复杂性必须通过重构和知识的消化才能把关键的领域、最有价值的部分(core domain)、优先级提取出来。让团队而把主要精力放在core domain上而不要为无关的细节分散注意力,这有益于:帮助团队成员掌握系统的总体设计以便更好的协调工作;找到一个具有适度规模的核心模型并把它添加到通用语言中,从而促进沟通;专注于模型中最有价值的那部分;指导外包、现成组件的使用以及任务委派;指导重构;精炼的
在《快速开始》章节笔者对战略设计的解释是这样的:DDD中的战略主体是业务,并不是由公司经营者制定的以运营或管理为目的的那种战略规划。详细来讲是指以业务为核心,合理的设计模型(领域)、划分(限界上下文),再综合组织架构、实现技术等因素辅以相应的集成策略(上下文映射)。笔者在本节再精简一下,DDD中的战略设计就是指限界上下文,其设计围绕组织间合作模式和应用间所采
在实操作本章内容之前,请一定详细了解1/3章GC基础的内容,同时因为每个应用的情况不太一样,所以JVM调优没有一个统一的模式,只有深入了解其原理后才能进行调优操作。笔者大概罗列了一下JVM调优的必要过程:1、了解jvm原理;2、了解jvm相关参数;3、可读懂gc日志;4、上线压测。
此章笔者会多写点,分三个子专题来讲述:理论基础、实操、工具使用。目的是争取使读者一次性弄懂。不需要再反反复复的查各种资料,笔者也会把之前踩过的坑也详细描述下,防止读者再走笔者的弯路。 牢记:可被GC管理的内存区只有堆和方法区,其它3个私有区都会随着线程终止而释放。
本章笔者会重新组织下语言,着重讲下JVM的内存结构。此章会贯穿JDK1.6到JDK1.8的内容,最后会阐述下类初始化的过程,从原理上了解JVM的内存分配机制,本章内容比较基础但非常重要,它是优化代码和JVM调优的基本一定要牢记。后续会专题讲解JVM调优的实操,本章相当于授渔,后续章节相当于授鱼吧。 JVM通俗来讲有三种不同的解释:1、一套抽象的规范;2、一个具体的规范实现,分为硬件和软件实现;3、一个运行中的java实例。正常我们指的是第三种:运行在一个jvm实现上的java程序。在同一计算机上同时运行三个java程序,将得到三个java虚拟机实例,每个java程序都运行于它自己的java VM中。
jvm是老生常谈的一个话题了,虽然大家一直在用在研究,但有时遇到一些线上问题时有时还是无从下手,笔者刚开始接触时可以说是一看就会,一用就废(可能水平有限哈),后续又系统性的回顾了几次,也处理过各种由于JVM配置不合理引发的线上问题,随着理解的深入发现对复杂程序的编写以及性能的调优还是有很大用处的。基于以上,笔者最近整理了一系列文章,供大家参考。希望大家能少走笔者的弯路。全系统大概分4部分:jvm基
一、基础知识ES的搜索由两部分组成:1、查询;2、获取 ;一般来讲,ES很少用match_all查询,正常是通过查询+过滤器组合的方式来完成;后者不计算得分,且结果可被缓存,性能会更好。具体采用哪种查询类型取决于数据在索引中是如何存储的;查询过滤器用于过滤查询结果用,一般用在查询和聚合查询的body条件中。查询 格式说明适用场景match_allmatch_all:{}匹配所有文档全文检查,不太建
es简介 纯java开发,采用倒排索引进行文档的索引,同时通过TF-IDF(词频-逆文档词频)排序算法确保结果的相关性。在索引过程中还可以通过脚本的方式自定义:1、处理拼写错误;2、关键词变体,分词;3、查询内容时附带统计信息;4、自动提示功能等。可以用于主存储也可以用于文档搜索。需要注意的是es不支持事务,所以用做主存储时需要留意。es的优点是:1、以文档为基础,可用作nosql存储;
为select设计索引
rocketmq
全面讲述数据库索引的原理,系统化的了解索引优化的方法
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号