Java是于1995年由Sun公司推出的一种跨平台、面向对象的高级程序设计语言。Java最初的名字叫OAK。Java是一种经过解释方式来执行的语言,其语法和C++相似。Java也是一门跨平台的语言,用Java编写的程序能够在任何平台上运行。实现了 "一次编写,处处运行"。html
Java主要分为三个版本:java
版本 | 发布时间 | 特色 |
---|---|---|
JDK1.0 | 1996 | 代号OAK |
JDK1.1 | 1997 | 引入JDBC、java bean、反射、添加内部类支持等 |
JDK1.2 | 1998 | 引入集合框架等 |
JDK1.3 | 2000 | 引入Java Sound API、jar文件索引,进行了大量优化等 |
JDK1.4 | 2004-02 | 添加XML处理、Java打印服务、支持正则表达式等 |
JDK5.0 | 2004-09 | 重大改变:添加自动装箱、自动拆箱、枚举、泛型、注解等 |
JDK6.0 | 2006 | 支持脚本语言、继承Web Services、插拔注解等 |
JDK7.0 | 2011 | 支持动态语言、引入新I/O文件系统等 |
JDK8.0 | 2014 | 接口改进、引入函数式接口、引入Lambda表达式等 |
JDK9.0 | 2017-09 | 模块化、JShell等 |
JDK10.0 | 2018-03 | 局部变量类型推断、删除工具javah等 |
JDK11.0 | 2018-09 | 字符串、集合加强等 |
JDK12.0 | 2019-03 | Switch 表达式、默认CDS归档等 |
JDK13.0 | 2019-09 | Dynamic CDS Archives等 |
JDK、JRE、JVM关系图:
程序员
Java 程序从源代码到运行通常有以下3个步:
正则表达式
咱们须要格外注意的是 .class --> 机器码 这一步。在这一步 JVM 类加载器首先加载字节码文件,而后经过解释器逐行解释执行,这种方式的执行速度会相对比较慢。并且,有些方法和代码块是常常须要被调用的(也就是所谓的热点代码),因此后面引进了 JIT 编译器,而JIT 属于运行时编译。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次能够直接使用。而咱们知道,机器码的运行效率确定是高于 Java 解释器的。这也解释了咱们为何常常会说 Java 是编译与解释共存的语言。编程
在 Java 中,JVM能够理解的代码就叫作字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言经过字节码的方式,在必定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特色。因此 Java 程序运行时比较高效,并且,因为字节码并不针对一种特定的机器,所以,Java程序无须从新编译即可在多种不一样操做系统的计算机上运行。api
API(Application Programming Interface),应用程序编程接口。Java API 是一本程序员的字典,是JDK中提供给咱们使用的类的说明文档。这些类将底层的代码实现封装了起来,咱们不须要关系这些类是如何实现的,只须要学习这些类如何使用便可。因此咱们能够经过查询API的方式,来学习Java提供的类,并得知如何使用它们。
主要使用步骤:安全
JDK13 API文档多线程