![](https://img-blog.csdnimg.cn/aed45d2d568d419d8a3db5d7ca3275ed.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM笔记
文章平均质量分 86
jvm的学习笔记
lanleihhh
求其上者得其中
展开
-
关于 Object obj = new Object()
jvm遇到new指令,检查能否在常量池中定位到一个类的符号引用,检查这个符号引用代表的类是否已经经历类加载的过程,没有就执行类加载。内存分配完成后,jvm将除对象头之外的内存空间都初始化为零值,保证对象的字段可以不初始化直接使用。MarkWord=8字节,ClassPointer=4字节,ArrayLength=4字节。new一个长度为10的数组,一个元素的引用占4字节,所有元素引用一共占40字节。栈上的引用变量,是由JVM来实现访问对象的方式的。引用类型的变量默认开启压缩,压缩后是4字节。......原创 2022-07-20 11:48:47 · 1484 阅读 · 0 评论 -
关于对象创建的几个问题
1. new 关键字创建2. 克隆 clone3. 类名.class.newInstance()4. Class.forName(“全类名”).newInstance();5. 类名.class.getConstructor().newInstance();6. 反序列化对象的分配内存方式由采用的垃圾回收器来决定:因为指针碰撞是内存空间被划分为 使用区 和 空闲区 ,是经过压缩整理的空间,压缩整理是Serial、ParNew、Serial Old 、 ParNew Old 这些垃圾回收器的功能,使原创 2022-07-08 19:19:24 · 220 阅读 · 0 评论 -
JVM学习笔记:垃圾回收机制
运行的程序中没有任何引用指向的对象若不及时回收清理,垃圾对象所占空间一直得不到释放,可能最终导致OOM内存溢出引用计数算法(Reference Counting)对每个对象保存一个整形的引用计数器,记录对象被引用的情况对于obj对象优点:缺点:也叫根可达算法、根搜索算法可达性分析算法和引用计数算法相比较:先建立一个GCRoots的概念思路:总结:虚拟机栈、本地方法栈、方法区、字符串常量池等对堆空间进行引用的都可以作为GCRoots进行可达性分析优点:效率高,不产生内存碎片缺点:需要2倍的空间在新生代中原创 2022-06-04 21:18:35 · 147 阅读 · 1 评论 -
JVM学习笔记:三 本地方法接口、执行引擎
执行引擎是JVM的核心组成部分之一JVM将字节码装载到内存,字节码不是可执行的机器码,需要经过执行引擎将字节码解释/编译为对应平台上的机器指令。执行引擎在JVM中扮演一个将高级语言翻译为机器语言的角色JIT即时编译器是Java后来有的,原先就是解释执行JVM会针对使用频率较高的热点代码进行编译,缓存到方法区,执行效率高JIT编译器编译过程需要时间,但是执行效率高。程序一启动,解释器马上响应,去解释执行。将两者结合,JVM启动后,先通过解释器解释执行代码,之后使用编译器编译执行。采用解释器和即时编译器并存的原创 2022-06-02 16:38:42 · 169 阅读 · 0 评论 -
JVM学习笔记:二:类加载、运行时数据区(程序计数器、虚拟机栈、本地方法栈、方法区、堆)
类加载子系统,双亲委派机制,运行时数据区原创 2022-03-10 17:14:15 · 809 阅读 · 0 评论 -
JVM学习笔记(一:JVM概述)
JVM学习笔记:一:JVM概述JVM概述JVM的作用JVM 特点JVM的位置JVM的组成Java代码的执行流程JVM 架构模型虚拟机:Virtual Machine ,是一款软件,用来执行一系列计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。VMware属于系统虚拟机,是对物理计算机的仿真,提供了一个可运行完整操作系统的平台。JVM 属于程序虚拟机,它专门为执行某个计算机程序而设计。JVM概述JVM(Java Virtual Machine)Java虚拟机在JVM中执行的指令称为原创 2022-02-28 20:56:55 · 510 阅读 · 0 评论