
JVM
文章平均质量分 52
万事无Bug
南昌大学 低调学Java
展开
-
内存溢出(OOM)及解决方案
内存溢出(OOM)及解决方案概念:内存溢出(Out Of Memory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。造成主要原因:1、内存泄漏由于长期保持某些资源的引用,垃圾回收器无法回收它,从而使该资源不能够及时释放,也称为内存泄露。因而尽量不要将所有引用都使用为强引用,可以在合适的地方使用弱引用和软引用。2、超大对象保存多个耗用内存过大或当加载单个超大的对象时,该对象的大小超过了当前剩余的可用内存空间。比如查询数据库中的数原创 2021-09-04 22:30:12 · 5239 阅读 · 1 评论 -
ZGC垃圾收集器
ZGC垃圾收集器简述:ZGC垃圾收集器是在JDK11新增的具有实验性质的低延迟垃圾收集器。其目的是尽可能对吞吐量影响不大的前提下,实现在任意堆内存大小下都可以把垃圾收集的停顿时间限制在10毫秒以内的低延迟。内存布局及技术:ZGC是一款基于Region内存布局,(暂时)不设置分代的,使用了读屏障,染色指针和内存多重映射等技术来实现的可并发的标记——整理算法的,以低延迟为首要目标的一款垃圾收集器。内存分配:ZGC的Region可以具有大、中、小三类容量:小型Region:容量固定为2MB,用于放原创 2021-09-01 23:32:05 · 361 阅读 · 0 评论 -
Java类加载
Java类加载机制类加载器:1、启动类加载器(C++实现的)加载JDK/JRE/LIB目录下的,以java.开头的类2、扩展类加载器加载JDK/JRE/LIB/EXT 目录下的 以javax.开头的类3、系统类加载器4、自定义类加载器自己定义的类,通过这个加载器加载类加载条件:Java类的加载是一个按需加载的过程,当出现以下情况时,类才会被加载:1、创建了类的实例2、访问了某个类或接口的静态变量,或者对该变量赋值3、调用了类的静态方法4、反射5、初始化一个类的子类(会先初始化其原创 2021-08-18 20:23:39 · 141 阅读 · 0 评论