请参阅JLS7。第3.2节第16页指出
class Y {
String hello = "hello";
}
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
{
...
谢谢
在正在执行的程序中,文本(通常1)用UTF-16表示。
但是在“.class”文件中,常量池中的文本(即字符串、标识符等)用UTF-8编码,以节省空间。(UTF-8中常量池条目的编码是由JVM规范--第4.4节...规定的,与默认字符集无关。)
当类文件被加载时,UTF-8常量池条目被类加载器转码为UTF-16。
这本书将教会你使用Rust 编程语言。Rust 是一个系统编程语言,它注重于三个方面:安全,速度和并发性。为了实现这些目标,它没有采用垃圾回收机制(GC)。这让它在其它语言并不擅长的场景中大展身手:嵌入到其它语言中、在特定的时间和空间要求下编程、编写例如设备驱动和操作系统这样的底层代码。
对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现。 对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步。 对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现。 每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我。
语言处理程序 汇编程序 地址寄存器AR、数据寄存器DR、指令寄存器IR对汇编语言透明的不可见,程序计数器PC可见 算术指令 带符号数左移*2或右移/2 SAL算数左移:把目的操作数的低位向高位移,空出低位补0 SAR算术右移:把目的操作数的高位向低位移,空出高位用最高位(符号位)填补 逻辑指令 用于无符号数*2或/2 SHL逻辑左移:移位后空出位补0 SHR逻辑右移:移位后空出位补0 循环移位指令
Windows 环境下32位汇编语言是一种全新的编程语言。它使用与 C++ 语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。本书从编写应用程序的角度,从 Hello World 这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过60多个实例逐渐深入Win32汇编语言的方方面面。
事物并非总是简单明了,Rust 程序设计语言的本质在于 授权(empowerment):无论你现在编写的是何种代码,Rust 能授权你在更为广泛的编程领域走得更远,写出自信。
Fortran语言的发展概况 本节介绍Fortran的起源与发展历史,讲述Fortran由产生到形成标准FortranIV、Fortran77,并进一步形成新标准Fortran90/95的发展历程。 1.1.1 Fortran的历史 a) FortranIªFortranIV Fortran是目前国际上广泛流行的一种高级语言,适用于科学计算。Fortran是英文FORmula TRANslatio