JVM_1内存

在这里插入图片描述
jdk: 有编译器帮我们javac进行编译了。

javac Person.java 编译 生成Person.class文件

sublime可以查看2进制或16进制,查看 编码。oracle官网会有说明。
16进制,u2表示两位数。开头都是cafe babe

在这里插入图片描述

反编译 :javap -c XXX.class > XXX.java

在这里插入图片描述
装载:class -> JVM 类装载器

在这里插入图片描述
这就是双亲委派。根据全限定名来找,依次交给父类,找不到才交给自己。

tomcat就破坏了双亲委派,有自己的类加载器,比如说先加载自己路径下的。

JVM参考了冯诺依曼计算机模型。

在这里插入图片描述

在这里插入图片描述
左边两个(方法区和堆):进程相关。线程共享
右边3个:线程相关。线程私有

运行时常量池已经改成分布到方法区了。
在这里插入图片描述

方法区 和 堆 都会OOM

虚拟机栈:
栈帧:
在这里插入图片描述
在这里插入图片描述
网址:
在这里插入图片描述
例如:
在这里插入图片描述
每一个线程都有一个java虚拟机栈。
在这里插入图片描述
在这里插入图片描述
可以看到上边三个都是线程私有的。

方法区指向堆:static var = new Obj(); 静态成员变量直接new,就是方法区指向堆。

在这里插入图片描述
对象大小必须是8字节的整数倍。
Class Pointer就是指向方法区的。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值