`
simpleman7210
  • 浏览: 18789 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

初步支持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。
分享到:
评论

相关推荐

    四川大学 java系统类PPT

    3. 字符串(String类)与StringBuffer类: String类是不可变的,意味着一旦创建就不能改变其内容。它广泛用于文本处理,提供了丰富的操作方法。StringBuffer类是可变的,适用于在多线程环境中动态构建字符串,因为它...

    面试指南java

    - String与StringBuffer的区别:了解String不可变和StringBuffer可变的特性及其性能差异。 - Vector, ArrayList, LinkedList的区别:熟悉这三种集合框架在内部实现和使用场合上的不同。 - HashTable, HashMap, ...

    初步认识java教程

    Java中的字符串是对象,通过`String`和`StringBuffer`类来表示。这使得字符串处理变得更加简便和统一。而在C/C++中,字符串通常使用字符数组来表示,并且缺乏内置的字符串操作功能。 **7. goto语句** Java不支持`...

    java实验报告

    6. **字符串翻转**:使用String或StringBuffer类的方法实现字符串的反转。 7. **符号三角形**:控制输出格式,理解字符处理和循环控制。 8. **高次幂求和**:处理大数据运算,避免使用浮点数,利用辅助方法优化...

    节 数组字符串及容器类PPT学习教案.pptx

    这篇PPT的学习教案主要涵盖了...总的来说,这份PPT教案为初学者提供了一个良好的起点,覆盖了编程基础中重要的数组和字符串概念,以及容器类的初步了解,对于进一步学习Java或其他支持类似结构的编程语言非常有帮助。

    java学习图解

    4. **字符串处理**: String类在Java中广泛使用,了解其不可变性、常用方法(如concat、substring、indexOf等)以及StringBuilder或StringBuffer类用于字符串拼接。 5. **异常处理**: Java提供了一套完善的异常处理...

    Java工程师必知必会.docx

    8. String、StringBuffer和StringBuilder类 9. Math类 10. Java 7 的Threadlocalrandom与Random 11. BigDecimal类 12. Date类 13. Calendar类 14. Timezone类 15. 创建正则表达式 16. 使用正则表达式 17. Java国际化...

    Java教程5-8第二部分

    5. **字符串处理**:String类的常用方法,如substring、indexOf、replace和trim等,以及StringBuilder和StringBuffer的使用。 6. **多线程**:Java支持多线程编程,学习如何创建Thread对象,实现Runnable接口,以及...

    全国信息JAVA 复习资料和试题

    4. **字符串处理**:熟悉String类的方法,如concat、substring、indexOf、replace等,以及StringBuilder和StringBuffer的使用。 其次,进阶知识点涵盖: 1. **异常处理**:学习如何使用try-catch-finally语句块进行...

    21天学通Java6(第五版)含源代码和课后习题代码

    5. **字符串处理**:了解String类的特点,学习如何使用StringBuilder和StringBuffer进行字符串操作。 6. **输入/输出流**:掌握文件操作,包括文件读写、字节流和字符流,以及ObjectInputStream和...

    java私塾学习笔记整理

    Java集合框架提供了实现特定数据结构的接口和类。 **Set接口**:不允许重复元素。 **List接口**:有序且允许重复元素。 **Map接口**:存储键值对映射关系。 **Set接口** - **HashSet**:基于哈希表实现,元素...

    JAVA面试指南

    - **NIO**(New IO):引入了Channel和Buffer的概念,支持非阻塞模式。 - **4.8 Synchronized和Lock区别和用法:** - `synchronized`关键字可以修饰代码块或方法,自动管理锁的获取和释放。 - `Lock`接口提供了...

    精品JAVA SE 学习笔记

    - **String类**:Java中不可变的字符串类,了解其主要方法如`substring`, `concat`, `indexOf`, `replace`等。 - **StringBuilder与StringBuffer**:可变字符串,用于拼接和修改字符串,线程安全特性。 6. **方法...

    携程机票代理商API接口开发文档

    - 在接入准备阶段,供应商应首先联系携程的票务关联业务人员获取初步指导和支持。 - 对接过程中遇到任何问题,可以通过官方邮箱CPJSZC@Ctrip.com寻求帮助。 ##### 1.5 在线DEMO 携程提供了在线的API文档访问地址:...

    springmybatis

    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan ...

    java实习生周记大全.docx

    对于Java实习生而言,他们不仅要快速融入团队,还要对即将使用的开发工具和技术有一个初步的认识。 ### Java基础知识的学习 在第二个星期,实习生的重点转向了Java的基础语法。掌握这些基础对于未来的项目开发至关...

    java实习周记25篇.docx

    - `switch`:在JDK 7之后支持更多数据类型,如`String`。 4. **控制流关键字**: - `break`:用于提前结束循环或`switch`结构。 - `continue`:跳过本次循环的剩余代码,直接开始下一次循环。 5. **访问控制修饰...

Global site tag (gtag.js) - Google Analytics