您的位置:首页 >滚动 >

Jvm内存模型剖析优化-JVM(四)

2023-07-02 23:07:34    来源:YouTube热点视频

上篇文章代码实例详解如何自定义双亲委派,主要实现ClassLoader,有两个方法,一个直接loadClass用父类的,如果想在破坏,则需要重写loadClass,一个findClass必须要重新,因为父类是空的,也是用defindClass的方法,传入加载类的二进制数据和大小。


【资料图】

一、tomcat如何加载包

Tomcat会部署多个不同的应用程序,而不同的应用程序应该加载自己的war包,不能和双亲委派一样,这样就会导致不同应用程序没有隔离性,于是tomcat的核心打破双亲委派。



我们上篇文章的代码其实已经实现了tomcat设计,tomcat会优先加载自定义的类库,而核心类库和tomcat自己的类库肯定不同的程序加载同一个,继续向上双亲委派。

于是我们在main方法再加几行代码,于是就可以看到两个相同的名称但是都可以加载成功并且打印出来。为什么jsp不需要重启tomcat也可以生效呢,jsp就是一个sevlet类,会生成自己的加载器。


二、Jvm内存模型

Java堆、方法区(元空间)、栈(线程)、本地方法栈、程序计数器。



栈这块放的是局部变量,官网叫虚拟机栈,又叫线程栈,当程序在修改数据的时候,并不是直接修改这个数据,而是java虚拟机会建立一个局部内存,放当前线程修改的值。



找到我们之前使用的类,用命令进行反汇编

Javap -c Main230629.class > Main230629.txt

针对我们jvm执行的是.classe二进制文件,其实执行的就是我们如图的txt里面的代码。


线程栈有哪些空间呢?

局部变量表操作数栈动态链接方法出口


那这些值是什么意思呢?

iconst_1:将int类型常量1压入 操作数栈

istore_1:将int类型的值存入 局部变量

...

前面四行代码对应的就是java赋值操作

Int a = 1 和 int b =2


iload_1:从局部变量1 装载int类型的值

Iadd:执行int类型加法

istore_3:给局部变量3分配 内存空间

iload_3:从局部变量3 装载int类型值

Ireturm:把值返回到主线程


程序计数器也是每个线程独有的内存空间,看图里每行都有一个数字,这个数字就是这行代码对应的位置,就是程序计数器的值。

方法区(元空间)放的是:常量+静态变量+类的信息,而内存地址放在堆。


每个线程都独有:本地方法栈,栈和程序计数器。不会共享

方法区和堆则是共享的。


堆无非就是年轻代和老年代。正常年轻代占三分之一,老年代占三分之二。Eden和survivor区,Eden占十分之八,s0和s1分别占十分之一。

正常情况对象都在Eden区。


第一次gc:

现在有一个系统,不断产生对象都放在Eden,这时候放满就会有YongGc,也就是minor GC,后台有现场进行minorGc。

第二次gc:

当找到非垃圾对象,这时候不会gc,则会赋值到survivor区域的s0。剩下在Eden区域的垃圾对象,直接干掉。

这时候这两个对象经过minorGc分代年龄加1,并且放入s0。

第三次gc:

这时候会把s0和Eden的对相亲全部干掉,如果这时候还有非垃圾对象存在,这时候会赋值到S1里,并且分代年龄+1。(会在s0和s1挪来挪去)

当这个对象分代年龄随着增加到了15的时候,于是到了来年代。

(老年代会有什么数据,静态变量,静态对象,缓存,缓存对象,spring容器里的对象)

关键词:

相关阅读

精彩放送

【天天报资讯】红豆股份(600400.SH)将于7月7日发放2022年度现金红利 每股派0.03元

三水合乙酸钠商品报价动态(2023-07-02)|动态

全国夏播粮食播种面积已过八成 天天快消息

天天热文:Statcounter:Chrome 浏览器地位稳固,Safari市场份额达到新高度

讯息:李兰娟是哪里人士_李兰娟是哪里人

焦点简讯:上银基金:想要多一点从容少一点慌张,该选什么基?

大运会火炬“蓉火”今天开始在成都市内传递|全球热门

天天通讯!和胜股份:和胜新能源扩产项目奠基典礼举行,项目投资约10亿元

天天热文:Statcounter:Chrome 浏览器地位稳固,Safari市场份额达到新高度

讯息:李兰娟是哪里人士_李兰娟是哪里人

焦点简讯:上银基金:想要多一点从容少一点慌张,该选什么基?

大运会火炬“蓉火”今天开始在成都市内传递|全球热门

天天通讯!和胜股份:和胜新能源扩产项目奠基典礼举行,项目投资约10亿元

高考填志愿生意有多火?张雪峰一对一课已排到2025年,有公司毛利率约80% 观焦点

李易峰演过的电视剧图片大全集_李易峰演过的电视剧

如何安装视频app(如何安装视频) 环球时讯

世界今亮点!中医如何治疗妇科炎症_如何治疗妇科炎症

龙族5 王者的选择是什么_龙族5 王者的选择-当前观点