Java语言的特点是什么?

面向对象性:两个基本概念:类、对象;三大特性:封装、继承、多态
>健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
>跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”

image.png
image.png
image.png
image.png
image.png

JDK、JRE、JVM

  1. JDK是提供给java开发人员使用(java development kit)
    1. 包含开发工具(编译工具、打包工具)和JRE(运行环境)
  2. JRE是java运行环境(java runtime environment)
    1. java虚拟机(JVM)和java程序所需要的核心类(Java SE标准类库)
  3. JVM是java虚拟机(java virtual machine)

JDK = 开发工具(java, javac, javadoc) + jre
JRE = java核心类库 + jvm
jvm是java虚拟机
image.png

jdk目录

  1. bin:java开发工具
    1. javac:编译工具
    2. java:解析工具
    3. javadoc:生成网页文档指令
  2. db:java数据库
  3. include:c语言编写的文件,调用c语言使用
  4. jre:运行时环境
  5. lib:相关的java包
  6. src.zip:存放常见开源代码

    javadoc

    javadoc -d folder -author -version file.java

    javaapi文档

    application programming interface
    应用程序编程接口
    https://www.oracle.com/java/technologies/downloads/
    image.png

    JDK版本介绍

  • JDK1.4 正则表达式、异常链、NIO、日志类、XMl解析器、XLST转换器
  • JDK1.5 自动装箱、泛(fàn)类、动态注解、枚举、可变长参数、遍历循环
  • JDK1.6 提供动态语言支持、提供编译API和卫星HTML服务器API、改进JVM的锁、同步垃圾回收、类加载
  • JDK1.7 提供GI收集器、加强对非JAVA语言的调用支持( JSR-292,升级类加载框架 )
  • JDK1.8 Lambda表达式、方法引用、默认方法、新工具、Stream API、Date Time API、Optional类、Nashorn、JavaScript引擎
  • JDK9 模块系统、交互式编程环境、HTTP2客户端、改进的javadoc、多版本兼容jar包、集合工厂方法、私有接口方法、进程API等
  • JDK10 局部变量类型推导、将JDK多存储库合并为单存储、库垃圾回收接口并行Full GC的G1、应用数据共享
    • 线程局部管控、移除Native-Header Generation Tool(javah)、Unicode、标签扩展、备用内存设备上分、
    • 配堆内存、基于实验JAVA的JIT编译器、Root证书、基于时间的版本控制
  • JDK11

  • javase 标准版

  • javaee 企业版
  • javame 小型版