![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
xiaoshijiu333
farewell
展开
-
开启-XX:+PrintGCDetails,具体日志内容分析
看一段程序 package day20200314; import java.lang.ref.SoftReference; /** * @Author: xiaoshijiu * @Date: 2020/3/14 * @Description: 分析GC打印的日志具体内容 */ public class GCDetailsAnalyze { public static vo...原创 2020-03-14 22:05:12 · 7479 阅读 · 3 评论 -
JVM常见命令与参数设置
jps,查看正在运行的Java进程,如jps -l jstack + “进程号”,分析该Java进程的栈空间情况 jinfo + “-flag” + “参数” + “进程号”,查看该Java进程的该项参数的大小(K-V型)或者是否开启了(是否型) jinfo + “-flags” + “进程号”,查看该Java进程的所有相关系数情况 jconsole,调出Java可视化监控管理...原创 2020-03-14 21:03:54 · 354 阅读 · 0 评论 -
双亲委派机制源码分析以及自定义类加载器
双亲委派 双亲委派:如果一个类加载器收到了加载某个类的请求,则该类加载器并不会去加载该类,而是把这个请求委派给”父类加载器“,每一个层次的类加载器都是如此,因此所有的类加载请求最终都会传送到顶端的启动类加载器;只有当”父类加载器“在其搜索范围内无法找到所需的类,并将该结果反馈给子类加载器,子类加载器会尝试去自己加载。 jvm中加载器层次关系: 启动类加载器BootStrapClassLoade...原创 2020-02-29 23:49:18 · 408 阅读 · 0 评论 -
类的加载过程中的准备阶段和初始化阶段,对静态变量的处理
问题引入 class MyObject { static int num1 = 100; static int num2 = 100; static MyObject myObject = new MyObject(); public MyObject() { num1 = 200; num2 = 200; } @...原创 2020-02-28 21:38:09 · 1183 阅读 · 4 评论 -
虚引用所指向的对象到底什么时候被回收?
虚引用对象到底什么时候被回收? 晚上被这个问题干了一个多小时。。。 问题来源代码: import java.lang.ref.PhantomReference; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; /** * @Author: xiaoshijiu * @Date: 2020/2/27 *...原创 2020-02-28 00:15:37 · 2576 阅读 · 5 评论 -
Java中四种引用概念分析以及代码使用示例
强引用 强引用一般就是我们经常见到使用的引用关系,通过new一个对象,建立一个强引用关系;如:Person person=new Person() 即使内存不够报OOM,GC也不会回收强引用对象; 软引用 在Java中通过SoftReference建立软引用关系 软引用特点就是:在内存不足的时候会回收该对象,内存足够的时候不会回收 import java.lang.ref.SoftReferenc...原创 2020-02-27 23:28:17 · 230 阅读 · 0 评论