JDK_API剖析之java.lang包

java.lang是Java语言的基础包,默认包中的所有来自动import到你写的类中。(按照字母排序)

1、AbstractMethodError

  • 类、错误
  • 自1.0开始有
  • 继承自IncompatibleClassChangeError
  • 当应用程序试图调用一个抽象方法时,抛出此错误。通常由编译器捕获此错误;如果某个类的定义自当前执行方法最后一次编译以后作了不兼容的更改,则此错误只可能在运行时发生。
  • 有带消息和无参构造函数
  • 没有自定义方法

2、Appendable

  • 接口
  • 自1.5开始有
  • 没有父接口
  • Appendable 对于多线程访问而言没必要是安全的。线程安全由扩展和实现此接口的类负责。
  • 提供了一些append函数,返回值是Appendable接口

3、ArithmeticException

  • 类、异常
  • 自1.0开始有
  • 继承自RuntimeException
  • 当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。
  • 有带消息和无参构造函数
  • 没有自定义函数

4、ArrayIndexOutOfBoundsException

  • 类、异常
  • 自1.0开始有
  • 继承自IndexOutOfBoundsException
  • 用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。
  • 有带消息、索引、无参构造函数
  • 没有自定义函数

5、ArrayStoreException

  • 类、异常
  • 自1.0开始有
  • 继承自RuntimeException
  • 试图将错误类型的对象存储到一个对象数组时抛出的异常
  • 有带消息和无参构造函数
  • 没有自定义函数

6、AssertionError

  • 类、错误
  • 自1.4开始有
  • 继承自Error
  • 抛出该异常指示某个断言失败。
  • 有7个单参构造函数
  • 没有自定义函数

7、Boolean

  • final类
  • 自1.0开始有
  • 实现java.io.Serializable,Comparable<Boolean>
  • Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类型的对象只包含一个类型为 boolean 的字段。此外,此类还为 booleanString 的相互转换提供了许多方法,并提供了处理 boolean 时非常有用的其他一些常量和方法。

8、Byte

  • final类
  • 自1.1开始有
  • 继承自Number,实现Comparable<Byte>
  • Byte 类将基本类型 byte 的值包装在一个对象中。一个 Byte 类型的对象只包含一个类型为 byte 的字段。此外,该类还为 byteString 的相互转换提供了几种方法,并提供了处理 byte 时非常有用的其他一些常量和方法。
  • 常量有byte可取最大值,最小值。

9、Character

  • final类
  • 自1.0开始有
  • 实现java.io.Serializable, Comparable<Character>
  • Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

10、CharSequence

  • 接口
  • 自1.4开始有
  • 没有父类和接口
  • CharSequencechar 值的一个可读序列。此接口对许多不同种类的 char 序列提供统一的只读访问。
  • 提供了几个字符串常用函数的抽象

11、Class<T>

  • final类
  • 自1.0开始有
  • 实现了java.io.Serializable, GenericDeclaration,Type,AnnotatedElement
  • Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注解是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(booleanbytecharshortintlongfloatdouble)和关键字 void 也表示为 Class 对象。
  • Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。
  • 有一系列操作Class的函数。

12、ClassCastException

  • 类、异常
  • 自1.0开始有
  • 继承自RuntimeException
  • 当试图将对象强制转换为不是实例的子类时,抛出该异常

13、ClassCircularityError

  • 类、错误
  • 自1.0开始有
  • 继承自LinkageError
  • 当初始化类时检测到类的循环调用的时候,抛出该错误。

14、ClassFormatError

  • 类、错误
  • 自1.0开始有
  • 继承自LinkageError
  • 当 Java 虚拟机试图读取类文件并确定该文件存在格式错误或无法解释为类文件时,抛出该错误。

