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获得许可
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。