随笔分类 -  java JVM

摘要:工具 jvisualvm.exe:JDK自带,\jdk1.8.0_131\bin 方法区内存溢出异常 jdk1.8和1.7自带的hotspot虚拟机的差异了。从jdk1.8开始,自带的hostspot虚拟机取消了过去的永久区,而新增了metaspace区,从功能上看,metaspace可以认为和永久 阅读全文
posted @ 2021-01-09 14:13 小名的同学 阅读(299) 评论(0) 推荐(0)
摘要:强引用 普通的变量引用 public static User user = new User(); 软引用 将对象用SoftReference软引用类型的对象包裹,正常情况不会被回收,但是GC做完后发现释放不出空间存放新的对象,则会把这些软引用的对象回收掉。软引用可用来实现内存敏感的高速缓存。 适用 阅读全文
posted @ 2020-11-22 14:53 小名的同学 阅读(84) 评论(0) 推荐(0)
摘要:-XX:+PrintGCDetails:程序运行的时候打印堆的大小。如果发生GC,会打印GC日志 -Xss:设置的大小是一个线程开辟的空间,设置的越大,系统可开辟的线程数量越少,默认是1M -Xms:堆最小空间 -Xmx:堆最大空间 -Xmn:年轻代 -XX:MetaspaceSize:方法区(jd 阅读全文
posted @ 2020-11-20 17:36 小名的同学 阅读(105) 评论(0) 推荐(0)
摘要:参考:https://blog.csdn.net/sivyer123/article/details/17139443 阅读全文
posted @ 2020-03-12 10:49 小名的同学 阅读(95) 评论(0) 推荐(0)
摘要:我们执行一个类 首先javac命令编译这个类(对编译原理我们不需要做深入了解) 在java命令启动虚拟机对.class文件进行加载和执行 类加载或类初始化 当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成 阅读全文
posted @ 2019-10-06 10:25 小名的同学 阅读(194) 评论(0) 推荐(0)
摘要:垃圾回收过程 任何一种垃圾回收算法一般要做两件基本事情: 1. 发现无用的对象 2. 回收无用对象占用的内存空间。 垃圾回收机制保证可以将“无用的对象”进行回收。无用的对象指的就是没有任何变量引用该对象。Java的垃圾回收器通过相关算法发现无用对象,并进行清除和整理。 如何判断对象可以被回收 1. 阅读全文
posted @ 2019-07-28 19:41 小名的同学 阅读(170) 评论(0) 推荐(0)
摘要:更多了解:https://blog.csdn.net/zhangbaoanhadoop/article/details/82193497 栈的特点如下 1.栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量,引用变量(方法中声明的对象的引用)、操作数、方法出口等) 2.JVM 阅读全文
posted @ 2019-04-05 10:49 小名的同学 阅读(1257) 评论(0) 推荐(0)