1.什么是JAVA?
Java是一门面向对象的高级编程语言,不仅吸收了C++语言的各种优点,比如继承了C++语言面向对象的 技术核心。还摒弃了C++里难以理解的多继承、指针等概念,,同时也增加了垃圾回收机制,释放掉不 被使用的内存空间,解决了管理内存空间的烦恼。 因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地 实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
2.JDK和JRE和JVM的区别?
JDK(Java SE Development Kit),Java标准的开发包,提供了编译、运行Java程序所需要的各种工具 和资源,包括了Java编译器、Java运行时环境、以及常用的Java类库等。
JRE(Java Runtime Environment),Java运行时环境,用于解释执行Java的字节码文件。普通用户只需 要安装JRE来运行Java程序即可,而作为一名程序员必须安装JDK,来编译、调试程序。
JVM(Java Virtual Mechinal),Java虚拟机,是JRE的一部分。它是整个Java实现跨平台的核心,负责 解释执行字节码文件,是可运行Java字节码文件的虚拟计算机。所有平台上的JVM向编译器提供相同的 接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。也就是说 JVM是运行Java字节码的虚拟机。不同平台的JVM是不同的,但是他们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不 同平台实现了相同的虚拟机,编译后的Java字节码就可以在该平台上运行。
如图所示:
为什么要采用字节码: 在 Java 中,JVM 可以理解的代码就叫做字节码 (即Java源代码经过虚拟机编译器编译后扩展名为 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式, 在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。 所以 Java 程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java 程序无 须重新编译便可在多种不同操作系统的计算机上运行。
什么是跨平台: 所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。 实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟 机,该系统就可以运行java程序。
总结
1. JDK 用于开发,JRE 用于运行java程序 ;如果只是运行Java程序,可以只安装JRE,无序安装JDK。
2. JDk包含JRE,JDK 和 JRE 中都包含 JVM。
3. JVM 是 Java 编程语言的核心并且具有平台独立性。