图片JDK 1.9(Java SE 9) 模块化2017年9月22日,Java SE 9 发布,强化了Java的模块化系统,让庞大的Java语言更轻量化,,并在核心类库上进行了大量更新,可以进一步简化编程 JDK 1.11(Java SE 11) 3年周期Java 10 发布半年之后,即2018年9月25日,甲骨文公司宣布Java 11 (18.9 LTS) 正式发布,值得注意的是,Java 11是Java 的一个长期支持版本LTS(Long Term Support),Java 11的技术支持时间直到2023年9月份,补丁和扩展支持直到2026年9月份。 图片图片JDK 1.13(Java SE 13) 优雅长文本Java 13 早在 2019 年 9 月就已经发布,虽然不是长久支持版本,但是也带来了不少新功能。 图片图片总结以上就是Java发展史的简单总结,而一种语言如果想要长久的发展,就要不断的进行更新,保持行业领先,并且Java使用前景也比较广阔,许多企业都在使用,而如果要学习的同学们,可以选择长期支持版本进行学习
第一阶段 2001年以前,Java是没有日志库的,打印日志全凭System.out和System.err 缺点: 产生大量的IO操作同时在生产环境中无法合理的控制是否需要输出 输出的内容不能保存到文件 且日志粒度不够细 第二阶段 2001年,一个ceki Gulcü的大佬搞了一个日志框架 log4j后来( log4j成为Apache项目,Ceki加入Apache组织 Apache还曾经建议Sun引入Log4j到Java 第三阶段 sun有自己的小心思,2002年2月JDK1.4发布,Sun推出了自己的日志标准库JUL(Java Util Logging),其实是照着Log4j抄的,而且还没抄好,还是在JDK1.5以后性能和可用性才有所提升 2006年巨佬Ceki( Log4j的作者)因为一些原因离开了Apache组织,之后Ceki觉得JCL不好用,自己搀了一套新的日志标准接口规范Slf4j (Simple Logging Facacfor Java 根本原因还在于,随着用户体量的提升,Log4j无法满足高性能的要求,成为应用的性能瓶颈 目前Java日志体系关系图如下 通过SLF4j桥接到具体的日志框架实现 通过其他日志框架桥接到slf4j 第七阶段
现时,移动操作系统Android大部分的代码采用Java 编程语言编程。 Java 发展史 ? JAVA技术 1996年9月,约8.3万个网页应用了JAVA技术来制作 1997年2月18日,JDK1.1发布 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录 发布 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机 2001年9月24日,J2EE1.3发布 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。 Java SE 7 2014年3月18日,Oracle公司发表Java SE 8(市场主流版本) 2017年9月21日,Oracle公司发表Java SE 9 语言特性 Java之所以被开发
6、 Spring boot 发展史介绍(2019年转载) 1)Spring 框架的历史 起点 2002 年 10 月,Rod Johnson 撰写了一本名为 Expert One-on-One J2EE 2.Spring Boot 1.2(2015 年 3 月) - 升级到 servlet 3.1 / tomcat 8 / jetty 9,spring 4.1 升级,支持 banner / jms / 6.Spring boot 2.0(2018 年 03 月)-基于 Java 8,支持 Java 9,支持 Quartz ,调度程序大大简化了安全自动配置,支持嵌入式 Netty Spring Boot 2016 年 9 月,雅典发布了首个按字母顺序排列的城市命名的 Spring io 平台版本。它包含 Spring Boot 1.4 和其他第三方库升级。 Spring 时间线图表 有人说,Spring Boot的出现,让Java迎来了又一春,它是Java应用开发的颠覆者,彻底改变了Java应用开发的模式。
Java语言的发展史 Java 语言源于 1991 年 Sun 公司 James Gosling 领导的的 Oak 项目,1995 年 Sun 公司正式起名为 Java,并提出“Write once, 1998 年 12 月,Java 第一个里程碑式的版本,即 Java 1.2 发布了。 2004 年 9 月,Java 5 发布,Sun 不再采用 J2SE, J2EE 这种命名方式,而使用 Java SE 5, Java EE 5 这样的名称。 美国当地时间2018 年9月25日,Oracle 官方宣布Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java8 后的首个长期支持版本。 Java一直都是榜单前几名的存在。Java究竟有多火呢?
Java发展史 Java编程语言从诞生到现在已经二十年多年,现已发展成为计算机史上影响深远的编程语言之一,开源/跨平台是其最大的特征,也正是因为此,Java不断地吸引世界上众多优秀程序员来进行学习。 image 说起Java的发展史,就不得被提及“Java之父”---詹姆斯·高斯林(James Gosling),他于1955年5月19日出生在加拿大,Java编程语言创始人之一。 值得关注的是,Java1.4还发布了很多新的特性,如正则表达式、异常链、NIO、日志类、XML解析器和XSLT转换器等。 2004年9月30日,Java1.5发布,工程代号Tiger(老虎)。 在历经多次跳票之后,2017年9月22日,Java1.9正式发布,带来了众多特性,其中最为关注的是模块化(Project Jigsaw),该特性使Java可以适应不同大小的计算设备,改进其安全性,可维护性 模块化(Project Jigsaw)从Java1.7阶段就开始筹备,Java1.8阶段进行了大量工作,终于在Java1.9里落地; 说完了,Java的发展史。
Java虚拟机(JVM)作为Java技术体系的核心,其发展历程与Java语言本身紧密交织,共同实现了“一次编写,到处运行”的宏伟愿景。 JVM实现百花齐放:IBMJ9(现EclipseOpenJ9):IBM开发的高性能JVM,以其低内存占用和快速启动著称,尤其适合云原生和容器化环境。 五、持续演进:规范与标准化Java虚拟机规范(JVMS):自Java诞生起,Sun(后为Oracle)就维护着《Java虚拟机规范》。 例如,为了支持Java8的Lambda表达式,JVM引入了invokedynamic指令;为了支持模块化(Java9),JVM增加了对模块系统(JPMS)的支持。 总结JVM的发展史是一部不断追求性能、兼容性与开放性的历史。
所以胖哥抽时间梳理了一下从Java 9到Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 Java 9改善了这一现状,现在你可以: // [1, 2, 3, 4] List<Integer> integers = List.of(1, 2, 3, 4); // {1,2,3} Set<Integer Stream扩展 Stream API 是Java 8中引入的最重要的特性之一。在Java 9中Stream进一步得到了加强。 总结 其实Java 9 还有一些底层的优化,不过对于普通开发者来说了解这些就够用了。上面几个特性,比较常用的就是静态不变集合、try-with-resources优化。
所以胖哥抽时间梳理了一下从Java 9到Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 Java 9改善了这一现状,现在你可以: // [1, 2, 3, 4] List<Integer> integers = List.of(1, 2, 3, 4); // {1,2,3} Set<Integer Stream扩展 Stream API 是Java 8中引入的最重要的特性之一。在Java 9中Stream进一步得到了加强。 总结 其实Java 9 还有一些底层的优化,不过对于普通开发者来说了解这些就够用了。上面几个特性,比较常用的就是静态不变集合、try-with-resources优化。
java发展史 ? 版本历史: 1995年5月23日,Java语言诞生 1996年1月,第一个JDK-JDK1.0诞生 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术 1996年9月,约8.3 年9月24日,J2EE1.3发布 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑 SE 7 2014年3月18日,Oracle公司发表Java SE 8 2017年9月21日,Oracle公司发表Java SE 9 2018年3月21日,Oracle公司发表Java SE 10 2018 年9月25日,Java SE 11发布 参考:https://zh.wikipedia.org/wiki/Java ?
从Clippy到AI助手,从本地文档到云端协作,Word的发展史折射出办公软件30年的进化逻辑——让专业功能触手可及。 从继承Lotus宏基因到拥抱AI,Excel的四十年发展史揭示一个悖论:最复杂的功能往往藏在最直观的界面之下。 从替代U盘到成为生产力中枢,OneDrive的发展史揭示了云存储的终极形态——让存储隐形,让协作无感。 对Microsoft Xbox的讨论,呈现出从「主机战争参与者」到「游戏订阅革命者」的战略转型,其20余年发展史堪称科技巨头跨界破局的经典案例。
引言近期在 Baeldung 看到了一篇有关Java9模块化入门介绍的文章,整体翻译加理解下来发现确实不错,个人认为美中不足的是项目构建过于简单和偏手动,个人建议找一些简单的Java9以及之上的开源项目结合参考使用更佳 原文A Guide to Java 9 Modularity | Baeldung1. Module System (JPMS), or “Modules” for short.Java 9 在包上面引入了新的层次,正式的名称叫做 Java 平台模块系统(JPMS),或者更简单称之为“模块 Default ModulesWhen we install Java 9, we can see that the JDK now has a new structure.安装JDK9之后可以看到现在有一个新结构 比如我们使用Java9运行低版本的Java8的程序时候,可能需要添加模块化。
一、前言 通过上一节,我们对整个java的技术体系有了一定的了解。 这一节我们来看下Java的发展史。 二、Java发展史 1.时间线 image.png 序号 发布日期 JDK 版本 新特性 详细说明 0 1991.04 Oak 1991.04,由 James Gosling 博 士 领 导 的 绿 2004.09.30 JDK 1.5 自 动 装 箱、 泛 型、 动 态 注 解、 枚 举、 可 变 长 参 数、 遍 历 循 环( foreach 循 环)、改进内存模型、提供并发包 2004 年 9 SE 6、 Java EE 6、 Java ME 6 的 命 名 方 式。 9 2009.02 JDK 7 2009 年 4 月 20 日, Oracle 公 司 宣 布 正 式 以 74 亿 美 元 的 价 格 收 购 Sun 公 司 10 2014.03 JDK 8 Lambda
《Java String 两种不同的赋值方案比较》 http://blog.163.com/woshihezhonghua@126/blog/static/1271436362012101214031911 / 简单来说,就是因为java的编译器会自动给你加上。 由此,我想到两点: 第一是,java中的那些基本数据类型,会不会也是由编译器自动加上new这个关键字的。搜了一下必应,没搜到什么有效的答案。 如果常量池中的“hello”长时间没有被引用,java的垃圾回收器就会自动将它回收,释放“hello”对象所占用的空间。对于堆内存中的“hello”对象也是如此。 这里补充说一下,在java中,双等号是用来判断相等的,在String中它判断的是对象的地址是否相等,若要判断String的值是否相等,要用equals方法。
在Java SE 9之前,JDK构建系统用于生成两种类型的运行时映像 ——Java运行时环境(JRE)和Java开发工具包(JDK)。 Java SE 9之前的JDK和JRE目录布局 在 Java SE 9之前,JDK中: bin目录用于包含命令行开发和调试工具,如javac,jar和javadoc。 Java SE 9中的JDK目录布局 在Java SE 9 的JDK中: 没有名为jre的子目录。 bin目录包含所有命令。 在Windows平台上,它继续包含系统的运行时动态链接库。 ="Windows" JAVA_VERSION="9" JAVA_FULL_VERSION="9-ea+133" 在列表中只显示了三个模块。 Java SE 9仍然支持认可的标准和独立API覆盖机制。 在Java SE 9中,运行时映像由模块组成。 要使用此机制,需要使用更新版本的模块,用于支持标准和独立API。
引言 近期在 Baeldung 看到了一篇有关Java9模块化入门介绍的文章,整体翻译加理解下来发现确实不错,个人认为美中不足的是项目构建过于简单和偏手动,个人建议找一些简单的Java9以及之上的开源项目结合参考使用更佳 原文 A Guide to Java 9 Modularity | Baeldung 1. Java 9 在包上面引入了新的层次,正式的名称叫做 Java 平台模块系统(JPMS),或者更简单称之为“模块”。 在Java9之后,这种反射滥用的行为受到明确限制,我们必须要明确授予其他模块对于我们模块的反射访问权限。 比如我们使用Java9运行低版本的Java8的程序时候,可能需要添加模块化。
为了炫耀 Java 语言超强的能力,HotJava 浏览器采用 Java 编写。设计者让 HotJava 浏览器具有在网页中执行内嵌代码的能力。 Java 带来了 Applet image 图片来源:https://www.ibm.com/developerworks/cn/java/ Java 带着 Applet 及时出现。 Java 后来编写的被称为 Servlet 的程序 (及其衍生物 JSP),是许多开发网站的公司迁移到 Java 上的主要原因。 至此,欢迎你进入 Java 的世界。 参考资料 《Thinking in Java》 第四版; 《Java 核心技术 卷 I》 第 11 版; The complete History of Java Programming Language
Java发展史 Java是由Sun公司于1995年5月推出的面向对象的程序设计语言。 编程环境以及编程软件 2018年9月25日,Java11(18.9 LTS)正式发布,支持期限至2026年9月。 JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。 JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。 另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境。
序 本文介绍下如何在docker运行java9 镜像 docker pull openjdk:9-jdk 启动 docker run -it openjdk:9-jdk /bin/jshell 然后就可以正常使用 (1,2,3,4).stream().limit(3).forEach(e -> System.out.print(e)) 123 退出 jshell> /exit | Goodbye 查看此镜像的java 版本 docker run -it openjdk:9-jdk /bin/bash root@44d1d18351a8:/# java -version openjdk version "9-Debian " OpenJDK Runtime Environment (build 9-Debian+0-9b181-4) OpenJDK 64-Bit Server VM (build 9-Debian+0-9b181 -4, mixed mode) doc Start using Java 9 shell — jshell with docker
我们还将讨论JavaScript的发展史,从它的起源一直到现在的现代JavaScript。 什么是 JavaScript JavaScript,通常简称JS,是一种用于构建交互式网页的脚本语言。 后来,为了搭上当时非常流行的Java的热度,更名为"JavaScript"。但需要注意的是,JavaScript与Java没有直接关系,它们是两种完全不同的编程语言。 JavaScript 的发展史 为了更好地理解JavaScript,让我们回顾一下它的发展史。JavaScript的历史可以大致分为以下几个阶段: 1. ES9(ECMAScript 2018): 2018年,ECMAScript 9发布,引入了诸如spread和rest操作符、Promise.finally等新特性,以及正则表达式相关的改进。