Java 的特点
-
跨平台性
- 因为 Java 是运行在 JVM 上的,所以只有平台上装有 JVM,就可能运行 Java 程序
-
面向对象
- 封装
- 继承
- 堕胎
- 简略性
-
健壮性
- 强类型、垃圾回收机制、异样解决机制
- 安全性
- 反对多线程
JVM、JRE 和 JDK 三者之间的关系
-
JVM–Java Virtual Machine java 虚拟机
Java 程序须要运行在 JVM 上,JVM 在内存中开拓一块空间、将源文件通过编译变成字节码,在不同的平台上有不同的虚拟机,然而都能够编译字节码文件,因而 Java 语言才有了跨平台这一个性,也能够说成一处编译多出执行
- JRE–Java Runtime Enviroment Java 的运行环境
JRE 外面蕴含 JVM, 运行 Java 程序必要的环境 - JDK–Java Development Kit Java 开发工具包
JDK 外面蕴含 JRE
开发时须要用到的工具,JDK 的文件目录如下:
bin 文件夹 全都是工具包
include 文件夹 蕴含了其余语言写的程序
jre 文件夹 蕴含运行环境
lib 文件夹 蕴含了开发人员写好的所有 Java 类 src.zip 压缩文件 源代码
字节码文件
- 以 文件 的模式存储在计算机的硬盘上,源代码 是以后缀名.java 结尾,字节码文件 是以后缀名.class 结尾
- 利用 JDK 包中提供的工具,将源代码通过编译生成字节码
- 字节码是 JVM 能够了解的语言,当源文件编译成字节码文件后,JVM 依据字节码文件把程序翻译成可被机器辨认的二进制文件,最初程序可能运行
Java、C++ 和 C 之间的关系
- Java 和 C ++ 是面向对象的,C 是面向过程的
- Java 和 C ++ 面向对象的个性都是封装、继承和多态
- Java 不提供指针来间接拜访内存,而 C ++ 和 C 可能应用指针
- Java 的类是单继承、C++ 是多继承
- Java 有主动内存管理机制,主动开释内存,而 C 或 C ++ 都须要本人开释内存
Open JDK 和 OracleJDK 的比照
- Java 最早是由 SUN 公司创造进去的,在 2006 年时 SUN 公司将其开源了,此时的 JDK 称为 Open JDK,而在 2009 年 Oracle 收买了 SUN 公司,JDK 被命名为 Oracle JDK
- Oracle JDK 是基于 OpenJDK 源代码构建的,OpenJDK 是开源的,Oracle JDK 是官网的,不是齐全开源的
- Oracle JDK 每三年公布一次长期反对的版本,而 OpenJDK 每三个月公布一次
- OracleJDK 依据二进制代码许可协定取得许可,而 OpenJDK 依据 GPL 取得许可