Java入门之了解JVM(24)
程序计数器记录程序的执行位置JVM通过修改程序计数器中的值来进行:分支,循环,跳转等等的操作虚拟机栈每个方法执行时都会在虚拟机栈中生成一个“栈帧”栈帧中包含:局部变量表、操作数栈、动态连接、方法出口等信息其中局部变量表存储了编译期间得知的各种基本数据类型、对象引用等内存本地方法栈本地方法栈和虚拟机栈其实是一样的,不同的地方在于本地方法栈针对的是native修饰的本地方法,即针对java平台无法实现的方法,这些方法调用时,就在本地方法栈中进行操作需要注意的是,在Sun HotSpot虚拟机中,本地方法栈和虚拟机栈是一个东西,即没有区分两者而是二合为一JVM是如何给对象分配内存的
JVM是什么时候得知对象的大小?
对象所需的内存大小在类加载过程完成后就可以得知
关于指针碰撞和空闲列表的概念
指针碰撞:使用"分界点指示器"记录指针位置,通过挪动指针来分配内存,这种分配方式分配出来的空间是规整的,即有规律的分配方式
空闲列表:jvm通过维护一个空间列表来去分配内存,这个空闲列表记录了哪些内存是可用的,在分配空间时,在这个列表种选出一块足够大的内存分配给对象即可,这种分配方式分配的内存时不规整的,即已用内存和空闲内存相互交错
推荐阅读
- 唐僧|tap评分高达9.1,《黑色沙漠》手游终于要来了,你了解了吗?
- viper|最佳外援是VIPER,新任FMVP坐不住了?本土选手机制了解一下
- lpl|LPL为何处理不了猫咪,自身了解太浅,根本不重视S11!
- 传奇|我们玩传奇3不仅仅是游戏,更是情怀和回忆,这款手游你了解吗?
- t1|vivo T1究竟值不值得购买?看了这些后你可能有更深了解
- 使命召唤18|王者荣耀 想要轻松上分英雄克制关系了解一下 公孙离克制上官婉儿
- 暗黑破坏神2|《暗黑破坏神2》七种职业!那个才是最适合新手的入门职业!
- s6|金铲铲之战:测试服内容抢先看,5分钟带你了解S6赛季的变化
- 电影|“王者宇宙”全面开启,三分钟了解官方后续动作,你想要的全都有
- 米哈游|米游社三周年,米哈游游戏的必备软件,你了解多少?