在 Java 9 之前用用来给 Java 打包应用程序或者小程序用。但是从 JDK 11 开始不再支持这种方式, 并且在 JDK 9 开始, 可以用 jar 命令来创建模块化的 jar 文件。这里说基础的也是为了接下来的学习必要。
当Java程序发生OOM时,可以通过以下命令检查程序运行情况:常用命令jstack:用于打印出Java进程中各个线程当前的调用栈信息,以及各个线程阻塞的原因等信息。可以通过jstack命令查看是否有线程阻塞、死循环等情况。
Java 程序中显式抛出异常由athrow指令支持,除了通过 throw 主动抛出异常外,JVM规范中还规定了许多运行时异常会在检测到异常状况时自动抛出, 例如除数为0时就会自动抛出异常,以及大名鼎鼎的 NullPointerException 。指令 0~5 对应的就是 try 语句包含的内容,而targer = 8 正好对应 catch 语句块内部操作。