
jvm
文章平均质量分 85
Java道哥
汲取 传承 打造开源影响力
展开
-
JVM中的[Ljava.lang.Object; 究竟是什么意思?
这就是表示一个方法,方法有三个参数,类型分别为I,D,L。然后L类型要跟具体的类型,然后以"/"替换包名的".",L类型的要以“;先来简单的说一下, "["表示数组,后面跟着的是具体的类型。你是不是经常看到控制台输出如题的日志,而似懂非懂的。今天我们就来介绍下这些L啦究竟是些什么东东。大多是基本类型的首字母大写,转载 2022-10-23 05:08:03 · 2992 阅读 · 0 评论 -
JVM性能调优详解
前面我们学习了整个JVM系列,最终目标的不仅仅是了解JVM的基础知识,也是为了进行JVM性能调优做准备。这篇文章带领大家学习JVM性能调优的知识。转载 2022-10-23 04:09:19 · 171 阅读 · 0 评论 -
【有料】【JVM进阶之路】十:JVM调优总结
6、为了验证自己的猜想,于是准备登录后台去测试下,结果在测试的过程中发现到处订单的按钮前端居然没有做点击后按钮置灰交互事件,结果按钮可以一直点,因为导出订单数据本来就非常慢,使用的人员可能发现点击后很久后页面都没反应,结果就一直点,结果就大量的请求进入到后台,堆内存产生了大量的订单对象和EXCEL对象,而且方法执行非常慢,导致这一段时间内这些对象都无法被回收,所以最终导致内存溢出。注意:此处的大小是(eden+ 2 survivor space).与jmap -heap中显示的New gen是不同的。转载 2022-10-22 22:21:45 · 270 阅读 · 0 评论 -
【有料】调试排错 - Java 问题排查之工具单
著作权归https://pdai.tech所有。Java 在线问题排查主要分两篇:本文是第二篇,通过java调试/排查工具进行问题定位。@pdai。转载 2022-10-10 20:18:51 · 203 阅读 · 0 评论 -
【有料】面试必备:什么时候要打破双亲委派机制?什么是双亲委派? (图解+秒懂+史上最全)
当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。转载 2022-10-10 02:11:28 · 3715 阅读 · 1 评论 -
一次恐怖的 Java 内存泄漏排查实战
程序运行以来共发生Minor GC(YGC,表示Young GC)101次,总耗时1.961秒,发生Full GC(FGC,表示Full GC)7次,Full GC总耗时3.022秒,总的耗时(GCT,表示GC Time)为4.983秒。因此,从根本上解决Java内存溢出的唯一方法就是修改程序,及时地释放没用的对象,释放内存空间。——我以前是使用这个方法。Memory Leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。转载 2022-09-08 01:59:33 · 1130 阅读 · 0 评论 -
【有料】G1 收集器原理理解与分析
G1收集器是一款在server端运行的垃圾收集器,专门针对于拥有多核处理器和大内存的机器,在JDK 7u4版本发行时被正式推出,在JDK9中更被指定为官方GC收集器。它满足高吞吐量的同时满足GC停顿的时间尽可能短。G1收集器专门针对以下应用场景设计可以像CMS收集器一样可以和应用并发运行压缩空闲的内存碎片,却不需要冗长的GC停顿对GC停顿可以做更好的预测不想牺牲大量的吞吐量性能不需要更大的Java HeapG1从长期计划来看是以取代CMS为目标。...转载 2022-08-31 14:07:33 · 512 阅读 · 0 评论 -
【有料】弄明白CMS和G1,就靠这一篇了
查了下度娘有关G1的文章,绝大部分文章对G1的介绍都是停留在JDK7或更早期的实现很多结论已经存在较大偏差了,甚至一些过去的GC选项已经不再推荐使用。举个例子,JDK9中JVM和GC日志进行了重构,如PrintGCDetails已经被标记为废弃,而PrintGCDateStamps已经被移除,指定它会导致JVM无法启动。本文对CMS和G1的介绍绝大部分内容也是基于JDK7,新版本中的内容有一点介绍,倒没做过多介绍(本人对新版本JVM还没有深入研究),后面有机会可以再出专门的文章来重点介绍。...转载 2022-08-31 11:15:28 · 412 阅读 · 0 评论 -
线上java程序CPU占用过高问题排查
简要工作中负责的有一个项目是使用iReport+JasperReport实现的一个打印系统。最近这个线上程序经常无响应,重启后恢复正常,但是时不时还是会出现类似的问题。最后发现是JasperReport的一个问题。有个JasperReport的转换任务内存占用特别高,当新对象需要分配内存时就会内存不够了,于是GC线程就不断GC,占用CPU。导致系统CPU占用超高。下面说下问题排查的一个思路步骤基本环境tomcat 7JDK 7Linux问题定位查看后台异常通过查看系统的后台日志,发现转载 2021-05-31 21:02:51 · 1472 阅读 · 0 评论