![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM学习笔记
文章平均质量分 84
JVM全套学习笔记
甲 烷
喜欢通过博客分享、梳理所学编程知识。
展开
-
JVM 整理总结
JVM相关知识点原创 2022-07-03 20:09:38 · 569 阅读 · 14 评论 -
【JVM】垃圾回收算法与垃圾回收器
垃圾回收概述垃圾: 指在运行程序中没有任何指针指向的对象GC行为只在堆空间 和 方法区【元空间】垃圾回收相关算法标记阶段首先区分哪些是存活对象,哪些是死亡对象,称为垃圾标记阶段。判断存活一般有两种方式:引用计数算法,和可达性分析算法引用计数算法对每个对象保存一个整型的引用计数器属性,用于记录对象被引用的情况,对象A被引用了,则A的引用计数器加1,引用失效则减1,计数器为0,则说明A不可能再被使用,可进行回收。优点:实现简单,垃圾对象便于辨识,判定效率高,回收没有延迟缺点:增加了空间开销,原创 2022-02-24 20:13:14 · 339 阅读 · 0 评论 -
【JVM 学习】-运行时数据区
运行时数据区原创 2021-11-18 22:00:52 · 250 阅读 · 0 评论 -
【jvm学习】执行引擎
执行引擎概述物理机的执行引擎是建立在处理器、缓存、指令集、和操作系统层面的。虚拟机得执行引擎是由软件自行实习的,能够执行那些不被硬件直接支持的指令集格式。执行引擎的任务就是将字节码指令 解释/编译【后端编译】 为对应平台上的本地机器指令Java代码编译和执行的过程解释器当Java虚拟机启动时,会根据预定义的规范,对字节码采用逐行解释的方式执行,将每条字节码文件中的内容“翻译"为对应平台的本地机器指令执行。字节码解释器: 执行时通过纯软件代码模拟字节码的执行,效率非常地下模板解释器:将每一条原创 2021-12-12 15:32:13 · 2027 阅读 · 0 评论 -
【JVM学习】对象的实例化方法及过程、内存布局、访问定位、直接内存
思维导图:https://www.processon.com/view/link/61b0b5d27d9c082bff47392c对象的实例化方法及过程对象的实例化的过程加载类元信息为对象分配内存处理并发问题属性的默认初始化(零值)设置对象头的信息【类的元数据信息、hashCode、GC信息、锁信息】属性显式初始化、代码块中,构造器中初始化内存布局对象访问定位通过栈上的reference访问Java堆中的对象,再通过对象自带的类型数据指针,指向方法区获取到对象的类型数据直接内存原创 2021-12-08 22:14:34 · 379 阅读 · 0 评论 -
【JVM学习】StringTable(字符串常量池)—— 字节码角度解释各种String对象的创建与比较
String 的基本特性两种实例化方式String s1 = "hello";//字面量的定义方式String s2 = new String("hello");String 声明为final, 是不可被继承的String实现了Serializable接口,表示支持序列化; 实现了Comparable接口,表示支持比较大小JDK1.8及之前String底层是char[] 数组, 而JDK1.9之后变成byte[] 数组加上编码标记,节约了一些空间String的不可变性,不管是拼接还是API的原创 2021-12-12 23:04:23 · 301 阅读 · 0 评论 -
【JVM 学习】-类加载子系统
JVM 概述JVM 架构模型指令集架构: 一种是基于栈的指令集架构, 另一种是基于寄存器的指令集架构。由于跨平台性的设计,Java的指令都是根据栈来设计的栈:跨平台性、指令集小、指令多、执行性能比寄存器差。设计实现简单JVM生命周期JVM的启动.JVM的执行执行Java程序的时候真正执行的是Java虚拟机进程JVM的退出.HotSpot VM Java默认虚拟机热点代码探测技术通过计数器找到最具编译价值代码,触发即时编译或栈上替换通过编译器与解释器协同工作,在最优化的程序响原创 2021-11-05 18:15:40 · 130 阅读 · 0 评论