![](https://img-blog.csdnimg.cn/20201231143457258.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java各个版本
文章平均质量分 87
java1.5以后的所有版本,新功能等。
天海华兮
蹉跎错,消磨过,最是光阴化浮沫。
展开
-
java8-16好用的新特性:封印类,增强空指针,switch表达式,文本块,record类,匹配模式
封印类,增强空指针,switch表达式,文本块,record类,匹配模式转载 2022-01-21 14:54:00 · 473 阅读 · 0 评论 -
胖哥java9 创建不可变集合 ofNullable判断空 iterate takeWhile try-with-resources 接口私有方法
Java 9Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多新的创建集合的方法用过谷歌Guava类库的知道,Guava提供了创建集合的静态工厂方法,而且能够推断泛型,举个例子:List<Person> list = Lists.newArrayList();//创建的时候,用 list<person>接收Map<KeyType, Person> map = Maps.newLinkedHashMap();//创建 likedHashM转载 2021-11-11 17:08:29 · 225 阅读 · 0 评论 -
胖哥java10 局部类型推断 不可变集合
Java 10从Java 10 开始,Java的迭代周期缩短为半年,半年发布一个版本。局部变量类型推断在Java 6时初始化一个Map需要我们这样来声明:Map<String, String> map = new HashMap<String,String>();事实上泛型方法的参数可以通过上下文推导出来,所以在Java 7 中简化为:Map<String, String> map = new HashMap<>();到了Java 10 进一转载 2021-11-11 14:56:29 · 113 阅读 · 0 评论 -
胖哥java11新特性 isBlank strip 集合数组转换 断言取反 文件中读写字符串
Java 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。今天我们接着在Java 9 到 Java 17系列文章中来认识针对普通开发者的Java 11。字符串API增强在Java 11中,针对String的操作进一步得到加强。避免我们在很常见的场景中引入额外的、复杂的API。isBlank()用来判断字符串是不是空字符""或者trim()之后(" ")为空字符:String blankStr = " ";// trueboolean trueVal = b转载 2021-11-10 19:26:27 · 207 阅读 · 0 评论 -
胖哥java12新特性 字符串缩进和转换成流,文件内容匹配,teeing,数字格式化
字符串增强Java 12 进一步对字符串操作进行增强,增加了两个方法。字符串缩进String indent(int n) 会根据参数n对字符串进行缩进。具体的规则是当n>0时,会在字符串的每一行开头插入n个空格,字符串整体右移。当n<0时,会在字符串的每一行开头删除n个空格,如果实际的空格数小于n,删除该行所有空格,但是并不会换行。如果您正在学习Spring Boot,推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot转载 2021-11-10 19:25:02 · 494 阅读 · 0 评论 -
java17密封类
密封类是Java 17正式支持的一个新特性,、它让Java中类的继承可以更加细粒度的进行控制。密封类在以往的Java类继承中,Java类的继承控制非常有限,仅能通过final关键字和访问控制符来控制类的继承。例如final类无法被继承;包私有类仅仅只能在该包下进行继承。这显然是不够的。如果一个功能只允许出现在Phone和Pad上,不允许出现在Computer上。如果不对该功能的继承实现进行限制,开发人员将很容易滥用该功能的实现类,错误地重用一些代码。这就是密封类产生的原因。密封转载 2021-11-10 19:23:21 · 613 阅读 · 0 评论 -
Java 11—Java 15特性
Java 11 特性详解Http Client API //创建 httpClient HttpClient client = HttpClient.newHttpClient(); //创建 请求的地址, uri 构建 HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://www.baidu.com/")) .build(); //发送异步消息,然后把结果打印 出来 cli转载 2021-11-08 21:37:22 · 567 阅读 · 0 评论 -
JAVA 11新特性第二篇 (17 个新特性)
[JAVA 11] 17 个新特性181: Nest-Based Access Control(基于嵌套的访问控制)这个JEP最直接的表现就是修复了以下代码所表现出的问题:/** * JEP181 基于嵌套的访问控制 */public class JEP181 { //定义 静态类 Inner2 public static class Inner2 { //里面包含 私有变量 var2 private int var2; } //原创 2021-01-29 09:19:09 · 723 阅读 · 0 评论 -
java16 新特性
JDK 16:Java 16的新功能 - InfoWorld可以在jdk.java.net上找到适用于Linux,Windows和MacOS的JDK 16的早期版本。与JDK 15一样,JDK 16将是一个短期版本,支持六个月。将于2021年9月发布的JDK 17将是一个长期支持(LTS)版本,将获得数年的支持。当前的LTS版本JDK 11已于2018年9月发布。JDK 16将作为标准Java版本的参考实现,将在明年2021年3月到来。截至10月8日,八项提案正式针对JDK16。Java16原创 2021-01-28 20:39:14 · 4212 阅读 · 0 评论 -
java15新特性
JDK 15 JAVA 15的新特性展望2020年9月15号,Java15它依旧如期而至。目录JEP 371: Hidden ClassesJEP 372: 删除 Nashorn JavaScript EngineJEP 377: 新的垃圾回收器ZGC正式上线了JEP 378: Text Blocks 标准化JEP 379: 新的垃圾回收器Shenandoah上线总结JDK 15 JAVA 15的新特性展望伴随着2020的寒冬和新冠病毒的肆虐,JAVA迎来了久未已久的JAVA 1原创 2021-01-28 19:35:10 · 354 阅读 · 1 评论 -
java14新特性
Java14发布,16大新特性,代码更加简洁明快现在官方 最新的为 8,11,152020/3/17日JDK14正式发版,生产环境用不用再说,赶紧下载下来体验一番。不过据说该版本并不是长期版本,但即使再发布新版本也是在此基础上的。另外,想体验Java14还是需要一些准备工作的,除了安装jdk,还需要安装支持java14的idea,比如2020.1版本。当然,如果整个团队都使用该版本,则需要同时升级IDE,否则低版本的IDE无法正确识别。java14新特性在JDK14中新增了以下16个新特性:原创 2021-01-27 18:58:45 · 347 阅读 · 0 评论 -
Java13 新特性
Java 13 来袭,最新最全新特性解读2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布。目前,JDK官网上已经可以看到JDK 13的进展,最新版的JDK 13将于2019年9月17日发布。JCP(Java Community Process) 是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新。目前,JDK13处于Release-Candidate Phase(发布候选阶段),将于9原创 2021-01-26 22:38:35 · 294 阅读 · 0 评论 -
Java12 新特性
Java 12 新特性1 Switch 表达式使用Java 12,switch不仅可以作为语句也可以作为表达式。无论作为语句或者作为表达式,switch都可以使用传统/简化的作用域和控制流行为。这将有助于简化代码,并为在switch中使用模式匹配铺平道路。Java开发人员正在增强 Java编程语言,以使用 模式匹配 来解决当前switch语句的几个问题。这包括:switch块的默认控制流行为,switch块默认作用域(被视为单个作用域的块)和switch仅作为语句。在 Java 11原创 2021-01-26 15:20:20 · 98 阅读 · 0 评论 -
Java11 主要新特性
JDK 11已经于 2018年9月25日正式发布JDK 11是Java SE 11平台版本11的开源参考实现,由JSR 384在Java Community Process中指定。阿里巴巴是中国唯一的JCP委员会成员公司,参与Java规范制定。该版本的功能和时间表是通过 JEP流程提出和跟踪的,并由JEP 2.0提案进行了修订。 使用JDK Release Process(JEP 3)生成发布。JEP是Java expression parser的简称,即java表达式分析器,Jep是一个用来.原创 2021-01-26 14:31:08 · 1457 阅读 · 0 评论 -
Java 10的新特性
Java 10的新特性1.局部变量类型推断局部变量类型推断可以说是Java 10中最值得注意的特性,这是Java语言开发人员为了简化Java应用程序的编写而采取的又一步,list <String> list = new ArrayList <String>(); var list= new ArrayList<String>();var stream = getStream();这个新功能将为Java增加一些语法糖 - 简化它并改善开发者体原创 2021-01-25 20:26:44 · 107 阅读 · 0 评论 -
java9新特性
Java 9 新特性Java 9 发布于 2017 年 9 月 22 日,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。接下来我们会详细介绍 Java 9 的新特性。Java 9 新特性模块系统:模块是一个包的容器,Java 9 最大的变化之一是引入了模块系统(Jigsaw 项目)。REPL (JShell):交互式编程环境。HTTP 2 客户端:HTTP/2标准是HTTP协议的最新版本,新的 HTTPClient API 支持 **WebSocket **和 HTTP2 流以原创 2021-01-24 17:57:54 · 142 阅读 · 0 评论 -
java泛型中<?>和<T>有什么区别?
java泛型中和有什么区别?T 代表一种类型加在类上:class SuperClass{}加在方法上:public void fromArrayToCollection(T[] a, Collection c){}方法上的代表括号里面要用到泛型参数,若类中传了泛型,此处可以不传,调用类型上面的泛型参数,前提是方法中使用的泛型与类中传来的泛型一致。class People{ public void show(T a) {}}T extends T2 指传的参数为T2或者T原创 2021-01-17 20:59:10 · 1379 阅读 · 0 评论 -
java.util.function.Predicate
一、java.util.function.Predicate这里类是java自带主要广泛用在支持lambda表达式的API中。1、接口源码@FunctionalInterfacepublic interface Predicate<T> { /** * 具体过滤操作 需要被子类实现. * 用来处理参数T是否满足要求,可以理解为 条件A */ boolean test(T t); /** * 调用当前Predicat原创 2021-01-16 20:34:31 · 1699 阅读 · 0 评论 -
java8新特性总览2
Java 8 新特性Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。新特性Java8 新增了非常多的特性,我们主要讨论以下几个:Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。方法引用 − 方法引用提供了非常有用的语法,可以直接原创 2021-01-13 20:52:59 · 207 阅读 · 0 评论 -
java8新特性 时间操作类 Duration Period和 LocalDateTime LocalDate LocalTime
新的日期API:LocalDate | -LocalTime |LocalDateTime新的日期API都是不可变的,更适用于多线程的使用环境中。补充: 优点表示日期的 LocalDate表示时间的 LocalTime表示日期时间的 LocalDateTime新的日期API的几个优点:之前使用的java.util.Date月份从0开始,我们一般会+1使用,很不方便,java.time.LocalDate月份和星期都改成了enum。java.util.Date和Simp原创 2021-01-06 15:43:45 · 972 阅读 · 0 评论 -
java8新特性 方法引用 流 optional等
总览jdk1.8对hashMap等map集合的优化Lambda表达式函数式接口方法引用和构造器调用Stream API并行流和串行流Optional容器Java 8引入Optional类来防止空指针异常,Optional类最先是由Google的Guava项目引入的。Optional类实际上是个容器:它可以保存类型T的值,或者保存null。使用Optional类我们就不用显式进行空指针检查了。接口中的默认方法和静态方法新时间日期API定义可重复的注解在Java 5中使用原创 2021-01-06 15:40:08 · 319 阅读 · 0 评论 -
JDK7新特性
JDK7新特性1.二进制字面量JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。使用二进制字面量的好处是,可以使代码更容易被理解。语法非常简单,只要在二进制数值前面加 0b或者0B例如:int x = 0b1101102.数字字面量为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。举例:int x = 100_1000;注意事项:不能出现在进制标识和数值之间不能出现在数值开头和结尾不能出现在小数点旁边switch中可原创 2020-12-31 14:40:15 · 564 阅读 · 0 评论 -
java5,java6 新特性
JDK5新特性新特性包括:自动拆装箱、泛型增强for可变参数和枚举枚举(enum)枚举概述:是一个类只能存在几个固定的对象,那么这个就是枚举.我们就可以使用这些对象可以表示一些固定的值。public enum Direction { FRONT, AFTER, LEFT, RIGHT; //枚举项,必须位于第一行 最后一个枚举项的分号 //如果下面没代码,就不用写,有就必须写上 private Direction() { //枚举的构造方法必须原创 2020-12-31 14:39:24 · 148 阅读 · 0 评论 -
java的所有版本
java 16与JDK 15一样,JDK 16将是一个短期版本,支持六个月。将于2021年9月发布的JDK 17将是一个长期支持(LTS)版本,将获得数年的支持。当前的LTS版本JDK 11已于2018年9月发布。JDK 16预计2021 3月到来。java 16Java SE 15Java SE 14Java SE 13Java SE 12Java SE 11Java SE 10Java SE 9Java SE 8 (8u211 and later)Java SE 8 (8u原创 2020-12-07 17:12:33 · 12217 阅读 · 0 评论