面向对象、平台无关性(Java虚拟机实现)、支持多线程(而C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计)、可靠性、安全性、编译与解释并存
编译型语言:
编译型语言会通过编译器将源代码一次性翻译成可被平台执行的机器码。一般情况下,编译型语言的执行速度比较快,开发效率比较低。常见的有C、C++、Go等等。
解释性语言:
解释性语言会通过解释器一句一句的将代码解释为机器代码后再执行。解释性语言的开发效率比较快,执行速度比较慢。常见的解释性语言有Python、JavaScript等等。
编译与解释并存:
Java程序要经过先编译、后解释的步骤。Java中会将源代码通过javac编译成字节码(class文件),然后运行的时候JVM会将字节码解释为对应的机器码,最后执行。