推荐一下《聊聊JVM》的专栏

按照惯例新开了一个专栏后要单推一下,推荐一下《聊聊JVM的专栏》,网上关于JVM的文章太多,这个专栏希望能在已有的资料的基础上写出点新意,对一些重要的概念归纳总结,说说自己的观点、理解和实际开发中的经验等等,多多交流

2014-12-15 10:08:05

阅读数:4620

评论数:1

聊聊JVM(十)Mac下hsdis和jitwatch下载和使用

网上已经有了详细的hsdis和jitwatch的教材,比如这篇利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码 hsdis能够查看Java生成的汇编代码,具体的可以查看上面这篇文章。这里提供一下Mac下的hsdis-amd64.dylib和hs...

2014-12-12 17:50:08

阅读数:6011

评论数:0

聊聊JVM(九)理解进入safepoint时如何让Java线程全部阻塞

在这篇聊聊JVM(六)理解JVM的safepoint 中说了safepoint的基本概念,VM thread在进行GC前,必须要让所有的Java线程阻塞,从而stop the world,开始标记。JVM采用了主动式阻塞的方式,Java线程不是随时都可以进入阻塞,需要运行到特定的点,叫safepo...

2014-12-12 13:05:53

阅读数:10851

评论数:0

聊聊JVM(八)说说GC标记阶段的一些事

这篇说说GC标记阶段的一些事情,尝试把一些概念说清楚。本人不是研究JVM实现的,如果表述有问题请查看参考资料进一步学习,推荐高级语言虚拟机圈子 ,里面有很多好的文章值得一看。 GC最简单的理解就是先把live的对象标记出来,然后把没有标记到的对象清除掉。那么就有几个问题: 1. 什么是活的对象...

2014-12-11 16:50:45

阅读数:7242

评论数:4

聊聊JVM(七)一张图说明JVM运行时状态

关于JVM运行时的内存分布有大量文章写过,没必要重复,在一个博客上看到下面这张图,很好地说清楚了JVM运行时内存各区域的细节,拿来引用一下。 下图来自JVM Internals 这篇文章。里面总结了JVM基本的一些知识,很全面,值得看下。

2014-12-10 22:01:57

阅读数:5372

评论数:1

聊聊JVM(六)理解JVM的safepoint

safepoint是JVM里面很重要的一个概念,在很多场景下都会看到它,尤其是在GC的时候。这篇讲讲safepoint。本人不是做JVM实现研究的,很多地方只能点到为止,希望能够讲清楚这个概念,具体的细节可以自己去找资料深入研究。 safepoint 安全点顾名思义是指一些特定的位置,当线程运...

2014-12-10 16:32:42

阅读数:12125

评论数:7

聊聊JVM(五)从JVM角度理解线程

这篇说说如何从JVM的角度来理解线程,可以对Java的线程模型有一个更加深入的理解,对GC的一些细节也会理解地更加深刻。本文基于HotSpot的OpenJDK7实现。 我们知道JVM主要是用C++实现的,JVM定义的Thread的类继承结构如下: Class hierarchy  - Thre...

2014-12-10 11:01:08

阅读数:11322

评论数:5

聊聊JVM(四)深入理解Major GC, Full GC, CMS

很多人都分不清Major GC, Full GC的概念,事实上我查了下资料,也没有查到非常精确的Major GC和Full GC的概念定义。分不清这两个概念可能就会对这个问题疑惑:Full GC会引起Minor GC吗? 经过一系列的查找和对JVM表现的分析,基本可以给Full GC和Major ...

2014-12-09 16:20:43

阅读数:34065

评论数:9

聊聊JVM(三)两种计算Java对象大小的方法

这篇说说如何计算Java对象大小的方法。之前在聊聊高并发(四)Java对象的表示模型和运行时内存表示 这篇中已经说了Java对象的内存表示模型是Oop-Klass模型。 普通对象的结构如下,按64位机器的长度计算 1. 对象头(_mark), 8个字节 2. Oop指针,如果是32G内存以下的,...

2014-12-09 13:21:06

阅读数:19831

评论数:9

聊聊JVM(二)说说GC的一些常见概念

上一篇总结GC的基础算法,各种GC收集器的基本原理,还是比较粗粒度的概念。这篇会整理一些GC的常见概念,理解了这些概念,相信对GC有更加深入的理解 1. 什么时候会触发Minor GC?     Eden区域满了,或者新创建的对象大小 > Eden所剩空间    CMS设置了CMSSc...

2014-12-08 13:04:12

阅读数:11517

评论数:6

聊聊JVM(一)相对全面的GC总结

最近时间比较紧张,要写的东西也有很多,只能想到一点写一点。关于GC,网上的资料太多,之前对一个系统调优的时候又回顾了一下,找了几篇广泛流传的资料,大部分都是大同小异,这里总个总结,希望能够做个相对的全集,并写出一些新的点,比如Card Marking(卡片标记)等。 首先是大家都要提到的GC的...

2014-12-05 13:08:20

阅读数:15388

评论数:12

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