一、Java 9

Java 9 最大的变化就是引入了一个 JShell 和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。

新的创建集合的方法

用过谷歌 Guava 类库的知道,Guava 提供了创建集合的静态工厂方法,而且能够推断泛型,举个例子:

List<Person> list = Lists.newArrayList();
Map<KeyType, Person> map = Maps.newLinkedHashMap();

而原生态需要各种 new 来定义。Java 9 改善了这一现状,现在我们可以通过以下方式来初始化集合:

// [1, 2, 3, 4]
List<Integer> integers = List.of(1, 2, 3, 4);
// {1,2,3}
Set<Integer> integerSet = Set.of(1, 2, 3);
// {"hello":"world","hi":"java"}
Map<String, String> hello = Map.of("hello", "world", "hi", "java");

Java基础学习总结(184)—— 从 Java 9 到 Java 17 的新特性解读相关推荐

  1. Java基础学习总结(124)——Java9逆天的十大新特性

    在介绍 java9 之前,我们先来看看java成立到现在的所有版本. 1990年初,最初被命名为Oak: 1995年5月23日,Java语言诞生: 1996年1月,第一个JDK-JDK1.0诞生: 1 ...

  2. Java基础学习总结(97)——合格的Java的架构师需要具备的技术知识

    要想成为一名合格的Java架构师,首先你要是一个高级Java开发工程师,熟练使用各种框架,并知道它们实现的原理.jvm虚拟机原理.调优,懂得jvm能让你写出性能更好的代码:池技术,什么对象池,连接池, ...

  3. Java基础学习总结(44)——10个Java 8 Lambda表达式经典示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里.在Ja ...

  4. Java基础学习总结(186)—— GraalVM 是 Java 在云原生时代保持强大竞争力的大杀器吗

    前言 自 1996 年诞生以来,Java 语言长期在最受欢迎的编程语言排行榜中占据领先地位.除了语言本身的优秀特性之外,Java 语言持续演进.不断发展也是它能够保持长盛不衰的重要原因.Java 语言 ...

  5. Java基础学习总结(172)——手写Java 重试机制

    package com.zhy.common.retry;import java.util.Arrays;import org.apache.commons.lang3.StringUtils; im ...

  6. Java基础学习总结(150)——Caused by: java.net.SocketException 问题解决

    一. java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ServerSocket(port)(port是 ...

  7. Java基础学习总结(29)——浅谈Java中的Set、List、Map的区别

    Java中的Set,List,Map的区别,对JAVA的集合的理解是相对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操作数目不固定的一 ...

  8. Java基础学习总结(87)——坚持写Java等技术类博客的好处

    1.加深对技术点的理解 每天写博客,可以加深对技术点的理解,假如工作中,对某个技术点运用的不熟,当你通过博客的形式写出来,这个过程中,遇到不懂的知识点,你就会查阅相关的资料,弄明白他. 2.自己日后用 ...

  9. Java基础学习总结(59)——30 个java编程技巧

最新文章

  1. 只求规模不管服务?那平台就离死不远了
  2. JSON简介以及用法汇总
  3. LeetCode_559.N叉树的最大深度
  4. VTK:相互作用之MoveAGlyph
  5. P3978 [TJOI2015]概率论
  6. java线程夯住了怎么解决,不明白线程为什么卡住了? 求大神解救
  7. 巨星陨落,一个月内已有6位
  8. python特性 property_python特性property
  9. spring 中scope的singleton和prototype区别
  10. Vue解决接口访问跨域问题
  11. 史上最污技术解读,60 个 IT 术语我竟然秒懂了......
  12. PLC编程技术的发展及应用
  13. c++图书馆管理系统
  14. python语言turtle库画图代码示例_5分钟轻松搞定,Python开发之turtle库的基本操作...
  15. java jersey,java Jersey
  16. 银行技术岗笔试计算机基础知识点,想去银行技术岗,考试都考啥?
  17. WebGL简易教程(十五):加载gltf模型
  18. Java开发工程师的一点职业发展规划
  19. 跨境电商如何找代运营公司?星之河
  20. 德尔玛递交注册:半年营收15亿 小米与欧派是股东

热门文章

  1. python get score gain_Python functional.linear方法代码示例
  2. android中intent放数据类型,Android Intent传递数据底层分析详细介绍
  3. C++STL笔记(十):queue详解
  4. C++新特性探究(十八):智能指针
  5. 计算机管理器win8,Win8如何快速打开资源管理器,Win8快速打开计算机操作方法
  6. linux pid t 头文件_pid和tid及线程调度
  7. java long更大_java – 比Long.MAX_VALUE大的长度
  8. android tv的冷启动,YunOS智能电视操作系统——10秒快速冷启动开机
  9. mpython 编译_使用-m选项或n执行Python代码
  10. 超长正整数加法 c语言,两个超长正整数的加法