一、语言特点
- 面向对象
- 平台无关,提供程序运行的环境
- 健壮,吸收C/C++的优点,但去掉了其影响健壮性的东西(如指针、内存的申请与释放等)
二、程序运行机制及过程
JAVA的两种核心机制:
(1)JAVA虚拟机(JAVA Virtual Machine)
- JAVA虚拟机可理解成以字节码为机器指令的CPU:就像Windows以exe文件为可执行文件一样,JAVA虚拟机以JAVA的代码作为可执行的。
- 不同平台的虚拟机也不同:故JAVA可实现跨平台。
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。
【编译】 和 【解释】:
编译型语言:C、C++这种经编译可以直接转为计算机可识别的语言的。
解释型语言:如JAVA,它第一次编译后是成为自己可执行文件的格式*.class文件,之后还有再执行的过程。
总而言之,就是在JAVA和计算机的操作系统之间还隔了一层
(2) 垃圾收集机制(Garbage Collection)
- 垃圾收集:不再使用的内存空间 应回收。
- 在C/C++等语言中,由程序员负责回收无用内存。
- Java语言提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。
- 垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。
- JDK(JAVA Development Kit):软件开发包,给开发用,含JAVA开发工具及JDK。
- JRE(JAVA Runtime Environment):JAVA运行环境,用户只用这个即可。