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

你可能感兴趣的:(Java String可以有多长?)