Java String可以有多长?

  • 是否对字符串编解码有深入了解(中级)
  • 是否对字符串在内存中的存储形式有深入了解(高级)
  • 是否对Java虚拟机字节码有足够的了解(高级)
  • 是否对Java虚拟机指令有一定的认识(高级)
两种表现形式
一,存在栈中
String longString = "aaa...aaa"
image.png
length为2个字节,所以理论上最多65535,但实际上编译器只允许65534
![image.png](https://upload-images.jianshu.io/upload_images/8298629-159262847b897576.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
二,存在堆中
byte[] bytes = loadFromFile(new File("superLongText.txt"));
String superLongString = new String(bytes);
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容