共计 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 语句块中处理尽量少的异常。
正文完
发表至: java
2019-10-11