如何写出 GC 更优的代码,以达到提升代码性能的目的
1.优化内存回收
垃圾回收 GC(Garbage Collection)是现在高级编程语言内存回收的主要手段,也是高级语言所必备的特性。
GC 的出现降低了编程语言上手的难度,但是过度依赖于 GC 也会影响你程序的性能。
GC 还有个关键的性能指标——吞吐率(Throughput),它的定义是运行用户代码的时间占总 CPU 运行时间的比例。那如何提升应用的 GC 吞吐率呢?
(1)减少数量对象
(2)缩小对象体积
(3)缩短对象存活时间
2.堆外内存
在 Java 中,只有堆内内存才会受 GC 收集器管理,所以你要不被 GC 影响性能,最直接的方式就是使用堆外内存,Java 中也提供了堆外内存使用的 API。
但是,堆外内存也是把双刃剑,你要用就得做好完善的管理措施,否则内存泄露导致 OOM 就 GG 了,所以不推荐直接使用。
评论