1、Java是一种编译型语言
(1)编译型语言和解释型语言的区别
编译型语言(Java、C、C++)
通过编译器将源代码编译成机器码,之后才能执行的语言。一般需经过编译、链接这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。
优点:可以对源代码进行预编译,运行时只需要有编译后的代码就可以了,一次编译多次运行,执行效率高,可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要重新编译,不同操作系统的可执行文件可能根据运行环境不同而改变
解释型语言(JS、Python)
不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。
优点:灵活,修改代码可以直接修改,快速部署,不需要停机维护
缺点:每次运行都需要解释一遍
2、Java的跨平台特性
Java主要就是通过jvm来实现跨平台的,因为Java是编译型语言,当进行编译一次生产class文件时可以在各种操作系统上运行,因为Java提供了jvm来屏蔽不同操作系统底层的操作,相当于不同操作系统的不同的地方由相应的jvm实现了,我们只需要在各种操作系统安装相应的Java虚拟机就可以了
JDK(Java工具包)、JRE(Java运行环境)、JVM(Java虚拟机)
JDK = JRE + 开发工具集
JRE = JVM + Java SE标准库
详细介绍