最近看了一下部署游戏后台的服务器状况,发现我的一个Java程序其占用的CPU时长超过100%,排查后发现竟是Disruptor引起的,让我们来看看究竟为什么Disruptor会有这样的表现。 ...
分类:
其他好文 时间:
2019-10-22 20:13:50
阅读次数:
70
接着上一篇,介绍完了 JVM 中识别需要回收的垃圾对象之后,这一篇我们来说说 JVM 是如何进行垃圾回收。 首先要在这里介绍一下 ...
分类:
其他好文 时间:
2019-10-22 09:13:18
阅读次数:
72
最近看了一下部署游戏后台的服务器状况,发现我的一个Java程序其占用的CPU时长超过100%,排查后发现竟是Disruptor引起的,让我们来看看究竟为什么Disruptor会有这样的表现。 ...
分类:
其他好文 时间:
2019-10-20 10:42:29
阅读次数:
76
基础 1、JVM内存模型和JAVA内存模型JMM 2、Jvm垃圾回收机制 3、Java多线程、线程池及并发包 4、Java锁 5、Java集合 6、Java BIO、NIO 7、Spring源码解析; 8、SpringBoot 存储相关: 1、MySQL 2、Redis 3、MQ 架构相关: 1、分 ...
分类:
编程语言 时间:
2019-09-08 09:33:44
阅读次数:
98
概述 Java运行时区域中,程序计数器,虚拟机栈,本地方法栈三个区域随着线程的而生,随线程而死,这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收问题。而Java堆和方法区则不一样,一个接口的多个实现类需要的内存不一样,一个方法的多个分支需要的内存可能也不一眼,我们只有在运行期,才能知道会创 ...
分类:
其他好文 时间:
2019-08-25 21:38:02
阅读次数:
105
高性能go服务之高效内存分配 手动内存管理真的很坑爹(如C C++),好在我们有强大的自动化系统能够管理内存分配和生命周期,从而解放我们的双手。 但是呢,如果你想通过调整JVM垃圾回收器参数或者是优化go代码的内存分配模式话来解决问题的话,这是远远不够的。自动化的内存管理帮我们规避了大部分的错误,但 ...
分类:
其他好文 时间:
2019-08-24 14:59:37
阅读次数:
81
转自https://juejin.im/post/59e6c1f26fb9a0451c397a8c jvm优化必知系列——监控工具 这是jvm优化系列第二篇: jvm优化——垃圾回收 通过上一篇的jvm垃圾回收知识,我们了解了jvm对内存分配以及垃圾回收是怎么来处理的。理论是指导实践的工具,有了理论 ...
分类:
其他好文 时间:
2019-08-17 19:52:49
阅读次数:
93
按照套路是要先装装X,谈谈JVM垃圾回收的前世今生的。说起垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。设计和优化C++这门语言的专家们要长点心啦~~
分类:
其他好文 时间:
2019-08-06 09:21:11
阅读次数:
82
1.垃圾回收算法 1.1 标记-清除算法 算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它是最基础的收集算法,效率也很高,但是会带来两个明显的问题: 1.效率问题 2.空间问题,标记清除后会产生大量不连续的碎片 1.2 复制算法 为了解决效率问题 ...
分类:
编程语言 时间:
2019-06-30 14:26:56
阅读次数:
140
1.java堆中几乎放着所有对象的实例,那么什么样子的对象才是可以被回收的呢? 1.1.引用计数法: 给对象添加一个引用计数器,当有地方引用的时候,计数器就+1,引用失效就-1;任何时候当计数器为0,那么这个对象就是可以被回收的。该方法实现简单,效率也高,但是并没有被主流的虚拟机采用,因为很难解决对 ...
分类:
其他好文 时间:
2019-06-30 09:41:35
阅读次数:
86