最新 最热

Windows 10 电脑垃圾清理教程,缓存垃圾清理

Windows 10是目前广泛使用的操作系统之一。由于长时间运行Windows 10电脑,会积累大量临时文件、日志和其他不需要的文件,导致系统变慢并占用磁盘空间。...

2023-04-10
1

闲谈java9到20

自从java9开始商用后,到现在一直停留在java8上。去年偶然看过说java17之后开始不商用了,而且springboot3和spring6最低要求JDK17,奈何太忙了一直没时间去梳理。趁现在这段时间得空,从9开始到20,逐个的去梳理下,看看有哪些变...

2023-04-08
1

【Java 虚拟机原理】垃圾收集器 ( Serial | ParNew | Parallel Scavenge | CMS | Serial Old - MSC | Parallel Old )

参考 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS 并发标记清除收集器 ) 博客 ;

2023-03-29
1

【Java 虚拟机原理】垃圾回收算法 ( Java 虚拟机内存分区 | 垃圾回收机制 | 引用计数器算法 | 引用计数循环引用弊端 )

空间 ; 老年代又称为永生代 , 只要程序没有 OOM 崩溃 , 这些 对象都是永生的 ; 比较大的对象直接放入老年代 ;

2023-03-29
1

防止内存泄露之让 Map 的 Key 没有其他强引用时可以被回收

在开发中遇到一个困境,需要在某个类(如 ValueHolder)中设计一个 Map 其中 Key 是另外一个类型 (如Source)。Source有自己的生命周期,由于ValueHolder 的生命周期较长,在 Source生命周期结束后就应该回收,但由于被 ValueHold...

2023-03-24
1

图解对象分配过程

为新对象分配内存是一件非常严谨和复杂的任务,JVM的设计者们不仅需要考虑内存如何分配、在哪里分配等问题,并且由于内存分配算法与内存回收算法密切相关,所以还需要考虑GC执行完内存回收后是否会在内存空间中产生内存碎...

2023-03-21
1

虚拟机栈的相关面试题

1.举例栈溢出的情况?(StackOverflowError)通过 -Xss 设置栈的大小递归很容易出现栈溢出2.举例栈溢出的情况?(StackOverflowError)不能保证不出现溢出,只能让栈溢出出现的时间晚一点,不可能不出现3.分配的栈内存越大越好么?不是...

2023-03-21
3

哪些场景会产生OOM?怎么解决?

什么时候会抛出OutOfMemery异常呢?初看好像挺简单的,其实深究起来考察的是对整个JVM的了解,而这个问题从网上可以翻到一些乱七八糟的答案,其实在总结下来基本上4个场景可以概括下来。...

2023-03-10
1

大佬带你深入解析java虚拟机:垃圾优先的垃圾回收器(G1 GC)

G1 GC是面向服务端应用程序的垃圾回收器,通过新的堆设计和停顿预测模型,可以到达用户指定的一个比较合理的软实时目标。本章将详细分析G1 GC的设计和实现。...

2022-10-31
2