![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记-《深入理解Java虚拟机》
文章平均质量分 69
ChaosKong
既要低头做事,又要抬头看天。
展开
-
读《深入理解Java虚拟机》- Java内存区域
Java的运行时数据区被划分为5给部分,分别是: 程序计数器 java虚拟机栈 本地方法栈 Java堆 方法区 前面三个是线程私有的,后面两个是线程共享的。 1、程序计数器 程序计数器是一块很小的空间,Java虚拟机规范没有规定此内存会产生OOM。 它是当前线程执行到哪里的行号指示器,可以理解为是当前线程执行的字节码的地址。字节码解释器在工作时就是通过改变这个计数器来选取下一...原创 2018-08-26 10:49:49 · 130 阅读 · 0 评论 -
读《深入理解Java虚拟机》- Java对象创建过程
本文较为浅显的说明一下new一个Java对象的过程是怎么样的,对象头到底存了啥,已经对象的访问定位方式。里面会涉及到其他知识,等总结后再把链接贴上来。 Object obj = new Object(); 1、虚拟机检测到new关键字时,先检查这个new的参数(也就是类名)在常量池中有没有一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析、初始化过了,如果没有,需要先执行类的加...原创 2018-08-26 16:11:58 · 135 阅读 · 0 评论 -
读《深入理解Java虚拟机》- 类加载过程与类加载器
类加载过程: 加载---验证---准备---解析---初始化 虚拟机规范规定只有以下5种情况会初始化类: 1、遇到new getstatic putstatic invokestatic这四条字节码指令时,如果类没有进行过初始化就初始化类 new:就是普通的new一个类的时候 getstatic:就是读取一个类的静态变量时(被final修饰、已经在编译器把结果放入常量的静态变量除外) putst...原创 2018-09-13 18:13:54 · 110 阅读 · 0 评论 -
读《深入理解Java虚拟机》-垃圾收集器
垃圾收集器Serial收集器ParNew收集器Parallel Scavange收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器 Serial收集器 这是一个单线程收集器,在垃圾收集的时候会暂停其他的工作线程,美其名曰:Stop The World。停止其他线程的动作是jvm自动发起的,在用户不知道的情况下中断用户的工作线程。 优点是简单而高效 因为他是单线程...原创 2018-12-20 19:50:33 · 203 阅读 · 0 评论