JavaSE -- 【Java语言概述】

144 阅读2分钟

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 字节码文件解释成二进制数据

  • 操作系统操作二进制和底层硬件平台进行交互