jvm
文章平均质量分 94
jvm
Upaaui
渐行渐远渐无书,水阔鱼沉何处问
展开
-
JVM垃圾回收
JVM(Java虚拟机)的垃圾回收是自动管理内存的过程,用于回收不再使用的对象并释放内存资源。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。这种自动化的内存管理机制极大地减轻了开发人员对手动释放内存的负担,提高了开发效率。垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序的结束,被保留的空间无法被其它对象使用,甚至可能导致内存溢出。原创 2023-11-02 13:48:27 · 201 阅读 · 0 评论 -
JVM性能调优-二.流程步骤实践
在内存相对紧张的情况下,可以按照上述的方式来进行内存的调优, 找到一个在GC频率和GC耗时上都可接受的一个内存设置,可以用较小的内存满足当前的服务需要。但当内存相对宽裕的时候,可以相对给服务多增加一点内存,可以减少GC的频率,GC的耗时相应会增加一些。一般要求低延时的可以考虑多设置一点内存, 对延时要求不高的,可以按照上述方式设置较小内存。如果在垃圾回收日志中观察到OutOfMemoryError,尝试把Java堆的大小扩大到物理内存的80%~90%。原创 2023-09-13 15:08:31 · 2569 阅读 · 0 评论 -
JVM性能调优-一.思路方向
(6)吞吐量优先的应用:一般吞吐量优先的应用都有一个很大的年轻代和一个较小的年老代.原因是,这样可以尽可能回收掉大部分短期对象,减少中期的对象,而年老代尽存放长期存活对象.对于GC的性能主要有2个方面的指标:吞吐量throughput(工作时间不算gc的时间占总的时间比)和暂停pause(gc发生时app对外显示的无法响应)。(2)Survivor空间中所有对象大小的总和大于survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,而无需等到年龄阀值。阀值大小一般为15。原创 2023-09-11 14:18:03 · 2879 阅读 · 0 评论 -
JVM垃圾回收器
收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。收集器主要分三类:串行收集器、并行收集器以及并发收集器。原创 2023-09-11 14:16:52 · 2893 阅读 · 0 评论 -
GC 算法与种类
相同点(1)三个算法都基于根搜索算法去判断一个对象是否应该被回收,而支撑根搜索算法可以正常工作的理论依据,就是语法中变量作用域的相关内容。(2)在GC线程开启时,或者说GC过程开始时,它们都要暂停应用程序(stop the world)。区别三种算法比较:效率:复制算法>标记-整理算法>标记-清除算法;内存整齐度:复制算法=标记-整理算法>标记-清除算法内存利用率:标记-整理算法=标记-清除算法>复制算法。原创 2023-09-11 14:14:42 · 2976 阅读 · 0 评论 -
常用JVM配置参数
上方参数的意思是说,执行printstack.bat脚本,而这个脚本做的事情是:D:/tools/jdk1.7_40/bin/jstack -F %1 > D:/a.txt,即当程序OOM时,在D:/a.txt中将会生成。上方日志的意思是说,GC之前,用了4M左右的内存,GC之后,用了374K内存,一共回收了将近4M。原创 2023-09-11 14:13:05 · 3010 阅读 · 0 评论 -
JVM 全面了解
jvm原创 2023-03-02 20:05:00 · 1016 阅读 · 0 评论