
深入理解JVM
深入理解Java虚拟机。只有沉得越深,往上浮的才越快。
Boogie_97
这个作者很懒,什么都没留下…
展开
-
深入理解JVM(五)--垃圾收集器
垃圾回收器是垃圾回收算法的具体体现。要明白一点的是:直到现在为止,没有一个最好的垃圾回收器,更没有万能的垃圾回收器。只有对具体情况应用最合适的收集器。(一):Serial收集器Serial本意是连载的意思。顾名思义,它不是并行的,它是运行在年轻代的单线程垃圾回收器。它在进行垃圾回收时,必须停止所有其他的工作线程,直到它收集结束。这就会造成严重 的“stop-the -world”。对于Serial的原创 2018-04-08 19:29:19 · 223 阅读 · 0 评论 -
深入理解JVM(四)--垃圾回收算法
(一):标记–清除算法标记–清除算法算是最基础的收集算法。 它首先标记出所有需要回收的对象,在标记完成后统一回首所有被标记的对象。 说标记–清除算法是最基础的算法是因为后续的收集算法都是基于这种思路并对其不足进行该进而得到的。标记-清除算法作为最基础的算法也是有它不足的地方:不仅标记和清除的效率都不够高,而且还容易出现大量不连续的内存碎片。容易出现Full GC问题。(二):复制算法为了解决标原创 2018-04-08 17:12:06 · 189 阅读 · 0 评论 -
深入理解JVM(三)--对象存活判定算法
GC的历史比Java的历史要久远的多。虽然目前内存的动态分配与内存回收技术已经相当成熟,但是当需要排查各种内存溢出、内存泄漏的问题以及当垃圾回收系统成为系统达到更高并发的瓶颈时,我们就需要实施必要的监控和调节了。java中内存区域中的程序计数器、虚拟机栈、本地方法栈3个区域随着线程生灭,因此,这三个区域内就不需要过多考虑回收的问题。 但是JVM堆和方法区则不同。比如说一个接口的多个实现类需要的内原创 2018-01-17 18:38:37 · 730 阅读 · 0 评论 -
深入理解JVM(二)--HotSpot虚拟机对象探秘
实用优先,先从常用的虚拟机HotSpot和常用的内存区域Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配、布局、访问的全过程。对象的创建Java是一门面向对象的编程语言。在Java程序运行过程中无时无刻都有对象被创建出来,在语言层面上,创建对象仅仅是一个new关键字而已,而在虚拟机中,对象的创建是一个复杂的过程。(这里的对象是指Java中的一半对象,不包括数组和Class对象。)原创 2018-01-16 10:52:41 · 367 阅读 · 0 评论 -
深入理解JVM(一)--Java内存区域与内存溢出异常
先从概念上介绍JVM虚拟机加内存的各个区域。知道这些区域的作用、服务对象以及可能出现的问题,是去真正的理解和调优JVM的基础工作。Java虚拟机在执行Java代码时会把它所管理的内存划分为不同的数据区域。这些区域都有各自的用途,以及销毁创建的时间。包含以下几个运行时的数据区域。 其中方法区与堆是由所有线程共享的数据区,虚拟机栈、本地方法区、程序技术器都是线程隔离的,相互不影响。(图中笔误,错写了本原创 2018-01-15 15:13:57 · 269 阅读 · 0 评论