`
tangkuo
  • 浏览: 100360 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

JDK中常用包及其类 常见的几种RuntimeException

 
阅读更多
JDK所提供的所有标准Java类都存放在Java包中,如java.lang包中包含了运行Java必不可少的系统类。由于系统会自动将java.lang引入,所以不需要在源文件中用import语句来显示地引入这个包。另外,Java跪地过java.util和java.io是必须提供的标准包,在JDK中常用的包有以下几种:

1.java.lang:语言包

2.java.util:实用包

3.java.awt:抽象窗口工具包

4.javax.swing:轻量级的窗口工具包,这是目前使用最广泛的GUI程序设计包

5.java.io:输入输出包

6.java.net:网络函数包

7.java.applet:编制applet用到的包(目前编制applet程序时,更多的是使用swing中的JApplet类)。

下面分别对这几个包做下介绍:

①.java.lang:语言包

这是Java语言的核心包,系统自动将这个包引入到用户程序,该包中主要类有:

1.object类:它是所有类的父类,其中定义的方法其它类都可以使用。

2.数据类型包装类:简单的数据类型的类包装,包括Integer、Float、Boolean等。

3.数学类Math:提供常量和数学函数,包括E和PI常数及abs()、sin()、cos()、min()、max()、random()等方法,这些常量和方法都是静态的。

4.字符串类String和StringBuffer类。

5.系统和运行时类:System类提供一个独立于具体计算机系统资源的编程界面;Runtime类可以直接访问运行时资源。

6.操作类 :Class和ClassLoader类。类Class提供了对象运行时的若干信息,ClassLoader是一个抽象类,它提供了将类名转换成文件名并在文件系统中查找并装载该文件的方法。

7.线程类:Thread类。Java是一个多线程环境,主要有Thread(线程建立)、ThreadDeath(线程结束后的清理操作)、ThreadGroup(组织一组线程)和Runnable(建立线程的交互工具)等类。

8.错误和异常处理类:Throwable(所有错误和异常处理的父类),Exception(处理异常,需要用户捕获处理)和Error(处理硬件错误,不要求用户捕获处理)。

9.过程类Process:它支持系统过程,当实用类Runtime执行系统命令时,会建立处理系统过程的Process类。

②.实用包

实用包提供了各种实用功能的类,主要包括日期类、数据结构类和随机数类等。

1.日期类:包括Date(获取日期和时间)、Calendar(抽象类,日历类)和GregorianCalendar(Calendar类的子类)类。

2.数据结构类:包括链表类LinkedList、向量类Vector、栈类Stack和散列表类Hashtable等。

3.随机数类Random:它封装了Math类中的random方法,并提供了更多的辅助功能。

③抽象窗口工具包

Java的java.awt提供了绘图和图像类,主要用于编写GUI程序,包括按钮、标签等常用组件以及相应的事件类。

1.组件类:包括Button,Panel,Label,Choice等类,用于设计图形界面。

2事件包:在java.awt.event中包括各种事件处理的接口和类

3.颜色包:在java.awt.color中提供用于颜色的类。

4.字体包:在java.awt.font中提供用于字体相关的接口和类。

④输入输出包

java.io提供了系统输入输出类和接口,只要包括输入流类InputStream和输出流OutputStream就可以实现文件的输入输出、管道的数据传输以及网络数据传输的功能

⑤网络函数包

java.net提供了实现网络应用程序的类,主要包括用于实现Socket通信的Socket类,此外还提供了便于处理URL的类

⑥applet包

java.applet是专为创建Applet程序提供的包,它包含了基本的applet类和通信类,目前基本上被JApplet类所代替。









常见的几种RuntimeException

NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IllegalArgumentException - 传递非法参数异常。
ArithmeticException - 算术运算异常
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常


算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException

java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。

java.lang.AssertionError
断言错。用来指示一个断言失败的情况。

java.lang.ClassCircularityError
类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。

java.lang.ClassFormatError
类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。

java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。

java.lang.ExceptionInInitializerError
初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。

java.lang.IllegalAccessError
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。

java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。

java.lang.InstantiationError
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.

java.lang.InternalError
内部错误。用于指示Java虚拟机发生了内部错误。

java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。

java.lang.NoClassDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。

java.lang.NoSuchFieldError
域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。

java.lang.NoSuchMethodError
方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。

java.lang.OutOfMemoryError
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。

java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。

java.lang.ThreadDeath
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。

java.lang.UnknownError
未知错误。用于指示Java虚拟机发生了未知严重错误的情况。

java.lang.UnsatisfiedLinkError
未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。

java.lang.UnsupportedClassVersionError
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。

java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。

java.lang.VirtualMachineError
虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。

java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。

java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。

java.lang.ArrayStoreException
数组存储异常。当向数组中存放非数组声明类型对象时抛出。

java.lang.ClassCastException
类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。

java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。

java.lang.CloneNotSupportedException
不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。

java.lang.EnumConstantNotPresentException
枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。

java.lang.Exception
根异常。用以描述应用程序希望捕获的情况。

java.lang.IllegalAccessException
违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。

java.lang.IllegalMonitorStateException
违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。

java.lang.IllegalStateException
违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。

java.lang.IllegalThreadStateException
违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。

java.lang.IndexOutOfBoundsException
索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。

java.lang.InstantiationException
实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。

java.lang.InterruptedException
被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。

java.lang.NegativeArraySizeException
数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。

java.lang.NoSuchFieldException
属性不存在异常。当访问某个类的不存在的属性时抛出该异常。

java.lang.NoSuchMethodException
方法不存在异常。当访问某个类的不存在的方法时抛出该异常。

java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。

java.lang.NumberFormatException
数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。

java.lang.RuntimeException
运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。

java.lang.SecurityException
安全异常。由安全管理器抛出,用于指示违反安全情况的异常。

java.lang.StringIndexOutOfBoundsException
字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。

java.lang.TypeNotPresentException
类型不存在异常。当应用试图以某个类型名称的字符串表达方式访问该类型,但是根据给定的名称又找不到该类型是抛出该异常。该异常与ClassNotFoundException的区别在于该异常是unchecked(不被检查)异常,而ClassNotFoundException是checked(被检查)异常。

java.lang.UnsupportedOperationException
不支持的方法异常。指明请求的方法不被支持情况的异常。

分享到:
评论

相关推荐

    jdk1.6jar包

    6. **动态代理**:JDK 1.6引入了`java.lang.invoke`包,支持动态创建代理类,使得运行时生成代码成为可能。 7. **JDBC 4.0**:增强了数据库连接池管理,提供了自动连接关闭,以及对SQL标准的更好支持。 8. **国际...

    jdk包含sun包

    jdk源码(包含sun包)jdk源码(包含sun包)jdk源码(包含sun包)jdk源码(包含sun包)jdk源码(包含sun包)jdk源码(包含sun包)jdk源码(包含sun包)jdk源码(包含sun包)

    JDK1.8 sun 包源码

    /jdk文件夹下生成一个src.zip,此文件夹对应rt.jar中的java源码,但细心研究后发现rt.jar中sun包下的文件不存在,也就是说sun包下的java源码并没有打包到src.zip中,可以到http://download.java.net/openjdk/jdk7/该...

    Linux JDK8 tar包,解压即可用

    Linux JDK8 tar包是Java开发工具包在Linux操作系统上的一个版本,主要针对Java开发者。这个压缩包文件名为“jdk-8u74-linux-x64.tar”,表明它包含的是Java Development Kit (JDK) 8的第74次更新,且是针对64位Linux...

    jdk8源码包

    反射API在JDK 8中进行了优化,如`Class`类新增了`getModule()`方法,增强了对模块系统的支持。 通过研究这个"jdk8源码包",开发者可以深入了解Java 8的内部机制,这对于进行高级编程、优化代码性能以及调试异常...

    jdk常用版本以及最新版本

    标题提到的"jdk常用版本以及最新版本",主要涉及以下几个知识点: 1. **JDK1.7**:也称为Java 7,它的发布标志着Java平台的重大更新。Java 7引入了类型推断(Type Inference)的钻石操作符、try-with-resources语句...

    JDK11安装包,JDK11安装包

    JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...

    jdk8的rpm包与FastDFS.zip

    在本文中,我们将深入探讨如何使用提供的"jdk8的rpm包"和"FastDFS"来构建自己的图片服务器,尤其关注这两个关键组件在Linux环境下的安装和配置。首先,让我们了解这两个核心元素。 JDK(Java Development Kit)是...

    jdk1.8 安全包 security

    Java安全包是Java开发工具集(JDK)中的一个重要组成部分,它主要负责提供一套机制来保护Java应用程序和Java虚拟机(JVM)免受恶意代码的攻击。在JDK 1.8版本中,安全包尤其关键,因为它包含了用于安全管理、加密、...

    jdk11中缺少的几个jar包

    由于jdk版本是11,在配置flutter环境的时候遇到Android license status unknown问题,需要以下这几个jar包。 activation.jar istack-commons-runtime.jar jaxb-api.jar jaxb-core.jar jaxb-impl.jar jaxb-jxc....

    JDK源码包(包含sun包下的源码)

    源码包是理解JDK内部工作原理的关键,它允许开发者深入学习和调试Java平台的底层机制。通常,JDK安装后的`src.zip`文件包含了大部分的Java标准库源代码,但这不包括`sun`包下的源码。`sun`包中的类是Oracle JDK特有...

    JDK11中文包JDK11中文包

    JDK11中文包JDK11中文包

    jdk1.4 json包 6个全

    标题提到的"jdk1.4 json包 6个全"指的是为Java 1.4版本提供的一个完整的JSON处理库,包含了六个相关的jar文件。 1. **commons-collections.jar**:这是Apache Commons Collections库,提供了大量的集合框架扩展,...

    JDK资源包合集(JDK6+JDK7+JDK8)

    本资源包集合包括了JDK6、JDK7和JDK8三个重要版本,分别代表了Java发展历程中的关键节点。 JDK6,也称为Java SE 6(标准版6),于2006年发布,是Java平台的一个重要里程碑。此版本引入了许多新特性,如改进的Swing...

    java8 jdk1.8免安装包

    在JDK 1.8中,主要包含以下几个重要组件: 1. **Java编译器**(javac):将源代码编译成可执行的字节码文件(.class)。 2. **Java解释器**(java):负责执行编译后的字节码,使得程序得以运行。 3. **Java文档...

    jdk源码-补充缺少sun包下的源码

    sun包是Oracle JDK中的一个内部包,包含了Java虚拟机(JVM)的核心实现以及一些专有的、非公开的类。这些类通常不推荐在应用程序中直接使用,因为它们可能在不同的JDK版本中发生变化,甚至被移除。然而,对于理解和...

    jdk常用命令

    本文将深入探讨JDK中的常用命令,这些命令对于任何Java开发者来说都是必不可少的知识点。通过理解并熟练运用这些命令,可以极大地提高开发效率。 1. **javac**:这是Java编译器,用于将源代码(.java文件)转换成可...

    json-lib-2.4-jdk15包及其依赖包

    json-lib-2.4-jdk 15及其全部依赖jar包 commons-beanutils-1.8.0.jar、commons-collections-3.2.1.jar、commons-lang-2.6.jar、commons-logging-1.1.1.jar、ezmorph-1.0.6.jar、json-lib-2.4-jdk15.jar

    jdk1.8版本的文件包

    **Java Development Kit (JDK) 1.8详解与配置** ...通过上述介绍,你应该对JDK 1.8及其配置有了全面的认识,如果你是Java开发新手,建议深入学习这些新特性,以便在实际开发中提高效率和代码质量。

    JDK1.8中文文档 JDK1.8中文 jkd8中文文档 JDK中文版

    再者,JDK1.8引入了默认方法(Default Methods)到接口中,这是一个重大的设计改变。默认方法允许在接口中定义具有实现的方法,这样可以在不破坏已有实现的情况下为接口添加新的功能。这在升级API时尤其有用,避免了...

Global site tag (gtag.js) - Google Analytics