初步支持String和StringBuffer类

这个版本支持了针对String的ldc指令,以及简单的java/lang/String类和java/lang/StringBuffer类。可以在java程序中调用System.out.print来打印字符串了。注意,编译java源文件的时候要按1.4的版本编译,因为java/lang/StringBuilder类是1.4版本后引入的,在此之前只有StringBuffer类。

例如,编译如下的TestString类:
class TestString {
public static void main(String[] args) {
main();
}

public static void main() {
System.out.println("Hello!");
String s1 = "abc";
String s2 = "def";
System.out.println(s1+","+s2);
}

}


编译命令为:javac -source 1.4 TestString
本版本的虚拟机仍然只能在Windows平台上编译。

补充/更正:
1.在Windows平台上编译虚拟机时,请编译为Release版本,因为程序中有一处对函数指针的用法超越常规。我用vs2008编译为Debug版本,发现通不过编译器生成的检查代码。
2. 这个包里面的java/lang/StringBuffer.java有编程错误,附上改正后的StringBuffer.java。

你可能感兴趣的:(初步支持String和StringBuffer类)