15、ClassLoader

  • 抽象类
  • 自1.0开始有
  • 无父类和接口
  • 类加载器是负责加载类的对象。ClassLoader 类是一个抽象类。如果给定类的二进制名称,那么类加载器会试图查找或生成构成类定义的数据。一般策略是将名称转换为某个文件名,然后从文件系统读取该名称的“类文件”。每个 Class 对象都包含一个对定义它的 ClassLoader引用

16、ClassNotFoundException

  • 类、异常
  • 自1.0开始有
  • 继承ReflectiveOperationException
  • 当应用程序试图使用以下方法通过字符串名加载类时,Class 类中的 forName 方法;ClassLoader 类中的 findSystemClass 方法;ClassLoader 类中的 loadClass 方法,但是没有找到具有指定名称的类的定义。

17、Cloneable

  • 标记接口
  • 自1.0开始有
  • 无父接口
  • 如果一个类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。如果在没有实现 Cloneable 接口的实例上调用 Object 的 clone 方法,则会导致抛出 CloneNotSupportedException 异常
  • 没有方法定义

18、CloneNotSupportedException

  • 异常类
  • 自1.0开始有
  • 继承自Exception
  • 当调用 Object 类中的 clone 方法复制对象,但该对象的类没有实现 Cloneable 接口时,抛出该异常。重写 clone 方法的应用程序也可能抛出此异常,指示不能或不应复制一个对象。

19、Comparable<T>

  • 接口
  • 自1.0开始有
  • 无父接口
  • 此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法
  • 有一个方法int compareTo(T o)。比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。

20、Compiler

  • final类
  • 自1.0开始有
  • 无父类和接口
  • Compiler 类主要支持 Java 到本机代码的编译器及相关服务。根据设计,Compiler 类不做任何事情,它充当一个 JIT 编译器实现的占位符。
  • 有几个本地方法

21、Double

  • final类
  • 自1.0开始有
  • 集成自Number,实现Comparable<Double>
  • Double 类在对象中包装一个基本类型 double 的值。每个 Double 类型的对象都包含一个 double 类型的字段。此外,该类还提供多个方法,可以将 double 转换为 String,将 String 转换为 double,也提供了其他一些处理 double 时有用的常量和方法。

22、Enum<E extends Enum<E>>

  • 抽象类
  • 自1.5开始有
  • 实现Comparable<E>, Serializable
  • 这是所有 Java 语言枚举类型的公共基本类。
  • 单独的构造方法。程序员无法调用此构造方法。该构造方法用于由响应枚举类型声明的编译器发出的代码。

23、EnumConstantNotPresentException

  • 异常类
  • 自1.5开始有
  • 继承RuntimeException
  • 当应用程序试图通过名称和枚举类型访问那些不包含具有指定名称的常量的枚举常量时,抛出该异常。

24、Error

  • 类、错误
  • 自1.0开始有
  • 继承Throwable
  • ErrorThrowable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件

25、Exception

  • 类、异常
  • 自1.0开始有
  • 继承Throwable
  • Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

26、ExceptionInInitializerError

  • 类、错误
  • 自1.1开始有
  • 继承LinkageError
  • 静态初始化程序中发生意外异常的信号。抛出 ExceptionInInitializerError 表明在计算静态初始值或静态变量的初始值期间发生异常。

27、Float

  • final类
  • 自1.0开始有
  • 继承Number,实现Comparable<Float>
  • Float 类在对象中包装一个基本类型 float 的值。Float 类型的对象包含一个 float 类型的字段。此外,此类提供了几种方法,可将 float 类型与 String 类型互相转换,还提供了处理 float 类型时非常有用的其他一些常量和方法。

28、IllegalAccessException

  • 异常类
  • 自1.0开始有
  • 继承Exception
  • 当应用程序试图反射性地创建一个实例(而不是数组)、设置或获取一个字段,或者调用一个方法,但当前正在执行的方法无法访问指定类、字段、方法或构造方法的定义时,抛出 IllegalAccessException。

29、IllegalArgumentException

  • 异常类
  • 自1.0开始有
  • 继承RuntimeException
  • 抛出的异常表明向方法传递了一个不合法或不正确的参数。

