JVM
it_lihongmin
不要觉得自己怎么样,现实就是比你厉害的人,比你更努力!
当才华撑不起自己野心的时候,老老实实地踏实学习吧!
展开
-
JVM(一)- 基本结构和总览
目录 1、内存自动管理 2、虚拟机执行子系统 3、JVM与多线程(或者高并发)的重合部分 4、调优实战、常用参数等 之前看完《深入理解Java虚拟机》第二版之后觉得收获很大,现在第三版都出来了,书更厚并且增加了很多Java8等的东西,比如成熟的G1垃圾收集器的东西。结合《实战Java虚拟机》的东西,觉得该对这方面进行一些总结了,之前觉得有点杂乱无从下手。后面看到了JVM的结构图,...原创 2020-01-09 16:19:03 · 347 阅读 · 2 评论 -
JVM GC(垃圾回收器)
一、垃圾回收器的种类 垃圾回收器中需要涉及一个STW的概念,即Stop The World ,当进行gc的时候,可能需要停止线程正在进行的任务。 垃圾回收器总共有以下7中,如图: 1、Serial(复制回收算法) Serial为但线程的过程,进行垃圾回收的时候,会STW。 2、parNew(复制回收算法) 与Serial一样需要STW,但是gc的时候使用多线程。并使用...原创 2018-06-06 18:55:47 · 387 阅读 · 0 评论 -
JVM GC理论基础
jvm中的程序计数器、虚拟机栈、本地方法栈与线程的生命周期同生同死。当线程执行完成的时候,他们所占用的内存就自然跟着一起释放了。所以只需要关注堆和方法区的gc问题,尤其是堆,因为一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,这部分内存的分配和垃圾回收都是动态的。一、gc判断算法 1、引用计数法(Refrence Counting) ...原创 2018-06-06 16:39:34 · 213 阅读 · 0 评论 -
JVM(二)- 自动内存管理(一)- 运行时数据区
目录 一、JVM运行时数据区 1、程序计数器 2、虚拟机栈(stack) 1)、局部变量 2)、操作数栈 3)、动态链接 4)、出口 3、本地方法栈(Native Method Stack) 4、方法区 5、堆(Heap) 6、直接内存 一、JVM运行时数据区 Java程序运行时,会基于类加载机制将类文件加载到JVM,并...原创 2018-06-06 15:53:49 · 1114 阅读 · 0 评论 -
JVM 类加载机制
一、ClassLoader(类加载器)的作用: 1、把class文件加载到 jvm 中; 2、审查每个类由谁负责加载; 3、将class字节码重新解析成 jvm 统一要求的对象格式。 二、类加载器的种类(java.lang.Class类) 1、启动类价器:装载核心库 2、扩展类加载器:加载 JAVA_原创 2017-09-08 23:45:09 · 211 阅读 · 0 评论