. net是否有类似Java's的特性?

本文关键字:是否 Java net | 更新日期: 2023-09-27 18:14:37

所以我有一个非常标准的spring, hibernate, tomcat环境…但我在局部和CI上得到了permgens。

我知道有一个临时的修复(即增加内存分配给permgen),但这仍然只是暂时的。鉴于我所看到的,我宁愿不去想象生产环境是什么样子。

(有点比较问题)在。net中,我没有看到类似的东西。.NET有自己的permgen版本吗?

(如果你不知道permgen是什么,permgen空间的意义)

. net是否有类似Java's的特性?

在CLR中没有这样的东西。只是一堆普通的东西。垃圾收集器(GC)是分代的,有三代。一个用于年轻的物体,一个用于长寿的物体,一个用于非常长寿的物体。还有一个大对象堆(LOH)。为了提高效率,GC对LOH的处理略有不同。参见未覆盖的大对象堆

不,CLR (c#"只是"一种CLR语言)没有永久生成,请参阅垃圾收集基础知识。

顺便说一句,JVM的未来版本——目前预计最迟在Java 8中——也不会有permgen(参见Oracle讨论Java 7 &8个视频新功能)(基本上是"合并"经典"的Sun HotSpot VM,它有permgen和JRockit JVM)