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

cing_self
18 声望3 粉丝