JavaSE 基础之十四
14 Java常用API之一
① 常规包类
1. java类
- java.awt:包含创建用户界面和绘制图形图像的类。
- java.io:提供数据流、序列化以及文件系统。
- java.lang:提供java进行编程过程中的一些基础类。
- java.math:提供了数学中的各种计算公式或者计算方法。
- java.text:提供一些类来处理文本、日期、数字和消息。
- java.util:包含在开发过程中用到的各种工具类。
2. javax类
- javax.sql:java提供访问数据库的一些接口和类。
- javax.xml:提供用户解析xml文件的接口和类。
② 常规操作类
1. System类
System类代表当前Java程序的运行平台。
1. final类,不能被继承。
2. 该类的所有属性和方法都是静态的,可以通过“类名.属性”和“类名.方法”操作。
2. 属性:in、out、err
3. 常用方法
- currentTimeMills()
- exit()
- getProperties()
- gc()
2. Runtime类
Runtime类代表Java程序的运行时环境。
1. 每一个java程序都会有一个Runtime类,应用程序通过Runtime类可以和运行环境相连,通过Runtime可以获取当前运行环境的信息。比如虚拟机的内存,cpu核心数或者执行操作系统的命令。
2. 可以继承,不能实例化。
3. String类
1. String
- String表示字符串,在操作String的时候每次操作当前String都会产生一个新的对象(一旦创建一个字符串,字符串就不能被变更,直到被销毁)。
- String并不是基本数据类型,表示字符串意思,是一个对象,当前String类是final类。
- 创建字符串的方法
String s = “abc”;
或者
String s = new String(“abc”);
- 字符串加载流程
- 静态常量池:***.class 文件中的常量池。
***.class 文件中的常量池不仅包含了字符串的字面量信息(数字),还包括了类、方法之类的信息,就是这些东西占据了class文件的空间。String S = “a” + “bc” 在class文件中的常量池里边就已经计算后存放的值为“abc”。
- 动态常量池:运行时的常量池。
在JVM加载完当前类后,将class文件中的常量池内容加载内存中,保存方法区里面,方法区单独有一块空间用来存放这些数据,方法区常量池。
- 字符串特性
- 不可变更的特性
String 使用public static final char [ ] 来保存的字符串数据,将你定义的每一个字符装到字符数组,但是字符数组final类型,不可变更。在操作字符串的时候,产生一个新的对象,将原来的引用指向新的对象。
- 线程安全的
2.StringBuffer
- 和String一样都是用来存储字符串的,内部的实现方式有区别,对应的使用范围不一样。
- 在处理字符串的时候,在原来的值上进行修改,不会产生新的内容,在某些时候他的性能优于String,当前对象他是线程安全的对象。
- StringBuffer对象不能使用 = 来初始化,只能构造的形式来初始化数据。
- 因为他是可变的,经常使用它来操作变化的字符串,比如有的字符串频繁增加、修改、删除内容。
3.StringBuilder
- 特点同StringBuffer一样。
- 线程不安全的,效率非常高。
- 字符串 String 采用 for 循环拼接的时候,每次循环都要创建一个 StringBuilder 对象。效率高但是消耗内存很大。
- 可以采用先使用 StringBuilder 创建对象,再进行 for 循环拼接。以此来提高效率降低内存消耗。