在.NET Framework2.0里
一个String直接量(Ex:String str = “abcd”)是采用类似String.Intern的方法,以字符串留用的方式存储的,但是我有一个问题想不通,字符串留用后,字符串的引用会被存储在一个String Pool中,而这个String Pool是无法被System.GC Collect的,那不是会严重影响到性能么..?
据我所致,要GC掉String Pool,除了关闭当前的Process或者是AppDomain之外,是没有办法的,那这个时候就有个疑问了,String Pool里的对象,是否另外被处理,还是说.NET就不理他,等到Application关闭了,再去GC?
一个String直接量(Ex:String str = “abcd”)是采用类似String.Intern的方法,以字符串留用的方式存储的,但是我有一个问题想不通,字符串留用后,字符串的引用会被存储在一个String Pool中,而这个String Pool是无法被System.GC Collect的,那不是会严重影响到性能么..?
据我所致,要GC掉String Pool,除了关闭当前的Process或者是AppDomain之外,是没有办法的,那这个时候就有个疑问了,String Pool里的对象,是否另外被处理,还是说.NET就不理他,等到Application关闭了,再去GC?
浙公网安备 33010602011771号