java基础类库

  • Post author:
  • Post category:java


https://blog.csdn.net/qq_41819893/article/details/121068788



java基础类库

java以基础类库JFC的形式为程序员提供变成接口API,类库中的类按照用途归属于不同的包中。



1.java.lang包

java最常用的包都属于该包,程序不需要注入此包,就可以使用该包中的类,利用这些类可以设计最基本的JAVA程序

  1. String类,提供了字符串连接,比较,字符定位,字符串打印等处理方法
  2. StringBuffer类,提供字符串进一步处理方法,包括子字符串处理,字符串添加插入,字符替换等
  3. System,提供对标准输入,输出设备io的读写方法,包括键盘,屏幕的in/out控制。常用的System.out.print(),System.out.println()都是该类的静态变量输出流out所提供的方法
  4. Thread类,提供java多线程的处理方法,包括线程的悬挂,睡眠,终止和运行的个。
  5. Math类,提供大量的数学方法
  6. Object类,这是java类的祖先类,该类为所有Java类提供了调用Java垃圾回收对象方法以及基于对象线程安全的等待,唤醒方法
  7. Throwable类,该类是Java错误,异常类的祖先类,为Java处理错误,异常提供了方法


2.java.io包

该包的类提供数据流方式的系统输入输出控制、文件和对象的读写串行化处理,比较常用的类包括:BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、DataInputStream、DataOutputStream、File、FileReader、FileWriter、FileInputStream和FileOutputStream等。



3.java.util包

该包提供时间日期、随机数以及列表、集合、哈希表和堆栈等创建复杂数据结构的类,比较常见的类有:Date、Timer、Random和LinkedList等。



System类

System类代表当前Java程序的运行平台,程序不能创建System类的对象,System类提供了一些类变量和类方法,允许直接通过System类来调用这些类变量和类方法。可以获取一些系统相关信息

public static void main(String[] args) throws Exception{
	// 获取系统所有的环境变量
	Map<String,String> env = System.getenv();
	for (String name : env.keySet()){
		System.out.println(name + " ---> " + env.get(name));
	}
	// 获取指定环境变量的值
	System.out.println(System.getenv("JAVA_HOME"));
	// 获取所有的系统属性
	Properties props = System.getProperties();
	// 将所有系统属性保存到props.txt文件中
	props.store(new FileOutputStream("props.txt"), "System Properties");
	// 输出特定的系统属性
	System.out.println(System.getProperty("os.name"));
}

System的计时方法:currentTimeMillis()(毫秒)和nanoTime()(纳秒),相对于1970年

System的输入输出:in,out,err,提供了setInt()、setOut()、setErr()方法

System类提供一个identityHashCode(Object x),返回指定对象的精确hash Code值,根据对象地址的到,可以唯一标识一个对象



Runtime类

Runtime类代表JAVA程序的运行时坏境,每个Java程序都有一个与之对应的Runtime实例。应用程序不能创建自己的Runtime实例,但是可以通过getRuntime()方法获取与之关联的Runtime对象

与System类似,Runtime提供了gc()和runFinalization(),并提供了load(String filename)和loadLibrary(String libname)来加载文件和动态链接库

Runtime可以访问JVM的相关信息:

public static void main(String[] args){ // 获取Java程序关联的运行时对象 
    Runtime rt = Runtime.getRuntime(); 
    System.out.println("处理器数量:" + rt.availableProcessors()); 
    System.out.println("空闲内存数:" + rt.freeMemory()); 
    System.out.println("总内存数:" + rt.totalMemory()); 
    System.out.println("可用最大内存数:" + rt.maxMemory()); 
}


String、StringBuffer和StringBuilder类

String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象的字符序列是不可改变的,直到这个对象销毁。

StringBuffer对象代表一个字符序列可变的字符串,当一个StringBuffer被创建以后,通过StringBuffer提供的append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列。一旦通过StringBuffer生成最终想要的字符串,就可以调用它的toString()方法将其转化成一个String对象

StringBuilder从JDK1.5开始使用,与StringBuffer类似,不同的是StringBuffer是线程安全的,而StringBuilder没有线程安全,性能略高。通常考虑StringBuilder类



常用类 Object类

Object是所有类,数组,枚举类的父类。也就是说Java允许把人和类型的变量赋给Object类型的变量,Object提供了如下几个常用方法:

boolean equals(Object obj):判断指定对象与该对象是否相等

finalize():清理资源

getClass():返回对象的运行时类

int hashCode():返回该对象的hashCode值

String toString():返回该对象的字符串表示

wait(),notify(),notifyAll()



java7新增的Object类

若不确定一个对象是否为null就用toString()则可能引起空指针异常,而Object提供的toString(Object o)则不会,若为空,则返回null字符串



java8(jdk1.8)新增日期,时间包

java8专门新增了一个Java.time包



版权声明:本文为weixin_43847969原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。