日期:2014-05-20  浏览次数:20841 次

请问用final修饰的String,最大的容量是多大?
我有个大概2M的字符串,能用final修饰吗?
我的报错...

------解决方案--------------------
我看楼主就不要试探 JVM 的上限了,程序写成这个样子是不合适的,应该通过资源文件等方式存储,运行时动态读取。

动态读取的话,等你这段程序运行完了,内存空间还有机会被释放出来;要是写成字符串常量的话,这块内存就永远占据了。这样的程序写多了,内存是很浪费的。
------解决方案--------------------
可能是这样的,加了final的话,在编译的时候就要分配内存,不知道是不是这样
------解决方案--------------------
怎么没人看编译错误信息?final 跟字符串常量长度有关系。
------解决方案--------------------
探讨
是这样:

The type generates a string that requires more than 65535 bytes to encode in
Utf8 format in the constant pool