![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
二旬、
这个作者很懒,什么都没留下…
展开
-
一、深入JVM--类加载器
JVM体系结构运行时数据区1.栈、本地方法栈、程序计数器是线程独有的。2.GC只负责管辖方法区、堆内存中的垃圾回收。3.本地方法库由本地接口调用时来使用。4.程序计数器(PC寄存器):每个线程都有一个程序计数器,是线程私有的,本质上就是一个指针,用来存储下一条Class文件是一个静态文件,如果要被加载到内存中,需要ClassLoader进行装载进入内存。BootStrap ...原创 2019-09-24 12:00:33 · 153 阅读 · 0 评论 -
二、深入JVM--运行时数据区
运行时数据区JVM运行java程序,会在内存执行。它会把内存分为多个部分,每个部分都有不同的生命周期与职责。我们这些部分称为运行时数据区。运行时数据区分为5个部分: 堆、方法区、栈、本地方法栈、程序计数器程序计数器它相当于当前线程所执行的字节码行号指示器。用来存储下一个指令的地址。相当于指针。它是线程独享的。内存很小,每个线程都维护了一个程序计数器。Java栈主管JAVA程序的运行,它...原创 2019-09-25 13:48:42 · 110 阅读 · 0 评论 -
二、深入JVM--运行时数据区(常量池)
class文件常量池常量池中存放着字面量和符号引用。1.字面量:被final或static修饰的修饰的数据+其他(有些普通类型的数据只有在超过一定范围才会出现在常量池中,如int类型的数据超过32767.才会出现在常量池中。否则不会出现在常量池中。long类型的数据只有为1时不出现在常量池。)2.符号引用:类和接口的全限定名(Fully Qualified Name)字段的名称和描述...原创 2019-10-06 23:52:17 · 324 阅读 · 0 评论 -
三、深入JVM--对象
垃圾回收如何判断对象是否为垃圾?1.引用计数法对象中维护一个计数器,被引用就自动+1.引用失效,自动-1。引用计数法无法解决对象之间相互引用的问题。现在HotSpot已经不再使用了。-verbose:gc -XX:+PrintGCDetails2.可达性分析法(GcRoot方法)垃圾回收算法:标记清除算法复制算法标记整理算法1.标记存活的对象。2.将存活的对象移到连续...原创 2019-09-27 00:48:07 · 83 阅读 · 0 评论 -
四、深入JVM-- Class文件详解
Class文件详解使用String类与StringBuilder类字符串拼接,哪一种性能更好?String每次在拼接字符串时,都会新建一个StringBuilder对象。然后调用append方法拼接。而StringBuilder是只新建一次对象,然后调用append方法。所以StirngBuilder比String的效率要高的多。原代码:public class App { pu...原创 2019-09-27 21:48:34 · 138 阅读 · 0 评论 -
五、深入JVM--垃圾收集器详解
虚拟机工具1.jps查看本地JAVA进程。jps -L 列出主类(入口类)全名原创 2019-10-03 23:21:17 · 126 阅读 · 0 评论