JVM
文章平均质量分 80
从0.5开始理解理解Java虚拟机
香草星冰乐
南京理工大学研究生,主要研究方向机器学习的隐私保护。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
垃圾回收器GC(更新)
年轻代、老年代、永久代 堆内存划分为三个区域年轻代、老年代、永久代。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。 (to区永远是空的那一个) 垃圾回收机制(就是清理堆) 在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没 有被任何引用的对象,并将它们添加到要回收的集合中,进原创 2021-03-28 16:40:37 · 328 阅读 · 0 评论 -
JVM对象(更新)
对象创建方式 Header 解释 使用new关键字 调用了构造函数 使用Class的newInstance方法 调用了构造函数 使用Constructor类的newInstance方法 调用了构造函数 使用clone方法 没有调用构造函数 使用反序列化 没有调用构造函数 对象创建过程 虚拟机遇到一条new指令时,先检查常量池是否已经加载相应的类,如果没有, 必须先执行相应的类加载。类加载通过后,接下来分配内存。若Java堆中内存是 绝对规整的,使用“指针碰撞“方式分配内原创 2021-03-28 16:18:58 · 203 阅读 · 0 评论 -
双亲委派模型
双亲委派模型 概念:加载类的时候,⾸先会把该请求委派该⽗类加载器的 loadClass() 处理,因此所有的 请求最终都应该传送到顶层的启动类加载器 BootstrapClassLoader 中。当⽗类加载器⽆法处理 时,才由⾃⼰来处理。(从下往上,从上往下) 代码: public class ClassLoaderDemo { public static void main(String[] args) { System.out.println("ClassLodarDemo's ClassLoad原创 2021-03-28 16:10:22 · 213 阅读 · 0 评论 -
JVM内存模型体系结构(更新)
JVM内存模型JVM内存模型类加载过程双亲委派运行时数据区对象执行引擎垃圾回收器(GC) JVM内存模型 框架图: 过程:首先通过编译器把 Java 代码转换成字节码,类加载器(ClassLoader) 再把字节码加载到内存中,将其放在运行时数据区(Runtime data area)的方法区内,而字节码文件只是 JVM 的一套指令集规范,并不能直接交给底层操作 系统去执行,因此需要特定的命令解析器执行引擎(Execution Engine),将 字节码翻译成底层系统指令,再交由 CPU 去执行,而这个过原创 2021-03-28 15:51:40 · 214 阅读 · 0 评论
分享