JDKJRE异常处理的理解

45次阅读

共计 1475 个字符,预计需要花费 4 分钟才能阅读完成。

面试 Java 基础的时候,会涉及到异常处理的问题,连带着对 JDK、JRE 认知想要更清晰些,因此做些总结。

JDK 名称解读

  • 全称是 Java Development Kit, 即 Java 开发组件。 属于开发环境
  • 类比说明:NDK,全称是 Native Development Kit,属于 Android 调用原生接口的应用开发组件,即允许使用 C/C++ 开发。
  • 类比说明:SDK,全称是 Software Development Kit,可以说 JDK 是 Java 的 SDK。
  • JDK 一共有 3 种版本:J2SE 标准版、J2EE 企业版、J2ME 移动设备版,JDK 从版本 jdk1.5 开始,就改名为 Java SE5.0,类似的:

    jdk1.5 即 Jva SE 5.0
    jdk1.6 即 Java SE 6.0
    jdk1.7 即 Java SE 7.0

JDK 作用:

  • 利用基础类库开发 Java 程序
  • 利用 javac ~ 编译器,将源程序编译成字节码文件
  • 利用 jar ~ 打包工具,将相关的类文件打包成一个文件
  • 利用 javadoc ~ 文档生成器,从源码注释中提取文档
  • 利用 jdb ~ debugger 调试器,差错工具

JRE 名称解读

  • 全称是 Java Runtime Envirnment,即运行时环境。 属于运行环境
  • 需要说明的是,JDK 和 JRE 分别属于开发环境和运行环境,但是 jdk1.5 之后,不需要单独安装 JRE,因为为了开发方便起见,jdk1.5 之后,JRE 集成到了 JDK 的安装包下。体现在:JDK 的安装目录下有一个名为 jre 的目录,里面有两个文件夹 bin 和 lib,在这里可以认为 bin 里的就是 jvm,lib 中则是 jvm 工作所需要的类库

JRE 作用:

  • Java 得以跨平台无敌的存在 ~ JVM
  • JAVA 类库(核心类库、扩展类库)
  • Java application launcher,来启动 Java 运行时环境
  • 字节码文件交给 jre,jre 调用 JVM 和运行的类库跑出结果

异常处理

目的在于:解决程序无法掌控的部分,如读取文件、连接网络、使用数据库等。 为了能运行,必须处理这些异常

Error: 继承自 Throwable 类,指的是 JVM 错误,程序并没有执行,需要调 Bug!
Exception: 继承自 Throwable 类,指的是程序之中出现的错误信息,可以进行异常处理

异常处理的基础:

  • System.out.println() 是高代价的,调用该方法会降低系统吞吐量
  • 在生产环境中,禁用异常的 printStackTrace() 方法。printStackTrace() 默认会把调用的堆栈打印到控制台上,在生产环境中访问控制台是不现实的
try{BufferedReader input=new BufferedReader(new     InputStreamReader(System.in));   
    String inputLine=input.readline();   
    int i=Integer.parseInt(inputLine).intValue();}catch(Exception e){e.printStackTrace() ;   
}

常见异常:

  • ArrayIndexOutOfBoundsException
  • NumberFormatException
  • ArithmeticException
  • SQLException
  • IOException
  • RuntimeException

异常处理的方法:

  • 方法声明里增加 throws 异常
  • throw 往外抛异常
  • 使用 try…catch
  • 使用 try…catch..finally

异常处理的原则上是:

  • 能自己处理的不往上抛
  • 尽量把异常细化,避免异常用 Exception 来表示,即在一个 try 语句块中处理尽量少的异常。

正文完
 0