【小家java】java10新特性(简述十大新特性) 小步迭代

article/2025/9/1 3:24:16

相关阅读

【小家java】java5新特性(简述十大新特性) 重要一跃
【小家java】java6新特性(简述十大新特性) 鸡肋升级
【小家java】java7新特性(简述八大新特性) 不温不火
【小家java】java8新特性(简述十大新特性) 饱受赞誉
【小家java】java9新特性(简述十大新特性) 褒贬不一
【小家java】java10新特性(简述十大新特性) 小步迭代
【小家java】java11新特性(简述八大新特性) 首个重磅LTS版本


每篇一句

业绩好的员工总想着再突破,没业绩的员工总想着我还能呆多久,这是境界不一样。所以圈子很重要,格局更重要

2018年3月20日,Java 10 正式发布,这一次没有跳票

它号称有109项新特性,包含12个JEP。

需要注意的是,本次Java10并不是Oracle的官方LTS版本,所以咱们可以先了解新特性。然后坐等java11的发布再考虑在生产中使用吧

特性列表

  • 局部变量的类型推断 var关键字
  • GC改进和内存管理 并行全垃圾回收器 G1
  • 垃圾回收器接口
  • 线程-局部变量管控
  • 合并 JDK 多个代码仓库到一个单独的储存库中
  • 新增API:ByteArrayOutputStream
  • 新增API:List、Map、Set
  • 新增API:java.util.Properties
  • 新增API: Collectors收集器
  • 其它特性

1、局部变量的类型推断 var关键字

这个新功能将为Java增加一些语法糖 - 简化它并改善开发者体验。新的语法将减少与编写Java相关的冗长度,同时保持对静态类型安全性的承诺。

这可能是Java10给开发者带来的最大的一个新特性。下面主要看例子:

  public static void main(String[] args) {var list = new ArrayList<String>();list.add("hello,world!");System.out.println(list);}

这是最平常的使用。注意赋值语句右边,最好写上泛型类型,否则会有如下情况:

 public static void main(String[] args) {var list = new ArrayList<>();list.add("hello,world!");list.add(1);list.add(1.01);System.out.println(list);}

list什么都可以装,非常的不安全了。和js等语言不同的是,毕竟Java还是强类型的语言,所以下面语句是编译报错的:

public static void main(String[] args) {var list = new ArrayList<String>();list.add("hello,world!");System.out.println(list);list = new ArrayList<Integer>(); //编译报错}

**注意:注意:注意:**下面几点使用限制

  1. 局部变量初始化
  2. for循环内部索引变量
  3. 传统的for循环声明变量
public static void main(String[] args) {//局部变量初始化var list = new ArrayList<String>();//for循环内部索引变量for (var s : list) {System.out.println(s);}//传统的for循环声明变量for (var i = 0; i < list.size(); i++) {System.out.println(i);}}

下面这几种情况,都是不能使用var的

方法参数
全局变量

public static var list = new ArrayList<String>(); //编译报错public static List<String> list = new ArrayList<>(); //正常编译通过

构造函数参数
方法返回类型
字段
捕获表达式(或任何其他类型的变量声明)

2、GC改进和内存管理 并行全垃圾回收器 G1

JDK 10中有2个JEP专门用于改进当前的垃圾收集元素。
Java 10的第二个JEP是针对G1的并行完全GC(JEP 307),其重点在于通过完全GC并行来改善G1最坏情况的等待时间。G1是Java 9中的默认GC,并且此JEP的目标是使G1平行。

3、垃圾回收器接口

这不是让开发者用来控制垃圾回收的接口;而是一个在 JVM 源代码中的允许另外的垃圾回收器快速方便的集成的接口。

4、线程-局部变量管控

这是在 JVM 内部相当低级别的更改,现在将允许在不运行全局虚拟机安全点的情况下实现线程回调。这将使得停止单个线程变得可能和便宜,而不是只能启用或停止所有线程。

5、合并 JDK 多个代码仓库到一个单独的储存库中

在 JDK9 中,有 8 个仓库: root、corba、hotspot、jaxp、jaxws、jdk、langtools 和 nashorn 。在 JDK10 中这些将被合并为一个,使得跨相互依赖的变更集的存储库运行 atomic commit (原子提交)成为可能。

6、新增API:ByteArrayOutputStream

String toString(Charset): 重载 toString(),通过使用指定的字符集解码字节,将缓冲区的内容转换为字符串。

7、新增API:List、Map、Set

这3个接口都增加了一个新的静态方法,copyOf(Collection)。这些函数按照其迭代顺序返回一个不可修改的列表、映射或包含给定集合的元素的集合。

8、新增API:java.util.Properties

增加了一个新的构造函数,它接受一个 int 参数。这将创建一个没有默认值的空属性列表,并且指定初始大小以容纳指定的元素数量,而无需动态调整大小。还有一个新的重载的 replace 方法,接受三个 Object 参数并返回一个布尔值。只有在当前映射到指定值时,才会替换指定键的条目。

9、新增API: Collectors收集器

toUnmodifiableList():
toUnmodifiableSet():
toUnmodifiableMap(Function, Function):
toUnmodifiableMap(Function, Function, BinaryOperator):
这四个新方法都返回 Collectors ,将输入元素聚集到适当的不可修改的集合中。

10、其它特性

线程本地握手(JEP 312)
其他Unicode语言 - 标记扩展(JEP 314)
基于Java的实验性JIT编译器
根证书颁发认证(CA)
删除工具javah(JEP 313)

从JDK中移除了javah工具,这个很简单并且很重要。

最后

JDK10的升级幅度其实主要还是以优化为主,并没有带来太多对使用者惊喜的特性。所以建议广大开发者还是坐等Java11吧,预计2018年9月份就会到来,最重要的是它是LTS版本哦,所以是可以运用在生产上的。


关注A哥

AuthorA哥(YourBatman)
个人站点www.yourbatman.cn
E-mailyourbatman@qq.com
微 信fsx641385712
活跃平台
公众号BAT的乌托邦(ID:BAT-utopia)
知识星球BAT的乌托邦
每日文章推荐每日文章推荐

BAT的乌托邦


http://chatgpt.dhexx.cn/article/PQ12QRyv.shtml

相关文章

IP地址与端口Port

IP地址 IP地址&#xff1a;InetAddress 唯一定位一台网络上的计算机127.0.0.1 &#xff08;本机localhost&#xff09; IP地址的分类 IPv4&#xff1a;网际协议版本4&#xff08;英语&#xff1a;InternetProtocolversion4&#xff0c;IPv4&#xff09;&#xff0c;又称互联网…

Port端口

一、端口号的定义 端口表示当前计算机上的一个进程。 例如&#xff1a;手机开着 微信 王者 QQ 这时候我们使用QQ给对方发送一条消息&#xff0c;这时我们要知道对方的ip地址&#xff0c;这样才能到达指定的位置&#xff0c;但是消息到了指定位置&#xff0c;又怎么知道这个消…

linux普通用户使用1024以下的端口(80)

linux对于非root权限用户不能使用1024以下的端口&#xff0c;对于一些服务&#xff0c;过高的权限&#xff0c;会带来一定的风险。那么对于低权限的用户如何对外开放1024以下的端口。我这里找到几种办法并且亲测可行 首先搭建环境centos7 账户tengine没有sudo 权限 1.nginx 等…

价值连城的神站:广西图书馆的电子资源(视频、书、期刊...)

网站地址&#xff1a;http://wap.gxlib.org.cn:9080/ermsClient/browse.do广西壮族自治区图书馆的电子资源平台&#xff0c;该平台开放注册&#xff0c;注册登录成功后可以免费使用平台内的所有资源。该平台的资源库异常丰富&#xff0c;可以说是在线图书馆该有的资源这里都有了…

IMC美丽链:区块链与世界上最大的酿酒商的恩怨情仇!

酒业巨头Anheuser-Busch InBev旨在通过区块链技术改变数字广告供应链。 现在我们在网上&#xff0c;到处都可以看到广告。但是其实很多都是欺诈信息&#xff0c;比如我们上网站购物&#xff0c;可能就会遇到有欺诈广告&#xff0c;导致我们买到假货。 或者是我们在网上搜索&a…

2021年中国苹果行业产业链分析:上下游市场稳定,苹果行业市场运行情况平稳增长 [图]

一、概述 苹果目前是世界四大水果之首&#xff0c;苹果产业链上游主要由种子、肥料、农药等构成&#xff0c;下游主要加工成果脯、苹果干、苹果酒和苹果醋等。 苹果产业链 资料来源&#xff1a;智研咨询整理 二、上游产业 化肥是农业生产中一种十分常见的生产资料&#xff0c;…

这两个世界此次对决之后,“互联网+”与数字化真的要来了

昨天&#xff0c;微信上一个朋友忧心忡忡的问了我一个问题&#xff0c;“这次疫情对传统企业影响巨大&#xff0c;好多企业迟迟不能复工&#xff0c;面临生死存亡的挑战。你觉得这对于我们这样的数字化转型服务的公司来说&#xff0c;会有什么影响呢&#xff1f;” 我的回答是…

说出来你可能不信,现在连酒厂都在招算法工程师

原创&#xff1a;HyperAI超神经 关键词&#xff1a;啤酒 智能酿造 根据数据显示&#xff0c;从 1960 年代至今&#xff0c;啤酒的受欢迎程度每年增加&#xff0c;逐渐成为了消耗量最大的饮品之一。 到 2017 年的统计数据&#xff0c;中国人均啤酒年消耗达到了 60 瓶之多。…

中国企业软件必然革命世界企业软件

&#xff08;1&#xff09;先扯点没用的&#xff1a;宏观经济环境 三架马车&#xff1a;出口、固定资产投资、消费。 我丝毫不怀疑中国会在2035年&#xff0c;GDP超过美国。也就是说&#xff0c;我们总体来说&#xff0c;坐在中国这艘上升发展的飞机上&#xff0c;享受着红利。…

[机器学习笔记] 用Python分析:红葡萄酒质量分析(数据探索)

用Python分析&#xff1a;红葡萄酒质量分析&#xff08;数据探索&#xff09; 数据集&#xff1a;winemag-data_first150k.csv 先来导入数据 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import statsmodels.api as sm …

区块链 - 区块链基础知识:交易哈希链

区块链 - 区块链基础知识&#xff1a;深入了解交易哈希链 本文的主题是执行有关交易哈希链、 交易池的角色以及 一个最长的区块链如何永远占据主导。 讨论的细节包括以下内容&#xff1a; 事务哈希链的实现细节 交易池的角色 为什么需要共识算法 PoW vs PoS为什么最长的区块…

2018世界杯热点运营活动案例剖析

一、产品与活动概况 此次选取的产品除了本品同程艺龙(微信火车票机票)外,还包括全民应用支付宝和美团。其中本品世界杯主题的运营活动是“支持你的主队-赢球衣”,支付宝的是“猜世界杯-赢蚂蚁积分”,美团的是“燃烧看球-竞猜赢百万大奖”。 1. 同程艺龙:“支持你的主队…

翼次元空间资讯:区块链互联网酒业“心直酒快”有动作

本文由BitCOO、4COO全球运营官社区网络中国区节点与TokenRiseValueBoost | Chain产业链、FUND、Value与BrandFin品牌价值燃焕力中心、FintechX金融科技发展中心、孵化器WiTx链智星云 翼次元空间 Ai&Hi_AiHi/AiHiX研究中心授权发布 —— 由FinRise奋睿资本投资、翼次元空间孵…

黄铭钧:院长创业与酒

采访 | Rosalie 录音整理 | 储鑫垚 作者 | 朱芳文、刘韧 来源 | 链英雄 黄铭钧的自画像 “仗义&#xff1f;什么仗义&#xff1f;” “像乔峰&#xff1f;不可能。” 新加坡科学院院士&#xff0c;新国大计算机学院前院长、世界顶级数据库专家黄铭钧&#xff08; Beng Chin Ooi…

解密小米生态链:从构建到定义产品

1990年的雷军 互联网界有这样一种共识&#xff1a;十亿美元做产品&#xff0c;百亿美元做平台&#xff0c;千亿美元做生态。 纵观当前中国互联网企业&#xff0c;真正能够称得上形成生态的企业不过ATM三家而已&#xff0c;这也是为什么我相信小米值1000亿美金。 每一波互联网…

链读推荐:从瓷砖到生成式 NFT

Erick Calderon&#xff0c;又名“Snowfro”&#xff0c;一年前作为NFT生成艺术平台Art Blocks的创建者一举成名。但他的加密之旅是一个迂回的过程。 在与父亲一起创立的瓷砖公司工作了近十年后&#xff0c;Calderon在2013年第一次从他的兄弟那里听说了比特币。开车&#xff0…

我与世界杯足球那些事——世界杯征文

征文活动链接&#xff1a; https://bbs.csdn.net/topics/609601920 目录 第一次了解世界杯 第一次观看世界杯 世界杯主题曲 我最热爱的球员 今年世界杯 预测冠军 第一次了解世界杯 提起世界杯&#xff0c;我可能了解的比较晚一些&#xff0c;是在2014年的巴西世界杯的时…

数据分析案例-基于PCA主成分分析法对葡萄酒数据进行分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

基于51单片机的酒精浓度检测仪设计

本设计仅供参考 基于51单片机的酒精浓度检测仪设计&#xff08;proteus仿真程序原理图报告&#xff09; 原理图&#xff1a;Altium Designer 仿真&#xff1a;proteus 8.9 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 编号C0031 功能说明&#xff1a; 由S…

以几款火爆链游为例 读懂GameFi常见机制

Axie Infinity Axie Infinity 是一款建立在以太坊区块链上的去中心化回合制策略游戏&#xff0c;起初为以太坊主链&#xff0c;而后由于 gas 费用过高和延迟问题迁移到了自建的 Ronin 侧链上。主要载体为网页端&#xff0c;开发商为越南 Sky Mavis&#xff0c;经历过两轮种子融…