30、IllegalMonitorStateException

  • 异常类
  • 自1.0开始有
  • 继承RuntimeException
  • 抛出的异常表明某一线程已经试图等待对象的监视器,或者试图通知其他正在等待对象的监视器而本身没有指定监视器的线程。

31、IllegalStateException

  • 异常类
  • 自1.1开始有
  • 继承RuntimeException
  • 在非法或不适当的时间调用方法时产生的信号。换句话说,即 Java 环境或 Java 应用程序没有处于请求操作所要求的适当状态下。

32、IllegalThreadStateException

  • 异常类
  • 自1.0开始有
  • 继承IllegalArgumentException
  • 指示线程没有处于请求操作所要求的适当状态时抛出的异常。例如,请参见 Thread 类中的 suspendresume 方法。

33、IncompatibleClassChangeError

  • 类、错误
  • 自1.0开始有
  • 继承LinkageError
  • 在某些类定义中出现不兼容的类更改时抛出该异常。某些目前执行的方法所依赖的类定义已发生了变化。

34、IndexOutOfBoundsException

  • 异常类
  • 自1.0开始有
  • 继承RuntimeException
  • 指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。应用程序可以为这个类创建子类,以指示类似的异常。

35、InheritableThreadLocal<T>

  • 自1.2开始有
  • 继承ThreadLocal<T>
  • 该类扩展了 ThreadLocal,为子线程提供从父线程那里继承的值:在创建子线程时,子线程会接收所有可继承的线程局部变量的初始值,以获得父线程所具有的值。通常,子线程的值与父线程的值是一致的;但是,通过重写这个类中的 childValue 方法,子线程的值可以作为父线程值的一个任意函数。当必须将变量(如用户 ID 和 事务 ID)中维护的每线程属性(per-thread-attribute)自动传送给创建的所有子线程时,应尽可能地采用可继承的线程局部变量,而不是采用普通的线程局部变量。

36、InstantiationError

  • 类、错误
  • 自1.0开始有
  • 继承RuntimeException
  • 当应用程序试图使用 Java 的 new 结构来实例化一个抽象类或一个接口时,抛出该异常。通常由编译器捕获此错误;如果类定义中存在不兼容的更改,则此错误将只可能发生在运行时。

37、InstantiationError

  • 类、错误
  • 自1.0开始有
  • 继承IncompatibleClassChangeError
  • 当应用程序试图使用 Java 的 new 结构来实例化一个抽象类或一个接口时,抛出该异常。通常由编译器捕获此错误;如果类定义中存在不兼容的更改,则此错误将只可能发生在运行时。

38、InstantiationException

  • 类、异常
  • 自1.0开始有
  • 继承Exception
  • 当应用程序试图使用 Class 类中的 newInstance 方法创建一个类的实例,而指定的类对象无法被实例化时,抛出该异常。实例化失败有很多原因,包括但不仅限于以下原因:类对象表示一个抽象类、接口、数组类、基本类型、void,类没有非 null 构造方法

39、Integer

  • final类
  • 自1.0开始有
  • 继承Number,实现Comparable<Integer>
  • Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

39、InternalError

  • 类、错误
  • 自1.0开始有
  • 继承VirtualMachineError
  • 该异常指示 Java 虚拟机中出现一些意外的内部错误。

40、InternalError

  • 类、错误
  • 自1.0开始有
  • 继承VirtualMachineError
  • 该异常指示 Java 虚拟机中出现一些意外的内部错误。

原文地址:https://www.cnblogs.com/yang75n/p/8441276.html

时间: 2024-08-29 04:03:01

JDK_API剖析之java.lang包的相关文章

JDK_API剖析之java.net包

