什么是Java
Java是一种编程语言和计算平台。计算平台是在电脑中运行应用程序(软件)的环境,包括硬件环境和软件环境。
Java分为三个版本:
- JavaSE(Java Platform Standard Edition, java平台标准版)
- JavaEE(Java Platform Enterprise Edition, java平台企业版)
- JavaME(Java Platform Micro Edition, java平台微型版)
Java的特点
- 简单易学
- Java是一门面向对象的编程语言(封装、继承、多态),可以不用严格按照顺序来执行每个动作。相对应的就是面向过程。
- Java具有平台独立性和可移植性(由Java虚拟机 JVM 来实现)
- Java支持多线程。实现多线程有三种方式:在用户空间实现、在内核空间实现、在两者混合实现。Java是在用户空间实现。
- Java具有高性能,编译与解释并存。
- Java语言具有健壮性。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。
- Java很容易开发分布式项目,支持网络编程且很方便。
JVM vs JDK vs JRE
JVM
Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现,目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。
JDK
JDK 是 Java Development Kit 缩写,它是功能齐全的 Java SDK。它拥有 JRE 所拥有的一切,还有编译器(javac)和工具(如 javadoc 和 jdb)。它能够创建和编译程序。
JRE
JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。但是,它不能用于创建新程序。
Java和C++的区别
1.相同点
- 都是面向对象的语言
- 都支持封装、继承和多态
2.不同点
- Java 不提供指针来直接访问内存,程序内存更加安全
- Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。
- Java 有自动内存管理垃圾回收机制(GC),不需要程序员手动释放无用内存。
- C ++同时支持方法重载和操作符重载,但是 Java 只支持方法重载(操作符重载增加了复杂性,这与 Java 最初的设计思想不符)。
- …
“编译与解释并存”
- 编译型 :编译型语言 会通过编译器将源代码一次性翻译成可被该平台执行的机器码。一般情况下,编译语言的执行速度比较快,开发效率比较低。常见的编译性语言有 C、C++、Go、Rust 等等。
- 解释型 :解释型语言会通过解释器一句一句的将代码解释(interpret)为机器代码后再执行。解释型语言开发效率比较快,执行速度比较慢。常见的解释性语言有 Python、JavaScript、PHP 等等。
Java 语言既具有编译型语言的特征,也具有解释型语言的特征。
Java 程序要经过先编译,后解释两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。