JVM
文章平均质量分 82
。
这个作者很懒,什么都没留下…
展开
-
对象中JVM中
在堆中划出一部分作为句柄池,reference存储对象的句柄地址,句柄中包含对象的实例数据地址信息和对象类型数据地址信息。例如线程A给对象A分配内存,指向了一个指针进行分配。选择哪种方法由空间压缩算法决定,例如标记清除(只能用空闲指针)算法,标记复制算法,标记整理算法。好处:具有稳定的句柄地址,reference指向句柄地址不会变,对象被移动只需要改变句柄的指针。可以通过reference直接访问对象实例,访问对象的类的数据的话还是需要指针。好处:开销降低,指向实例数据的话只要一次指向。原创 2024-07-25 14:03:17 · 340 阅读 · 0 评论 -
字节码的执行引擎
栈帧需要分配的内存只取决于程序源码和虚拟机的内存布局,不受程序运行时的变量影响,因为栈帧所需要多大的局部变量表和操作数栈在编译源码时已经被分析出来了,并写到了方法表的code属性中。方法无论以哪种方式退出,都必须返回最初方法被调用的位置,程序才能继续执行,一般来说,方法正常退出时,主调方法的pc计数器的值是方法返回地址。虚拟机在重载时是根据参数的静态类型而不是实际类型决定的,在调用重载方法时,根据静态类型选择对应参数的重载方法。只有位于栈顶的栈帧才是真正运行的,被称为当前栈帧,该方法被称为当前方法。原创 2024-07-25 13:59:28 · 465 阅读 · 0 评论 -
垃圾收集器与内存分配策略
程序计数器,虚拟机栈,本地方法栈随着线程而生,随着线程死,栈中的栈帧在方法执行后会自动出栈,所以这几部分不需要垃圾回收。而堆和方法区具有不确定性,内存的分配回收都是动态的,需要垃圾回收机制。堆中主要回收对象,方法区主要回收废弃的常量和不再使用的类。原创 2024-07-25 13:53:22 · 739 阅读 · 0 评论 -
类加载机制
类加载机制:jvm把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。原创 2024-07-25 13:56:30 · 784 阅读 · 0 评论 -
JVM数据区
jvm运行时数据区。原创 2024-07-25 13:54:48 · 302 阅读 · 0 评论