java虚拟机的内存模型是什么
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章给大家介绍java虚拟机的内存模型是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java内存结构和java内存模型的区别。往往很多人会搞起来。这里主要对这2种进行解
千家信息网最后更新 2025年02月06日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安全错误
数据库的锁怎样保障安全
小区开放对交通的影响数据库
软件开发为何采用工程化方法
潍柴软件开发怎么样
ff14服务器人数排行
正式沟通网络技术考点
dvcs服务器
网络安全基础实施
遵守网络安全法
手抄报网络安全教学
软件开发和信息技术类
兴田网络技术有限公司
远瑜网络技术有限公司
摩托日记软件开发
数据库 分类
租赁外卖平台软件开发
网络安全的智能算法
四川网络安全人才
浦东新区水性网络技术品牌
服务器ups电源怎么充电
数据库的核心技术是
盐城台式机服务器
软件开发为何采用工程化方法
网络安全后台
软件开发每天都要记录日志吗
乌鲁木齐小程序软件开发公司
衢州大数据分布式存储数据库
什么层是网络技术设施
富士康JAVA软件开发
jabber 服务器
山西璟舸互联网科技有限公司