JDK 和 JRE的区别和联系
JDK 是 Java Development Kit,它是功能齐全的 Java SDK。它包含JRE,还包括编译器(javac)和工具(如 javadoc 和 jdb)。它能够创建和编译程序。
JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。但是,它不能用于创建新程序。如果你只是为了运行一下 Java 程序的话,那么你只需要安装 JRE 就可以了。如果你需要进行一些 Java 编程方面的工作,那么你就需要安装 JDK 了。但是,这不是绝对的。有时,即使您不打算在计算机上进行任何 Java 开发,仍然需要安装 JDK。例如,如果要使用 JSP 部署 Web 应用程序,那么从技术上讲,您只是在应用程序服务器中运行 Java 程序。那你为什么需要 JDK 呢?因为应用程序服务器会将 JSP 转换为 Java servlet,并且需要使用 JDK 来编译servlet。
java的跨平台优势
在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为.class 的文件),它不面向任何特定的处理器,只面向虚拟机。而不同的操作系统对同一个命令有着不同的解释,为了实现java“一次编译,到处运行”的承诺,java开发者开发出了在不同操作系统上运行的jvm虚拟机,现将字节码文件加载到虚拟机当中去,然后不同平台的虚拟机会编译成该操作系统可以正常识别和使用的命令。
java在计算机当中运行的3个阶段
硬盘当中的阶段:*.java文件通过javac编译成*.class文件
Class类加载器阶段:根据变量方法创建相应的对象
运行时阶段:jre将*.class文件加载到JVM中运行