Java虚拟机(JVM)中的新生代、老年代和永生代

对于JVM中的各种问题,可以参考深入理解Java虚拟机:JVM的解析,解读Java虚拟机的重要模块,这篇文章主要是讲Java虚拟机(JVM)中的新生代、老年代和永生代。 1.为什么JVM会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想 ...阅读更多

Posted on

深入理解Java虚拟机:JVM的解析,解读Java虚拟机的重要模块

这篇文章以深入理解Java虚拟机的目录为引,分析解读Java虚拟机里面的重要模块。 深入理解Java虚拟机 第一部分走近Java 第1章走近Java 1.1概述 1.2Java技术体系 1.3Java发展史 1.4Java虚拟机发展史 1.4.1SunClassicExactVM 1.4.2SunHotSpotVM 1 ...阅读更多

Posted on

Java对象的访问定位方式

java对象在访问的时候,我们需要通过java虚拟机栈的reference类型的数据去操作具体的对象。由于reference类型在java虚拟机规范中只规定了一个对象的引用,并没有定义这个这个引用应该通过那种方式去定位、访问java堆中的具体对象实例,所以一般的访问方式也是取决与java虚拟机的类型。目前主流的访问方式 ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器

HotSpot虚拟机中的7种垃圾收集器:Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1,先介绍一些垃圾收集的相关概念,再介绍它们的主要特点、应用场景、以及一些设置参数和基本运行原理。 1、垃圾收集器概述 垃圾收集器是垃圾回收算法(标记-清除算 ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器G1收集器

G1收集器 G1(Garbage-First)是JDK7-u4才推出商用的收集器; 1、特点 (A)、并行与并发 能充分利用多CPU、多核环境下的硬件优势; 可以并行来缩短"Stop The World"停顿时间; 也可以并发让垃圾收集与用户程序同时进行; (B)、分代收集,收集范围包括新生代和老年代 能独立管理整个G ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器CMS收集器

CMS收集器 并发标记清理(Concurrent Mark Sweep,CMS)收集器也称为并发低停顿收集器(Concurrent Low Pause Collector)或低延迟(low-latency)垃圾收集器; 在前面ParNew收集器曾简单介绍过其特点; 1、特点 针对老年代; 基于"标记-清除"算法(不进行 ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器Parallel Old收集器

Parallel Old收集器 Parallel Old垃圾收集器是Parallel Scavenge收集器的老年代版本; JDK1.6中才开始提供; 1、特点 针对老年代; 采用"标记-整理"算法; 多线程收集; Parallel Scavenge/Parallel Old收集器运行示意图如下: 2、应用场景 JDK ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器Serial Old收集器

Serial Old收集器 Serial Old是 Serial收集器的老年代版本; 1、特点 针对老年代; 采用"标记-整理"算法(还有压缩,Mark-Sweep-Compact); 单线程收集; Serial/Serial Old收集器运行示意图如下: 2、应用场景 主要用于Client模式; 而在Server模式 ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器Parallel Scavenge收集器

Parallel Scavenge收集器 Parallel Scavenge垃圾收集器因为与吞吐量关系密切,也称为吞吐量收集器(Throughput Collector)。 1、特点 (A)、有一些特点与ParNew收集器相似 新生代收集器; 采用复制算法; 多线程收集; (B)、主要特点是:它的关注点与其他收集器不同 ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器ParNew收集器

ParNew收集器 ParNew垃圾收集器是Serial收集器的多线程版本。 1、特点 除了多线程外,其余的行为、特点和Serial收集器一样; 如Serial收集器可用控制参数、收集算法、Stop The World、内存分配规则、回收策略等; 两个收集器共用了不少代码;       ParNew/Serial Ol ...阅读更多

Posted on

Java虚拟机(JVM)垃圾回收器Serial收集器

Serial收集器 Serial(串行)垃圾收集器是最基本、发展历史最悠久的收集器; JDK1.3.1前是HotSpot新生代收集的唯一选择; 1、特点 针对新生代; 采用复制算法; 单线程收集; 进行垃圾收集时,必须暂停所有工作线程,直到完成; 即会"Stop The World"; Serial/Serial Ol ...阅读更多

Posted on

Java虚拟机(JVM)的堆

Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。 这样划分的目的是为了使 ...阅读更多

Posted on