相关:并发,Java ES
java语言的创始: James-Gosling
Java语言的公司:SUN Standford University Network
Java语言的几大重大事件:
1995 正式发布
1996 发布JDK1.0
1999 发布第二代Java平台 简称Java2 细化了三个版本
(J2SE)Java2 Standard Edition Java第二代平台标准版 桌面版 C/S
(J2EE)Java2 Enterprise Edition Java第二代平台企业版 企业版 B/S
(J2ME)Java2 Micro Edition Java第二代平台微型版 移动端
2004 JDK1.5 添加了很多新特性(泛型,枚举,自动拆装箱,增强for循环)
2005 Java6
2009 Oracle公司74亿美元收购SUN
2011 Orale Java7
2014 Java8
2017 Java9
JDK
开发商:Oracle,OpenJDK(adopt-openjdk,Amazon Corretto JDK、Azul Zulu CommunityTM JDK、Eclipse Temurin JDK,微软JDK)
版本:
JDK版本 | 特性 | 详细 | |
---|---|---|---|
JDK1.0 | 96-1-23 | 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT, | 性能比较差,运行速度慢 |
JDK1.1 | 97-2-19 | JDBC,支持内部类,RMI,反射,Java Bean | |
JDK1.2 | 98-12-8 | 集合框架,JIT编译器,对打包的Java文件进行数字签名,JFC,Java插件,JDBC引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型,Applet中添加声音支持 | |
JDK1.3 | 00-5-8 | Java Sound API,Jar文件索引,对Java的各个方面都做了大量优化和增强 | |
JDK1.4 | 04-2-6 | XML处理,Java打印服务,LoggingAPI,Java Web Start,JDBC3.0API,断言,Preferences API,链式异常处理,支持IPV6,支持正则表达式,引入Image I/O API,NIO | |
JDK1.5 | 04-9-30 | 泛型,自动拆装箱,foreach,static import,可变参数,引入注解 | |
JDK1.6 | 06-12-11 | 增强for循环,监事和管理,插入式注解处理,安全性 | |
JDK1.7 | 11-7-28 | 模块化特性,多语言支持,开发者的开发效率得到了改善,执行效率的提高 | |
JDK8 | 14-3-18 | Lambda表达式,函数式接口,访问接口的默认方法,方法与构造函数引用,Lambda 作用域,访问局部变量,访问对象字段与静态变量 | |
JDK9 | 17-9-22 | Java 平台级模块系统,集合工厂方法,接口中的私有方法,JShell,Linking,改进的Javadoc,改进的Stream API,HTTP/2,多版本兼容 JAR | |
JDK10 | 18-3-21 | 新增局部变量类型推断 var,删除工具 javah,统一的垃圾回收接口,改进了 GC 和其他内务管理,其他新特性 | |
JDK11 | 18-9-25 | Lambda 表达式中使用 var,字符串 API 增强,标准化 HTTPClient API,java 命令直接编译运行 java,增加对 TLS 1.3 的支持 | |
JDK12 | 19-3-19 | ||
JDK13 | 19-9-17 | ||
JDK14 | 20-3-17 | ||
JDK15 | 20-9-15 | ||
JDK16 | 21-3-16 | ||
JDK17 | 21-9-14 | ||
JDK18 | 22-3-22 | ||
JDK19 | 22-9-20 |
添加NIO
有永久代, 运行时常量池在永久代,运行时常量池包含字符串常量池
有永久代,但已经逐步“去永久代”,字符串常量池从永久代里的运行时常量池分离到堆里
无永久代,运行时常量池在元空间,字符串常量池里依然在堆里
Java语言的特点:
*1.跨平台性 平台(不同厂商的芯片) 平台(不同版本的操作系统)
*2.面向对象
3.简单性 省去了C++多继承,指针等等
4.健壮性(鲁棒性) 垃圾回收机制 异常处理机制
5.多线程 并行操作 提高执行性能 线程安全
6.大数据开发(包括Hadoop)
开发工具:
JVM Java Virtual Machine 虚拟机(源代码文件.java--编译-->字节码文件.class)
JRE Java Runtime Environment 运行环境(运行.class)
JDK Java Development Kit 开发工具
JDK
bin文件夹 全都是工具
include文件夹 包含了其他语言写的程序
native修饰符之后就看不见
jre文件夹 包含运行环境
lib文件夹 包含了人家写好的所有Java类
src.zip 源代码
使用bin工具
#编译
javac xxx.java
#执行
java xxx
#反编译
javap -v xxx
#查询Java启动时定义好的变量
java -XX:+PrintCommandLineFlags -version
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。