jvm
小白鼠捉大猫咪
这个作者很懒,什么都没留下…
展开
-
Maven学习笔记
5.Maven中的dependency和dependencyManagement之间的区别: dependencyManagement和dependency都是属于pom文件中的标签,而dependencyManagement一般值出现在父工程中,作用就是用于总的工程的jar包版本控制,例如在父工程中的dependencyManagement下面定义了mysql的版本之后,子工程的dependency中在指定jar包的时候就不用给出版本号,会自动采用父工程的版本进行导入,当然也...原创 2021-06-13 09:43:33 · 155 阅读 · 1 评论 -
JVM学习总结——垃圾回收器(博客资料来源于尚硅谷,感谢!)
一、GC分类与性能指标 二、不同的垃圾回收器概述 三、Serial回收器:串行回收 四、ParNew回收器:并行回收 五、Parallel回收器:吞吐量优先 六、CMS回收器:低延迟 七、G1回收器(Java采用的回收器):区域化分代式 八、垃圾回收器总结 ...原创 2021-06-08 16:53:06 · 108 阅读 · 0 评论 -
JVM学习总结——垃圾回收相关概念(博客资料来源于尚硅谷,感谢!)
一、System.gc()的理解 二、内存溢出和内存泄露 三、Stop The World 四、垃圾回收的并行和并发 五、安全点与安全区域 六、引用的知识原创 2021-06-08 16:45:36 · 98 阅读 · 0 评论 -
JVM学习总结——垃圾回收概述(博客资料来源于尚硅谷,感谢!)
一、垃圾回收的概述 1、什么是垃圾 2、早期的垃圾回收 3、Java垃圾回收机制原创 2021-06-08 14:21:07 · 115 阅读 · 0 评论 -
JVM学习总结——垃圾回收相关算法(博客资料来源于尚硅谷,感谢!)
一、垃圾回收的概述 1、什么是垃圾 2、早期的垃圾回收 3、Java垃圾回收机制 二、垃圾回收相关算法原创 2021-06-07 22:10:51 · 122 阅读 · 0 评论 -
JVM学习总结——执行引擎(博客资料来源于尚硅谷,感谢!)
1、执行引擎概述 2、java代码编译和执行过程 3、机器码、指令和汇编语言 4、解释器 5、JIT即时编译器原创 2021-06-07 17:42:32 · 130 阅读 · 0 评论 -
JVM学习总结——直接内存(不属于JVM规范中的运行时数据区)(博客资料来源于尚硅谷,感谢!)
原创 2021-06-07 17:06:08 · 140 阅读 · 0 评论 -
JVM学习总结——对象的实例化内存布局和访问定位(博客资料来源于尚硅谷,感谢!)
1、对象的实例化 (1)步骤1:判断对象对应的类是否加载、连接、初始化 (2)为对象分配内存空间 如果内存规整: 如果内存不规整:虚拟机需要维护一个空闲列表 (3)处理并发问题:预先为每个线程分配一块TLAB (4)对对象的属性进行默认初始化值,保证对象的实例字段在不赋值的时候也可以使用 (5)设置对象的对象头 (6)执行init方法进行初始化 2、对象的内存布局 ...原创 2021-06-07 16:12:06 · 122 阅读 · 0 评论 -
JVM学习总结——JVM的运行时数据区(方法区)(博客资料来源于尚硅谷,感谢!)
1、栈、堆、方法区之间的配合关系 2、方法区的理解 3、设置方法区的大小与OOM(OutOfMemory:Metaspace) 4、方法区的内部结构 5、方法区的演进细节 6、方法区的垃圾回收 7、常见面试题 ...原创 2021-06-07 15:26:40 · 106 阅读 · 0 评论 -
JVM学习总结——JVM的运行时数据区(堆)(博客资料来源于尚硅谷,感谢!)
1、堆空间的核心概述 分析演示实例: 代码块: public class SimpleHeap { private int id; public SimpleHeap(int id) { this.id = id; } public void show(){ System.out.println("my id is "+id); } public static void main(String[] args) {原创 2021-06-06 12:10:32 · 144 阅读 · 0 评论 -
JVM学习总结——JVM的运行时数据区(本地方法栈)及本地方法接口(博客资料来源于尚硅谷,感谢!)
1、本地方法接口 关于什么是本地方法:实际上就可以理解为一个用native关键字修饰的一个java方法,但是方法没有具体的实现,实现部分由其他语言完成。 本地方法展示:原创 2021-06-04 15:26:51 · 94 阅读 · 0 评论 -
JVM学习总结——JVM的运行时数据区(整体结构)(博客资料来源于尚硅谷,感谢!)
1.运行时数据区的整体结构 2. JVM中线程的说明原创 2021-06-04 15:06:38 · 97 阅读 · 0 评论 -
JVM学习总结——JVM的运行时数据区(PC寄存器/程序计数器)(博客资料来源于尚硅谷,感谢!)
3.程序计数器(PC寄存器) 3.1 程序计数器介绍 3.2 PC寄存器的举例说明 main方法: 经过将字节码进行反编译之后的结果: 3.3 程序计数器的常见面试题 问题一: 问题二:原创 2021-06-04 15:05:36 · 108 阅读 · 0 评论 -
JVM学习总结——JVM的运行时数据区(虚拟机栈)(博客资料来源于尚硅谷,感谢!)
三、JVM的运行时数据区 1.运行时数据区的整体结构 2. JVM中线程的说明 3.程序计数器(PC寄存器) 3.1 程序计数器介绍 3.2 PC寄存器的举例说明 main方法: 经过将字节码进行反编译之后的结果: 3.3 程序计数器的常见面试题 问题一: 问题二: 4.虚拟机栈 ...原创 2021-06-03 18:54:45 · 166 阅读 · 0 评论 -
JVM学习总结——JVM的类加载子系统(博客资料来源于尚硅谷,感谢!)
二、JVM的类加载子系统 类加载子系统的总体架构: 1.类加载子系统的作用 2.类的加载过程 一个简单的包含main方法的类的字节码文件加载过程: 2.1 加载阶段 2.2 链接阶段 2.3 初始化阶段 一个类加载过程的案例分析:首先JVM要调用main方法,就会先加载ClinitTest1这个类,执行打印的方法时,发现需要使用到Son这个类,就会去加载Son这个类,加载Son这个类的时候,会去加载Son的父类Father类,在加载Father这个类的时候,在链接的准备阶段将A初始化为0,原创 2021-06-03 15:55:01 · 100 阅读 · 0 评论 -
4大GC垃圾回收算法
一、GC垃圾回收算法 1、引用计数法 2、复制算法 这个算法是新生代中常用的GC算法 3、标记清除算法 标记清除算法应用在老年代的GC算法。 4、标记压缩算法 标记压缩算法全称是:标记清除整理算法,其算法的过程是:标记可被回收的对象->将被标记的对象进行垃圾回收(会产生内存碎片)->整理内存空间,解决内存碎片 二、JMM(Java内存模型) ...原创 2021-06-01 21:14:34 · 1485 阅读 · 0 评论