1、Java语言特性
-
简单性:
-
相对而言的,例如Java不支持多继承,C++是支持多继承的(多集成比较复杂)
-
C++中有指针,Java中屏蔽了指针的概念
-
Java底层是 C++ 实现的
-
-
面向对象
- Java是纯面向对象的,更符合人的思维模式,更容易理解
-
可移植性
-
一次编译,到处运行
-
也就是说同一个Java程序可以再windows系统上运行,也可以在其他操作系统上运行,
无需做任何修改
-
-
多线程
-
健壮性
- 与自动垃圾回收机制(GC机制)有关
-
安全性
-
……
2、编译与运行
Java程序的运行包括两个非常重要的阶段。
- 编译阶段 - 运行阶段
编译阶段的过程:
-
编写 .java 扩展名的文件(源文件),需要符合Java语法规则
-
一个Java源文件可以编译生成多个 .class 文件
-
字节码文件(.class文件)是最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响程序的运行,但一般java源程序不要删除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头重新修改java源程序,然后将java源程序重新编译生成新的class文件,然后在运行这个新的class程序,生成新的效果
运行阶段的过程:
-
DOS 窗口 java X.class 命令
-
启动 Java 虚拟机(JVM),JVM会启动类加载器 ClassLoader
-
ClassLoader 会去硬盘上搜索 X.class 文件,找到该文件将该字节码文件装载到 JVM 中
-
JVM 将 X.class 字节码文件解释成二进制数据
-
操作系统操作二进制和底层硬件平台进行交互