JVM
被子里
我的眼前不是未来,也不是风景,我的眼前只剩下你了
展开
-
cpu高问题分析
1、什么是cpu高的问题?在实际的生产环境中,对程序的性能、占用的资源其实是很敏感的。在这个大环境下,如果某个进程占用的cpu异常的高,势必需要分析cpu高的原因、以及减少其cpu资源2、为什么会发生cpu高的问题?如果需要分析cpu高的原因,就需要对cpu高的原因,有一些初步的判断。一般可以概括为以下几种情况:代码中写死循环时,一直占用cpu 循环中不停的创建对象,也会导致GC频繁 System.currentTimeMillis() 采用这种方式去做计时,大概占用了10-20%cpu原创 2020-09-09 22:24:37 · 752 阅读 · 0 评论 -
jcmd简介
目录一、jdk工具之jps(JVM Process Status Tools)命令使用二、jdk命令之javah命令(C Header and Stub File Generator)三、jdk工具之jstack(Java Stack Trace)四、jdk工具之jstat命令(Java Virtual Machine Statistics Monitoring Tool)四、jdk工具之jstat命令2(Java Virtual Machine Statistics Monitor..转载 2020-08-23 21:29:41 · 2656 阅读 · 0 评论 -
java 编译器工作原理
javai编译过程分析原创 2020-06-14 19:42:54 · 1711 阅读 · 0 评论 -
Full GC触发原理和日志分析
1、Java GC的工作原理GC(garbage collection)是指垃圾回收机制,当一个对象不能再被后续程序所引用到时,这个对象所占用的内存空间就没有存在的意义了,java虚拟机会不定时的去检测内存中这样的对象,然后回收这块内存空间。当可用内存不能满足内存请求时,GC会自动进行。所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xms(程序的初始化内存大小)和-Xmx(程序占用的最大内存)来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Surv原创 2020-05-11 11:32:42 · 2817 阅读 · 0 评论 -
CMS收集器日志分析
1、GC日志参数JVM的GC日志的主要参数包括如下几个:-XX:+PrintGC输出GC日志 -XX:+PrintGCDetails输出GC的详细日志 -XX:+PrintGCTimeStamps输出GC的时间戳(以基准时间的形式) -XX:+PrintGCDateStamps输出GC的时间戳(以日期的形式,如 2017-09-04T21:53:59.234+0800) -XX:+PrintHeapAtGC在进行GC的前后打印出堆的信息 -Xloggc:../logs/gc.lo...原创 2020-06-22 20:17:00 · 942 阅读 · 0 评论 -
JVM垃圾回收前篇 ————垃圾回收算法
消失的垃圾——垃圾回收算法JAVA和C++之间有一堵由内存动态分配和垃圾自动回收的高墙。正所谓,城里的人想出来,城外的人想进去,只因为这两种方式各有利弊。如果更好的使用java,需要我们了解java的垃圾回收机制。今天我们来聊一聊jvm的垃圾回收算法的思想。1、垃圾回收算法的分类:垃圾回收算法,从判定对象消亡的角度上面分类,可以分为“引用计数式垃圾收集”和“追踪式垃圾收集”。主流的java虚拟机用到的大部分都是“追踪式垃圾收集”。2、标记——清除算法:首先标记出所有需要回收的对象,.原创 2020-07-12 23:55:18 · 229 阅读 · 0 评论