Java各类技能知识点学习链接大全:三、JVM相关
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java各类技能知识点学习链接大全:三、JVM相关,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5164字,纯文字阅读大概需要8分钟。
内容图文
![Java各类技能知识点学习链接大全:三、JVM相关](/upload/InfoBanner/zyjiaocheng/595/376df37558c74a4e9cf75e7a99ec90da.jpg)
以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)
三、JVM相关
1、使用 VisualVM 进行性能分析及调优
https://www.ibm.com/developerworks/cn/java/j-lo-visualvm/
2、JDK8中JVM堆内存划分
https://www.cnblogs.com/jtlgb/p/10276258.html
3、Jvm调优系列
https://www.cnblogs.com/andy-zhou/p/5327288.html
4、如何在CMS和G1之间选择垃圾回收器:
https://zhuanlan.zhihu.com/p/59861022
5、堆中年轻代、老年代区分
https://www.cnblogs.com/crazy-lc/p/12636927.html
6、阿里JVM专家—— 寒泉子博客
https://yq.aliyun.com/users/twvy4bo6n4ey2
7、Java中的NIO为什么用直接内存,而不用堆heap内存
https://cloud.tencent.com/developer/article/1586341
https://www.cnblogs.com/stevenczp/p/7506280.html
https://www.cnblogs.com/yanl55555/p/13334667.html
8、Java中9种常见的CMS GC问题分析与解决 (美团技术博客)
https://tech.meituan.com/2020/11/12/java-9-cms-gc.html
9、Jvm 启动常见参数 :
https://blog.csdn.net/kthq/article/details/8618052
10、从实际案例聊聊Java应用的GC优化(美团技术博客)
https://tech.meituan.com/2017/12/29/jvm-optimize.html
11、JVM系列详解:
https://www.cnblogs.com/ysocean/p/9345787.html
https://www.cnblogs.com/ysocean/p/9345622.html
https://www.cnblogs.com/ysocean/p/11108933.html
https://www.cnblogs.com/ysocean/p/11117365.html
(5)Java虚拟机详解(五)------JVM参数(持续更新)
https://www.cnblogs.com/ysocean/p/11109018.html
https://www.cnblogs.com/ysocean/p/11117359.html
(7)Java虚拟机详解(七)------虚拟机监控和分析工具(1)——命令行
https://www.cnblogs.com/ysocean/p/11311667.html
(8)Java虚拟机详解(八)------虚拟机监控和分析工具(2)——可视化
https://www.cnblogs.com/ysocean/p/11415514.html
12、Java8内存模型—永久代(PermGen)和元空间(Metaspace)
https://www.cnblogs.com/paddix/p/5309550.html
https://www.jianshu.com/p/92a5fbb33764
https://www.jianshu.com/p/a6f19189ec62
https://www.jianshu.com/p/1a0b4bf8d498
13、深入理解垃圾收集器和收集器的选择策略
https://blog.csdn.net/killuazoldyck/article/details/75081875
(对于吞吐量优先的场景,就只有一种选择,就是使用 PS 组合(Parallel Scavenge+Parallel Old )。
对于响应时间优先的场景,在 JDK1.8 的话优先 G1,其次是 CMS 垃圾回收器,另外还有PN、ZGC、Shenandoah。)
14、jvm垃圾回收器(串行、吞吐量优先、响应时间优先、G1)
https://www.cnblogs.com/zhai1997/p/12925364.html
15、JVM的永久代中会发生垃圾回收吗? 参考《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》
有些人认为方法区(如HotSpot虚拟机中的元空间或者永久代)是没有垃圾收集行为的,《Java虚
拟机规范》中提到过可以不要求虚拟机在方法区中实现垃圾收集,事实上也确实有未实现或未能完整
实现方法区类型卸载的收集器存在(如JDK 11时期的ZGC收集器就不支持类卸载),方法区垃圾收集
的“性价比”通常也是比较低的:在Java堆中,尤其是在新生代中,对常规应用进行一次垃圾收集通常
可以回收70%至99%的内存空间,相比之下,方法区回收囿于苛刻的判定条件,其区域垃圾收集的回
收成果往往远低于此。
方法区的垃圾收集主要回收两部分内容:废弃的常量和不再使用的类型。回收废弃常量与回收
Java堆中的对象非常类似。举个常量池中字面量回收的例子,假如一个字符串“java”曾经进入常量池
中,但是当前系统又没有任何一个字符串对象的值是“java”,换句话说,已经没有任何字符串对象引用
常量池中的“java”常量,且虚拟机中也没有其他地方引用这个字面量。如果在这时发生内存回收,而且
垃圾收集器判断确有必要的话,这个“java”常量就将会被系统清理出常量池。常量池中其他类(接
口)、方法、字段的符号引用也与此类似。
判定一个常量是否“废弃”还是相对简单,而要判定一个类型是否属于“不再被使用的类”的条件就
比较苛刻了。需要同时满足下面三个条件:
·该类所有的实例都已经被回收,也就是Java堆中不存在该类及其任何派生子类的实例。
·加载该类的类加载器已经被回收,这个条件除非是经过精心设计的可替换类加载器的场景,如
OSGi、JSP的重加载等,否则通常是很难达成的。
·该类对应的java.lang.Class对象没有在任何地方被引用,无法在任何地方通过反射访问该类的方
法。
Java虚拟机被允许对满足上述三个条件的无用类进行回收,这里说的仅仅是“被允许”,而并不是
和对象一样,没有引用了就必然会回收。关于是否要对类型进行回收,HotSpot虚拟机提供了Xnoclassgc参数进行控制,
还可以使用-verbose:class以及-XX:+TraceClass-Loading、-XX:
+TraceClassUnLoading查看类加载和卸载信息,其中-verbose:class和-XX:+TraceClassLoading可以在
Product版的虚拟机中使用,-XX:+TraceClassUnLoading参数需要FastDebug版[1]的虚拟机支持。
在大量使用反射、动态代理、CGLib等字节码框架,动态生成JSP以及OSGi这类频繁自定义类加载
器的场景中,通常都需要Java虚拟机具备类型卸载的能力,以保证不会对方法区造成过大的内存压
力。
16、JVM监控命令:jps jstat jmap jhat jstack jinfo,可视化监控工具:jvisualvm、jconsole介绍:
https://www.cnblogs.com/ityouknow/p/5714703.html
https://segmentfault.com/a/1190000021547646
17、新一代垃圾回收器ZGC的探索与实践(基于JDK版本11)
https://blog.csdn.net/MeituanTech/article/details/107853015 (美团技术博客)
18、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法
https://blog.csdn.net/gaoyong_stone/article/details/79540242
19、阿里面试100%问到,JVM性能调优篇
https://www.toutiao.com/a6683710658250277380/
https://www.163.com/dy/article/ECM391VV0520O9RL.html(同上)
内容总结
以上是互联网集市为您收集整理的Java各类技能知识点学习链接大全:三、JVM相关全部内容,希望文章能够帮你解决Java各类技能知识点学习链接大全:三、JVM相关所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。