jvm
文章平均质量分 76
sing101
这个作者很懒,什么都没留下…
展开
-
二、对象的创建过程、对象信息、对象访问方式
一.对象创建流程1.当遇到new指令时,检查所要创建的类是否已被加载、解析、初始化过。若没有,将执行类的加载过程。2.为对象分配内存。分配多大在类加载完成后就已得知。分配方式指针碰撞:假设java堆上内存规整,一边是空闲的内存,一边是已使用过的内存。那么分配内存的操作就是,把指针向空闲内存的方向移动一段与对象大小的距离。空闲列表:维护一个记录可用内存块的表,在分配时寻找一块足够大的空间给对象实例,并更新记录。内存分配:虚拟机采用CAS(比较交换)+失败重试的机制...原创 2021-11-22 17:50:54 · 484 阅读 · 0 评论 -
一、JVM内存区域
一、Java虚拟机运行时数据区Java虚拟机运行时数据区,分为五个区。线程私有: 程序计数器、虚拟机栈、本地方法栈线程共享:方法区、堆1.程序计数器如果虚拟机正在执行java方法,则计数器记录的是正在执行的虚拟机字节码指令的地址。执行的是本地方法,计数器值应该为空。程序计数器可以看作当前线程所执行的字节码的行号指示器,改变这个计数器的值来选取下一条执行的字节码指令。在程序中,分支、循环、跳转等操作中都依赖这个计数器。在多线程中,为了线程切换后能恢复到原来位置,线程计数器之间互不影响,所以每原创 2021-11-19 21:31:43 · 752 阅读 · 0 评论