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