引 上一篇Elasticsearch底层架构概述(图解)[https://www.jianshu.com/p/5b963752b2ee]中讲了ES的整体架构,这篇将不会再对这...
引 上一篇Elasticsearch底层架构概述(图解)[https://www.jianshu.com/p/5b963752b2ee]中讲了ES的整体架构,这篇将不会再对这...
整体概述 Elasticsearch是依托于Lucene开发出来的检索引擎,Lucene是一个Full Text搜索库(也有很多其他形式的搜索库) 图解 图解 Elastic...
本文只写使用Docker安装的步骤及命令,不会有延展 编写docker-compose.yml文件 打开命令窗口,将地址切换到docker-compose.yml所在目录,执...
系列文章 Redis的三种集群模式-主从复制[https://www.jianshu.com/p/92b8c8940f33] Redis的三种集群模式-哨兵机制[https:...
1. SPI是什么? SPI即Service Provider Interface,用我不太专业的英语阅读理解就是服务供应者接口,反正大致就是这个意思。 那么这个接口有什么用...
系列文章 Redis的三种集群模式-主从复制[https://www.jianshu.com/p/92b8c8940f33] Redis的三种集群模式-哨兵机制[https:...
系列文章 Redis的三种集群模式-主从复制[https://www.jianshu.com/p/92b8c8940f33] Redis的三种集群模式-哨兵机制[https:...
本文基于JDK1.8编写 关键点 一把锁只能同时被一个线程获取,没有获得锁的线程只能等待。 每个实例都对应有自己的一把锁(this),不同实例之间互不影响。例外:锁对象是*....
0. 概述 一个对象,除了我们所看到的实例数据外,还有两个隐藏的部分,一部分叫对象头,另外一部分叫对齐填充。 1. 实例数据与对齐填充 1.1 实例数据 这两个相对好理解一些...
由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。 1.对象头形式...
对象创建过程 对象创建主要分六步:1.类加载,2.检查加载,3.内存分配,4.内存空间初始化,5.对象头设置,6.对象初始化(执行init方法)。我画的这张流程图对内存初始化...
什么是逃逸分析? 我们知道,对象一般被存储在堆中,堆中就涉及到分代概念,GC概念等一系列需要消耗资源的问题。为了避免频繁的GC,JVM也给出了解决方案,这个方案就是逃逸分析。...
跨代引用有什么问题? 跨代引用指,老年代引用新生代的问题,而Young GC不会扫描老年代,那就无法给这些被老年代引用的对象打上有引用的标记,被如果被错误回收那就是Bug,Y...
概述 G1收集器与其他收集器都不相同,G1引入了Region的概念,新生代和老年代都采用标记复制算法,标记采用三色标记算法。 JDK9后默认为G1收集器 启动参数:-XX:U...
概述 CMS收集器是并发GC的首次尝试,新生代采用复制算法,老年代默认采用标记清除算法,标记采用了三色标记算法。 启用参数:-XX:+UseConMarkSweepGC CM...
概述 此收集器是JDK8默认收集器,多线程,执行时需要Stop the word,但可以通过设置将一次STW的时间切分成多次,减少接口等待时间。 如需手动配置,命令:-XX:...
1.什么是垃圾回收(GC)? 垃圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的...
内存模型简介 JVM运行时数据区(RunTime Data Areas)分为了堆(Heap Area),方法区(Method Area),本地方法栈(Native Metho...