请参阅JLS7.第3.2节第16页说明
Java编程语言使用UTF-16编码表示16位代码单元序列中的文本.
我拆开了一个hello world程序.
class Y {
String hello = "hello";
}
Run Code Online (Sandbox Code Playgroud)
以下是集会:
Classfile /c:/Work/SR1/e2/tmp/Y.class
Last modified Jan 5, 2014; size 240 bytes
MD5 checksum 96694fda4f346a62d5412c56dc36c45d
Compiled from "X.java"
class Y
SourceFile: "X.java"
minor version: 0
major version: 52
flags: ACC_SUPER
Constant pool:
#1 = Class #2 // Y
#2 = Utf8 Y
#3 = Class #4 // java/lang/Object
#4 = Utf8 java/lang/Object
#5 = Utf8 hello
#6 = Utf8 Ljava/lang/String;
#7 = Utf8 <init>
#8 = Utf8 ()V
#9 = Utf8 Code
#10 = Methodref #3.#11 // java/lang/Object."<init>":()V
#11 = NameAndType #7:#8 // "<init>":()V
#12 = String #5 // hello
#13 = Fieldref #1.#14 // Y.hello:Ljava/lang/String;
#14 = NameAndType #5:#6 // hello:Ljava/lang/String;
#15 = Utf8 LineNumberTable
#16 = Utf8 SourceFile
#17 = Utf8 X.java
{
...
Run Code Online (Sandbox Code Playgroud)
我只看到Utf8编码,没有Utf16.为什么没有Utf16编码.
谢谢