原文:源码分析HotSpot GC过程(一)

对于HotSpot虚拟机垃圾回收过程,这里将分析介绍默认配置下MarkSweepPolicy的DefNewGeneration和TenuredGeneration的垃圾回收内容以及介绍其他GC策略和代实现的GC思想。GC的过程姑且简单地分为内存代实现无关的GC过程和内存代GC过程。本文将先进行内存代实现无关的GC过程分析,内存代GC过程将在后面进行分析。 从GenCollectedHeap的do ...

2015-12-01 16:58 1 3773 推荐指数:

查看详情

源码分析HotSpot GC过程(二):DefNewGeneration的GC过程

  由于虚拟机的分代实现,虚拟机不会考虑各个内存代如何实现垃圾回收,具体的工作(对象内存的分配也是一样)由各内存代根据垃圾回收策略自行实现。   DefNewGeneration的使用复制算法进行回 ...

Tue Dec 08 17:30:00 CST 2015 0 2393
HotSpot源码分析之类模型

HotSpot采用了OOP-Klass模型描述Java的类和对象。Klass模型采用Klass类及相关子类的对象来描述具体的Java类。一般HotSpot JVM 在加载Java的Class 文件时,会在方法区创建 Klass ,用来保存Java类的元数据,包括常量池、字段、方法等。 Klass ...

Fri Nov 20 14:44:00 CST 2020 0 721
HotSpot的启动过程(配视频进行源码分析

本文将详细介绍HotSpot的启动过程,启动过程涉及到的逻辑比较复杂,细节也比较多,为了让大家更快的了解这部分知识,我录制了对应的视频放到了B站上,大家可以参考。 第4节-HotSpot的启动过程 下面我们开始以文章的形式简单介绍一下启动过程HotSpot通常会通过java.exe ...

Wed Nov 18 17:17:00 CST 2020 0 743
ZGC gc策略及回收过程-源码分析

源码文件:/src/hotspot/share/gc/z/zDirector.cpp 一、回收策略 main入口函数: ZMetronome::wait_for_tick 是zgc定义的一个循环时钟函数,sample_allocation_rate函数则用 ...

Mon Oct 21 00:57:00 CST 2019 0 310
HotSpot模板解释器目标代码生成过程源码分析

  虽然说解释执行模式是逐字逐句翻译给目标平台运行的,但这样的过程未免太过缓慢,如果能把字节码说的话做成纸条,运行时只要把对应的纸条交给目标平台就可以了,这样,执行速度就会明显提升。JVM的Hotspot虚拟机的模板解释器就是用这种方法来解释执行的。在开始分析之前,先了解一下JVM的执行方式 ...

Wed Oct 28 00:31:00 CST 2015 0 2572
HotSpot学习(二):虚拟机的启动过程源码解析

1. 前言 上文介绍了HotSpot编译和调试的方法,而这篇文章将迈出正式调试的第一步——调试HotSpot的启动过程。 学习启动过程可以帮助我们了解程序的入口,并对虚拟机的运行有个整体的把握,方便日后深入学习具体的一些模块。 2. 整体感知启动过程 整体的感知启动过程可以在启动时添加 ...

Fri Jan 08 04:14:00 CST 2021 0 345
HotSpot源码分析之C++对象的内存布局

HotSpot采用了OOP-Klass模型来描述Java类和对象。OOP(Ordinary Object Pointer)指的是普通对象指针,而Klass用来描述对象的具体类型。为了更好理解这个模型,首先要介绍一下C++的内存对象模型和虚函数。 1、C++类对象的内存布局 我们使用Visual ...

Thu Nov 19 16:15:00 CST 2020 0 407
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM