【jdk包系列】jdk源码包 java.lang详解

jdk源码包 java.lang详解

包 java.lang 描述

提供了对 Java 编程语言设计至关重要的类。

最重要的类是 Object,它是类层次结构的根,以及 Class,在运行时表示类的实例。

通常需要将原始类型的值表示为对象。包装类 Boolean、Character、Integer、Long、Float 和 Double 就是为此目的而存在的。例如,Double 类的对象包含一个 double 类型的字段,以这种方式表示该值,使得可以将对它的引用存储在引用类型的变量中。这些类还提供了许多方法用于在原始值之间进行转换,并支持 equals 和 hashCode 等标准方法。Void 类是一个不可实例化的类,它持有一个表示 void 类型的 Class 对象的引用。

Math 类提供了常用的数学函数,如正弦、余弦和平方根。String、StringBuffer 和 StringBuilder 类同样提供了对字符串的常用操作。

ClassLoader、Process、ProcessBuilder、Runtime、SecurityManager 和 System 类提供了管理类的动态加载、创建外部进程、主机环境查询(如当前时间)和执行安全策略等“系统操作”。

Throwable 类包括可能被 throw 语句抛出的对象。Throwable 的子类表示错误和异常。

字符编码 java.nio.charset.Charset 类的规范描述了字符编码的命名约定,以及每个 Java 平台实现必须支持的标准编码集。

接口概览

接口描述
Appendable可以向其追加字符序列和值的对象。
AutoCloseable一个可能持有资源(如文件或套接字句柄)直到关闭的对象。
CharSequenceCharSequence 是一个可读取的字符序列。
Cloneable实现 Cloneable 接口的类,表明 Object.clone() 方法可以对该类的实例进行逐个字段的复制。
Comparable该接口对实现它的每个类的对象施加了一种全序。
Iterable实现此接口允许对象成为“for-each循环”语句的目标。
ReadableReadable 是字符源。
RunnableRunnable 接口应该由任何希望由线程执行的类的实例实现。
Thread.UncaughtExceptionHandler当线程因未捕获的异常而突然终止时调用处理程序的接口。

类概览

描述
BooleanBoolean 类将原始类型 boolean 的值包装在对象中。
ByteByte 类将原始类型 byte 的值包装在对象中。
CharacterCharacter 类将原始类型 char 的值包装在对象中。
Character.Subset该类的实例表示 Unicode 字符集的特定子集。
Character.UnicodeBlock表示 Unicode 规范中字符块的一系列字符子集。
ClassClass 类的实例表示正在运行的 Java 应用程序中的类和接口。
ClassLoader类加载器是负责加载类的对象。
ClassValue延迟关联计算值与(可能)每个类型。
CompilerCompiler 类用于支持 Java 到本机代码编译器和相关服务。
DoubleDouble 类将原始类型 double 的值包装在对象中。
Enum<E extends Enum>这是所有 Java 语言枚举类型的通用基类。
FloatFloat 类将原始类型 float 的值包装在对象中。
InheritableThreadLocal此类扩展 ThreadLocal,提供从父线程到子线程的值的继承:当创建子线程时,子线程接收父线程对所有可继承线程局部变量具有的初始值。
IntegerInteger 类将原始类型 int 的值包装在对象中。
LongLong 类将原始类型 long 的值包装在对象中。
MathMath 类包含执行基本数值操作的方法,如基本指数、对数、平方根和三角函数。
NumberNumber 抽象类是代表可转换为原始类型 byte、double、float、int、long 和 short 的平台类的超类。
ObjectObject 类是类层次结构的根。
PackagePackage 对象包含有关 Java 包的实现和规范的版本信息。
ProcessProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回一个 Process 的子类的实例,用于控制进程并获取有关它的信息。
ProcessBuilder此类用于创建操作系统进程。
ProcessBuilder.Redirect表示子进程输入源或子进程输出目标。
Runtime每个 Java 应用程序都有一个 Runtime 类的单个实例,允许应用程序与其运行环境进行交互。
RuntimePermission此类用于运行时权限。
SecurityManager安全管理器是一个允许应用程序实施安全策略的类。
ShortShort 类将原始类型 short 的值包装在对象中。
StackTraceElement堆栈跟踪中的元素,由 Throwable.getStackTrace() 返回。
StrictMathStrictMath 类包含执行基本数值操作的方法,如基本指数、对数、平方根和三角函数。
StringString 类表示字符字符串。
StringBuffer一个线程安全的、可变的字符序列。
StringBuilder一个可变的字符序列。
SystemSystem 类包含几个有用的类字段和方法。
Thread线程是程序中的执行线程。
ThreadGroup线程组表示一组线程。
ThreadLocal此类提供线程局部变量。
ThrowableThrowable 类是 Java 语言中所有错误和异常的超类。
VoidVoid 类是一个不可实例化的占位符类,用于保存表示 Java 关键字 void 的 Class 对象的引用。

枚举概览

枚举描述
Character.UnicodeScript一组表示 Unicode 标准附录#24 中定义的字符脚本的字符子集。
ProcessBuilder.Redirect.TypeProcessBuilder.Redirect 的类型。
Thread.State线程状态。

异常概览

异常描述
ArithmeticException当发生异常的算术条件时抛出。
ArrayIndexOutOfBoundsException表示使用非法索引访问数组。
ArrayStoreException表示尝试将错误类型的对象存储到对象数组中。
ClassCastException指示代码尝试将对象转换为其不是实例的子类。
ClassNotFoundException当应用程序尝试通过字符串名称加载类时抛出:类 Class 中的 forName 方法。
CloneNotSupportedException表示调用 Object 类中的 clone 方法克隆对象,但该对象的类未实现 Cloneable 接口。
EnumConstantNotPresentException当应用程序尝试按名称访问枚举常量,并且枚举类型不包含指定名称的常量时抛出。
ExceptionException 类及其子类是 Throwable 的一种形式,表示合理的应用程序可能要捕获的条件。
IllegalAccessException在应用程序试图通过反射方式创建实例(除数组之外)、设置或获取字段或调用方法时,但当前执行的方法无权访问指定类、字段、方法或构造函数的定义时抛出。
IllegalArgumentException表示方法已传递了非法或不适当的参数。
IllegalMonitorStateException表示线程在没有拥有指定监视器的情况下等待该对象的监视器,或者通知其他正在等待该对象的监视器时抛出。
IllegalStateException表示方法在非法或不适当的时间被调用。
IllegalThreadStateException表示线程对请求的操作处于不适当的状态。
IndexOutOfBoundsException表示某种索引(例如数组、字符串或向量的索引)超出范围。
InstantiationException当应用程序尝试使用 Class 类的 newInstance 方法创建类的实例,但无法实例化指定的类对象时抛出。
InterruptedException当线程正在等待、休眠或以其他方式忙碌,并且线程被中断时(在活动期间或之前)抛出。
NegativeArraySizeException如果应用程序尝试创建具有负大小的数组,则抛出该异常。
NoSuchFieldException指示类没有指定名称的字段。
NoSuchMethodException当找不到特定方法时抛出。
NullPointerException当应用程序尝试在需要对象的情况下使用 null 时抛出。
NumberFormatException表示应用程序尝试将字符串转换为数值类型之一,但该字符串没有适当的格式。
ReflectiveOperationException核心反射中由反射操作引发的异常的公共超类。
RuntimeExceptionRuntimeException 是可以在 Java 虚拟机正常运行期间抛出的那些异常的超类。
SecurityException安全管理器抛出以指示安全性违规。
StringIndexOutOfBoundsExceptionString 方法抛出,表示索引为负数或大于字符串大小。
TypeNotPresentException当应用程序尝试使用表示类型名称的字符串访问类型,但找不到具有指定名称的类型的定义时抛出。
UnsupportedOperationException表示不支持请求的操作。

错误概览

错误描述
AbstractMethodError当应用程序尝试调用抽象方法时抛出。
AssertionError表示断言失败。
BootstrapMethodError表示 invokedynamic 指令无法找到其引导方法,或者引导方法未能为调用站点提供正确的方法类型目标。
ClassCircularityError在加载类时,Java 虚拟机检测到超类层次结构中的循环性时抛出。
ClassFormatError当 Java 虚拟机尝试读取类文件并确定该文件格式有误或无法解释为类文件时抛出。
ErrorError 是 Throwable 的子类,表示严重问题,合理的应用程序不应该尝试捕获。
ExceptionInInitializerError表示静态初始化器中发生了意外异常。
IllegalAccessError如果应用程序尝试访问或修改字段,或者调用它没有访问权限的方法时抛出。
IncompatibleClassChangeError当某个类定义发生不兼容的类更改时抛出。
InstantiationError当应用程序尝试使用 Java 的 new 构造来实例化抽象类或接口时抛出。
InternalError表示 Java 虚拟机发生了一些意外的内部错误。
LinkageErrorLinkageError 的子类指示一个类对另一个类有某种依赖关系;但是,在前者类编译后,后者类已经发生了不兼容的更改。
NoClassDefFoundError如果 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为正常方法调用的一部分或使用 new 表达式创建新实例的一部分),并且找不到类的定义,则抛出该异常。
NoSuchFieldError如果应用程序尝试访问或修改对象的指定字段,而该对象不再具有该字段,则抛出该异常。
NoSuchMethodError当应用程序尝试调用一个类的指定方法(静态或实例),而该类不再具有该方法的定义时抛出。
OutOfMemoryError当 Java 虚拟机无法分配对象,因为内存已耗尽,并且垃圾回收器无法提供更多内存时抛出。
StackOverflowError当应用程序递归太深时导致堆栈溢出时抛出。
ThreadDeath在受影响的线程中调用(已弃用的)Thread.stop() 方法时,会抛出 ThreadDeath 的实例。
UnknownError当 Java 虚拟机发生未知但严重的异常时抛出。
UnsatisfiedLinkError如果 Java 虚拟机无法找到声明为本机的方法的适当本地语言定义,则抛出该异常。
UnsupportedClassVersionError当 Java 虚拟机尝试读取类文件并确定文件中的主要版本和次要版本号不受支持时抛出。
VerifyError当“验证器”检测到类文件存在某种内部不一致性或安全问题时抛出。
VirtualMachineError表示 Java 虚拟机出现故障或资源不足,无法继续运行。

注解类型概览

注解类型描述
Deprecated使用 @Deprecated 注释的程序元素是不建议使用的,通常是因为它是危险的,或者因为存在更好的替代方案。
FunctionalInterface用于指示接口类型声明意图作为 Java 语言规范定义的函数式接口。
Override指示方法声明意图覆盖超类型中的方法声明。
SafeVarargs程序员断言,注解方法或构造函数的主体在其可变参数上执行不安全操作。
SuppressWarnings指示在注释元素(以及所有包含在注释元素中的程序元素)中应该禁止命名的编译器警告。

官方链接

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigDataMLApplication

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值