JVM学习

Java虚拟机是一种抽象的计算机,只知道class文件格式,

JVM屏蔽操作系统,一次编译到处运行

类加载机制是指我们将类的字节码文件所包含的数据读入内存,同时我们会生成数据的访问入口的一种

JVM类加载机制的三种特性

全盘负责,当一个类加载器负责加载某个Class时,该Class所依赖的和引用的其他Class也将由
该类加载器负责载入,除非显示使用另外一个类加载器来载入

父类委托,“双亲委派”是指子类加载器如果没有加载过该目标类,就先委托父类加载器加载该
目标类,只有在父类加载器找不到字节码文件的情况下才从自己的类路径中查找并装载目标类。

父类委托只是Java推荐的机制,并不是强制的机制

缓存机制,缓存机制将会保证所有加载过的Class都将在内存中缓存,当程序中需要使用某个
Class时,类加载器先从内存的缓存区寻找该Class,只有缓存区不存在,系统才会读取该类对应
的二进制数据,并将其转换成Class对象,存入缓存区。

JVM的设计实际上遵循了遵循冯诺依曼计算机结构

new String()    创建了两个对象:一个在字符串常量池中(如果字符串常量池中还没有 "yzt"),另一个在堆中

方法区是各个线程共享的内存区域,在虚拟机启动时创建

一个Java对象在内存中包括3个部分:对象头、实例数据和对齐填充

内存模型设计之–Class Pointer
内存模型设计之–指针压缩
内存模型设计之–对齐填充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DevanLove

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值