1.JAVA语言真正操作内存的是JVM(JAVA虚拟机),JAVA所有程序都是运行在JVM中的,JVM执行过程中再去操纵内存。
2.JAVA是完全面向对象编程,它的语言底层是C++,JAVA相对于C语言和C++来说,它不能操纵指针(内存),但是好处就是不容易导致内存泄漏,变得更简单了。
3.由于JAVA的底层是C++,所以JVM就是用C++来写好的一个JAVA虚拟机
4.健壮性:JAVA有一种机制叫GC机制(自动垃圾回收机制),GC机制由JVM控制,不需要程序员的干涉
5.完美的支持多线程并发
6.可移植性:编写一次JAVA程序,只要有JVM在,可以在多个平台上运行。如:在Windows上编写的JAVA代码,可以在Linux上运行。
7.JDK, JRE 和 JVM:
JDK 和 JRE 都有单独的安装包,可独立安装, JVM 没有单独的安装包。
在安装JDK的时候会自动安装JRE, JRE一旦安装则自动安装JVM。
JDK :开发工具箱。JRE :运行环境 。JVM :JAVA虚拟机。
8.程序员写好的JAVA代码(源码),其实就是普通的文本,是无法被JVM识别并运行的,需要经过一次编译(通过JDK中的JAVAC工具,运行JAVA源文件将其编译,生成Class文件),将普通的文本编译成字节码文件(不是二进制文件,如果是二进制文件,则可以被操作系统直接识别,不再需要JVM),再通过JDK中的JAVA工具,执行该字节码, 再交给JVM对字节码进行解释(将字节码解释为二进制的),将生成的二进制码交给操作系统,操作系统会执行二进制码和硬件进行交互。