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取得许可