为实现网络应用程序提供类.(按照字母顺序排序) 1.Authenticator 抽象类 自1.2开始有 无父类和接口 Authenticator 类表示懂得如何获得网络连接验证的对象.通常,它通过提示用户输入信息来完成此操作.应用程序通过重写子类中的 getPasswordAuthentication() 使用此类.此方法通常使用各种 getXXX() 访问器方法获取关于请求验证的实体的信息.然后,它必须通过与用户交互或者某些其他非交互手段获取用户名和密码.之后凭据将以 PasswordAuth

JDK_API剖析之java.util包

Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构. 一.接口 1.Collection<E> 接口 自1.2开始有 继承Iterable<E> Collection 层次结构 中的根接口.Collection 表示一组对象,这些对象也称为 collection 的元素.一些 collection 允许有重复的元素,而另一些则不允许.一些 collection 是有序的,而另一些则是无序的.JDK 不提供此接口的任何直接 实现:它提供更具

JDK源码简析--java.lang包中的基础类库

题记 JDK,Java Development Kit. 我们必须先认识到,JDK只是,仅仅是一套Java基础类库而已,是Sun公司开发的基础类库,仅此而已,JDK本身和我们自行书写总结的类库,从技术含量来说,还是在一个层级上,它们都是需要被编译成字节码,在JRE中运行的,JDK编译后的结果就是jre/lib下得rt.jar,我们学习使用它的目的是加深对Java的理解,提高我们的Java编码水平. 本系列所有文章基于的JDK版本都是1.7.16. 本节内容 在本节中,简析java.lang包所包

java.lang包

作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.特性——不用import 2.String String x = "abc"; <=> String x= new String("abc"); 因为public final class java.lang.String; 而String x="The number " + y;中,在JAVA中不管是什么变量或者对象,在对String进行加和时

JDK框架简析--java.lang包中的基础类库、基础数据类型

题记 JDK.Java Development Kit. 我们必须先认识到,JDK不过,不过一套Java基础类库而已,是Sun公司开发的基础类库,仅此而已,JDK本身和我们自行书写总结的类库,从技术含量来说.还是在一个层级上,它们都是须要被编译成字节码.在JRE中执行的,JDK编译后的结果就是jre/lib下的rt.jar,我们学习使用它的目的是加深对Java的理解,提高我们的Java编码水平. 本系列全部文章基于的JDK版本号都是1.7.16. 源代码下载地址:https://jdk7.jav

java.lang包【Object类】

基本描述: (1)Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: (2)Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法.可以使用类型为Object的变量指向任意类型的对象 Object的主要方法介绍: package java.lang; public class Object { /* 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用.*

java学习--java.lang包中常用的类

java.lang包中的类是不需要import的 基本数据类型的包装类 包装类的使用相差不大,使用方法则以Integer为例 属性: MAX_VALUE 最大值 MIN_VALUE 最小值 构造方法: Integer t1 = new Integer(123); 将int构造成Integer Integer t2 = new Integer("1234"); 将数字字符串构造成Integer Integer t3 = 12345; 包装类与其对应的基本数据类型的区别是,包装类型所占用的

简单看看jdk7源码之java.lang包01

从今天开始简单开始读一遍jdk的源码,估计这个时间会很长,慢慢啃吧....(首先说一句抱歉,因为很多图都是直接百度扣的,图太多了不能为每一个图附上原版链接,不好意思!) 在网上看了很多的教程,读源码有一定的顺序,按照包的顺序:java.lang包,java.util包,java.util.concurrent包,java.util.concurrent.atomic包,java.lang.reflect包,java.lang.annotation包,java.util.concurrent.lo

java.lang包学习(转自微学苑)

Java语言包(java.lang)定义了Java中的大多数基本类,由Java语言自动调用,不需要显示声明.该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型的类,如:String.Boolean.Byter.Short等.这些类支持数字类型的转换和字符串的操作等,下面将进行简单介绍. Math类 Math类提供了常用的数学运算方法以及Math.PI和Math.E两个数学常量.该类是final的,不能被继承,类中的方法和属性全部是静态,不允许在类的外部创