一 system类
1 代表了当前java程序运行的平台,不能创建system对象,但提供了一些类属性和类方法用来调用。
2 提供了代表标准输入、标准输出、错误输出的类属性,还有一些静态方法访问环境变量、系统属性、加载文件、动态链接库。
3 如:getenv(),getPropertier(),getProperty(" "),gc()等
in(标准输入),out(标准输出),err(错误输出)等
二 runtime类
1 代表了java程序运行时环境,每个java程序都有一个与之对应的runtime实例,程序通过此实例与运行时环境相连,但是程序不能创建runtime实例,需要通过getRuntime()获得
2 gc()方法等
3 可以访问JVM的相关信息
4 可以直接单独启动一个线程来运行操作系统的命令
三 Object类
1 是所有类的父类
2 提供了一下方法:
>boolean equals(Object obj)
>protected void finalize():当系统没有引用变量引用该对象时,立即回收器调用此方法来清理该对象的资源
>Class<?> getClass():返回对象运行时类
>Int hashCode():返回该对象的hashCode值
>String toString()
四 String、StringBuffer、StringBuilder
1 String是不可变的,StringBuffer和StringBuilder是可变的
2 StringBuffer是线程安全的,StringBuilder是非线程安全的,所以后者性能更好,通常情况下应选择后者
五 Math类
1 构造器是private的,不可实例化,类时final修饰的
2 提供的静态属性:PI、E;所有方法都是类方法
六 Random类
1 用于生成伪随机数,两个构造器,一个构造器使用默认的种子,另一个构造器需要传入一个long型整数的种子
2 如果两个Random对象的种子相同,而且方法的调用顺序也相同,则他们会生成相同的数字序列,所以说是一种伪随机
3 推荐使用当前时间为种子
七 BigDecimal类
1 float、double两种基本类型的浮点数容易引起精度丢失,可以创建BigDecimal
2 创建BigDecimal对象时,不要传入double参数,而应该是String类型参数,eg:new BigDecimal(0.1) 其实代表的是0.10000000000000...05551111
3 当一个数字用string表示,可以用BigDecimal来转化计算等
八 Date类
1 位于java.util下的Date类,而java.sql下也有个Date类
2 deprecated(JAVA不在推荐使用的方法,使用时编译器会提示警告信息,并导致性、安全性等方面的问题),Date的很多方法都不推荐使用了,建议使用Calendar类
3 Date():生成一个代表当前日期的对象,底层调用System.currentTimeMills() 获得long整数作为日期参数
Date(long date):
after(Date when):测试该日期是否在指定日期when之后
九 Calendar类
1 抽象类,表示日历,不能调用其构造器实例化
2 >getInstance():静态方法,获取calendar对象,若不指定TimeZone、locale类则使用默认的创建Calendar对象
>eg:Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
calendar.setTime(date);
>int get (int field):获取指定日历字段的值 eg:calendar.get(Calendar.YEAR);
3 Calendar.MONTH:月份的起始是从0开始,因此八月其实是7
十 TimeZone
1 时区,抽象类,不能调用其构造器实例化
2>getDefault():静态方法,获取机器上的默认时区
>getTimeZone(String ID):静态方法,获取指定ID的时区