自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Netty4 Recycler

Recycler Recycler是Netty经常使用的对象池抽象类,通过重用对象,能够避免频繁创建对象和销毁对象带来的损耗。 1. Recycler 抽象类介绍 1. 使用了FastThreadLocal // 每个线程都有自己的stack private final FastThreadLocal<Stack<T>> threadLocal =...

2019-05-22 09:38:35 395

原创 Netty4 FastThreadLocal

FastThreadLocal FastThreadLocal是Netty对jdk中ThreadLocal进行封装和优化,解决jdk中自带的ThreadLocal在线程池使用环境中,有内存泄漏的风险问题。它和ThreadLocal有着一样的功能,从名称来看Fast是快的意思,那么它为什么快?下面我们来讨论一下 如何使用 @Test public void ...

2019-05-21 11:27:44 281

原创 Disruptor源码分析(二) 多生产者模式

在上篇文章中,已经写出为什么disruptor性能为何如此高效,下面我们将对disruptor的多生产者模式的源码进行分析 先写个多生产者模式的demo pom.xml &lt;dependency&gt; &lt;groupId&gt;com.lmax&lt;/groupId&gt; &lt;artifactId&gt;disruptor&lt;/artifactId&gt; &l...

2018-12-05 18:15:23 662

原创 Disruptor源码分析(一) 单生产者模式

Disruptor为何底层性能如此高效: 1.它的数据结构面:使用环形结构、数组、内存预加载 2.使用单线程写方式和内存屏障 3.消除伪共享(有很多地方用到) 4.使用序号栅栏和序号配合来消除锁,CAS 下面我们以单生产者模式写demo pom.xml &lt;dependency&gt; &lt;groupId&gt;com.lmax&lt;/groupId&gt; &lt;...

2018-12-05 11:36:00 668

原创 Tomcat7 源码分析--生命周期

Tomcat生命周期设计UML图如下: 1. Lifecycle 主要定义以下几个接口 初始化、开始、停止、销毁、获取监听器、获取当前状态方法等 2.LifecycleBase是对lifecycle 一种抽象实现类,运用抽象模板模式将所有容器的生命周期及状态转换衔接起来,此外还提供了生成LifecycleEvent事件的接口; 3.LifecycleSupport主要针对以下方法做...

2018-09-26 22:09:13 148

原创 Tomcat7 源码分析--Degister使用

tomcat加载server.xml过程 tomcat启动类是Bootstrap,当启动时会去调用init()方法,在这个方法过程中,会设置Catalina path,通过反射将Catalina给实例化 public void init() throws Exception { // Set Catalina path set...

2018-09-26 15:42:09 485

原创 Tomcat7 源码分析--类加载器

Tomcat类加载机制有commonLoader、catalinaLoader、sharedLoader、webappclassLoader,关系如下: commonLoader、catalinaLoader、sharedLoader是在tomcat初始化的时候就被定义了,也就是BootStrap.java  main函数启动时,就会调用initClassLoaders() pri...

2018-09-22 22:49:33 409

原创 ElasticSearch6(六) restful风格 高亮显示

ES提供了三种高亮类型,Lucene的plain highlighter,以及fast vector highlighter(fvh)以及posting highlighter 1. plain highlighter plain highlighter 是es的默认高亮选择,占用空间小,但是对大字段高亮慢 { "query":{ "match":{ "conten...

2018-08-23 23:46:20 1226

原创 ElasticSearch6(五) restful风格 聚合查询-管道聚合

聚合分为三大类: 度量聚合:在一组文档中对某一个数字字段进行计算得出指标值 分组聚合:创建多个分组,每个分组都关联一个关键字和相关文档标准。当聚合执行的时候,所有的分组会根据自身标准评估每一个符合的文档。(分组聚合可以嵌套一个或者多个字聚合) 管道聚合:这一类聚合的数据源是其他聚合的输出,然后进行相关指标的计算。 管道聚合 管道聚合工作于其他聚合产生输出结果而不是文档集。 bucket_...

2018-08-17 17:16:23 1309

原创 ElasticSearch6(四) restful风格 聚合查询-分组聚合

聚合分为三大类: 度量聚合:在一组文档中对某一个数字字段进行计算得出指标值 分组聚合:创建多个分组,每个分组都关联一个关键字和相关文档标准。当聚合执行的时候,所有的分组会根据自身标准评估每一个符合的文档。(分组聚合可以嵌套一个或者多个字聚合) 管道聚合:这一类聚合的数据源是其他聚合的输出,然后进行相关指标的计算。 分组聚合 分组聚合不像度量聚合那样通过字段进行计算,而是根据文档创建分组 ...

2018-08-17 15:54:14 1881

原创 ElasticSearch6(三) restful风格 聚合查询-度量聚合

聚合分为三大类: 度量聚合:在一组文档中对某一个数字字段进行计算得出指标值 分组聚合:创建多个分组,每个分组都关联一个关键字和相关文档标准。当聚合执行的时候,所有的分组会根据自身标准评估每一个符合的文档。(分组聚合可以嵌套一个或者多个字聚合) 管道聚合:这一类聚合的数据源是其他聚合的输出,然后进行相关指标的计算。 度量聚合 在一组文档中对某一个数字字段进行计算得出指标值 1.平均值聚合 ...

2018-08-17 00:11:32 438

原创 ElasticSearch6(二) restful风格 高级查询

子条件查询 1. query context(主要是匹配有多好)        在查询过程中,除了判断文档是否满足查询条件外,ES还会计算一个_score来表示匹配的程度,旨在判断文档与查询条件的匹配的有多好。返回值有一个Score分数来标识。 match 查询 对查询字段进行分词,匹配一个分词,就能命中 { "query":{ "match":{ "title...

2018-08-16 14:34:25 1135

原创 ElasticSearch6(一) restful风格 基本操作CURD

  一 索引创建 1.1 通过head插件去创建索引 1.2 通过 es http api 去创建 PUT http://192.168.239.128:9200/testindex/  Content-Type: application/json { "settings": { "number_of_replicas": 0 }, "mappings": { ...

2018-08-14 15:18:10 803

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除