JDK、JRE、异常处理的理解

Java基础

浏览数:88

2019-10-14

AD:资源代下载服务

面试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语句块中处理尽量少的异常。

作者:时光格