java虚拟机的内存模型是什么
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章给大家介绍java虚拟机的内存模型是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java内存结构和java内存模型的区别。往往很多人会搞起来。这里主要对这2种进行解
千家信息网最后更新 2024年11月30日java虚拟机的内存模型是什么
这篇文章给大家介绍java虚拟机的内存模型是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Java内存结构和java内存模型的区别。往往很多人会搞起来。这里主要对这2种进行解释并进行操作。经实践会JVM调优和不会JVM调优差别确实很大,足足可以提升服务器一倍的性能。
java内存结构:所谓的堆,栈,方法区和本地方法栈
java内存模型:
image.png
image.png
image.png
image.png
image.png
image.png
这个堆栈分配在idea中设置的地方
image.png
新生代设置比较小的话,垃圾回收会频繁去回收,否则内存不够用,频繁回收又影响性能,不回收又会导致内存溢出,所以这个配比很关键一般设置虚拟机内存大小都是为当前PC的内存大小,新生代和老年代的内存比例是1:2,一般老年代都会多点,因为这样可以减少垃圾回收的次数,提高性能。初始堆内存和最大堆内存设置一样。内存溢出,有栈溢出和堆溢出,栈溢出就像下面的死循环,这个在栈当中申明的int最大只能到一定的数字
image.png
image.png
总结:jvm参数调优,主要设置堆内存,主要让gc不要去频繁去回收垃圾,减少对老年代的回收。
image.png
这里题外介绍个知识点:什么叫守护线程
gc线程就是守护线程:主线程挂了,gc线程也挂了非守护线程就是主线程挂了,但是new Thread依然在执行。如果要把非守护线程变成守护线程,需要使用join,例:new Thread().setDeamon();
image.png
接下来介绍几个垃圾回收机制的算法
1.引用计算法
image.png
2.标记清除算法
image.png
3.复制算法。缺点是可用内存是原来内存的一半
image.png
4.标记压缩算法
image.png
5.GC分代算法
就是根据新生代和老年代进行垃圾回收,一般新生代回收的较多,老年代回收的较少,所以应该要避免老年代的gc回收,老年代回收比较慢
垃圾回收时的停顿现象每次gc回收的时候,其他所有线程都会停顿,如果不停顿的话,那又有可能使用对象,或者新增对象,不便于垃圾清理。垃圾收集器:串行回收---单线程(单核回收)并行回收---多线程(多核回收) 企业用的比较多,性能好CMS回收---并行GC,用标记清除算法进行回收,性能是最好的,一般用并行回收就可以了G1回收,是在jdk1.7提出来的,用的比较少
测试接口吞吐量
启动jmeter测试工具,压力测试工具,主要测试网站的吞吐量,就是每秒能被访问多少次
image.png
image.png
image.png
image.png
image.png
关于java虚拟机的内存模型是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
内存
线程
垃圾
年代
算法
性能
模型
就是
新生
新生代
测试
频繁
标记
内容
吞吐量
大小
对象
工具
方法
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河北程序软件开发常用解决方案
新建数据库为什么是灰色的
服务器出错怎么办
战地1加入服务器一直在加载
数据库操作实训原理是什么
无线无网络安全
穿越火线卡在服务器里怎么解锁
数据库重命名表名sql
内部聊天软件开发
数据库查看表结构代码
闪阅精灵软件开发商
数据库读写瓶颈
深圳视频安防软件开发价钱
化学行业的软件开发
数据库管理技术简称
网络安全笔试题库 附答案
行政决策对网络技术的影响
星辰网络技术工作室
翻墙的服务器地址
html显示数据库中图片地址
网络安全有
山东省税务系统网络安全问卷
地铁管理系统一般用多少台服务器
乐唯科技互联网开发
数据库读写瓶颈
eplan 数据库
软件开发与维护岗位职责
dayz官方服务器
5g软件开发商是哪国的
十年后网络安全