范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

JDK19都出来了是时候梳理JDK的各个版本的特性JDK9特性讲解

  JDK各个版本特性讲解-JDK10特性
  image.png  一、JAVA10概述
    2018年3月21日, Oracle官方宣布JAVA10正式发布
    JAVA9和java10 都不是 LTS (Long-Term-Support)版本.和过去的JAVA大版本升级不同,这两个只有半年左右的开发和维护时间. 而JAVA11 也是就是18.9,才是JAVA之后的第一个长期支持版本
    JAVA10 一共定义了109个新特性,其中包含JEP,对程序员来说,真正的新特性也就一个,还有一些新的API和JVM规范以及JAVA语言规范上的改动.
    JAVA10 的12个JEP (JDK Enhancement Proposal特性加强协议) ,可参阅官方文档http://openjdk.java.net/projects/jdk/10/
  image.png
  具体的新增特性:  286: 局部变量类型推断
  296: JDK库合并
  304: 统一的垃圾回收接口
  307:为G1提供并行的Full GC
  310:应用程序类数据共享
  312: ThreadLocal握手交互
  313: 移除JDK中附带的javah工具
  314: 使用附加的Unicode语言标记拓展
  316:能将对内存占用分配给用户指定的备用内存设备
  317:使用基于JAVA的JIT编译器
  319: 根证书
  322:基于时间的发布版本   二、语法层次的变化1. 局部变量的类型推断
    局部变量的显示类型声明,常常认为是不必须的,给一个好听的名字经常可以很清楚的表达出下面应该怎样继续.减少了啰嗦和形式的代码,避免了信息的冗余,而且对齐了变量名,容易阅读。
    作为JAVA程序员,在声明一个变量时,我们一般都是书写两次变量类型,第一次用于声明变量类型,第二次用于构造器  List list =new ArrayList<>();
    变量的声明类型书写复杂且较长,尤其是加上泛型的使用  Iterator> iterator=set.iterator();
    我们也经常声明一种变量,它只被使用一次,并且是在下一行代码中:  URL url=new URL("http://www.boge.com"); URLConnection connection= url.openConnection(); Reader reader =new BufferedReader(new InputStreamReader(connection.getInputStream));
  总之: 变量标识符(变量名)就可以让我清楚的知道变量如何使用,没必要前面加上一大串的类型声明
    局部变量推断有点类似JavaScript中的弱变量类型的写法,通过后面的数据来推断前面的数据类型,数据类型的声明统一为var.
  image.png  2. 不能使用类型推断的场景
    在有些情况下我们是不能使用类型推断的。具体有如下的场景  2.1 变量的声明
  变量的声明不能使用类型推断,因为无法推断  // 根据右边的数据推断类型,不赋值压根没给推断的机会,这是错的 var userName;
  image.png  2.2 初始值null
    初始值为null的情况也是不行的。因为同样没有办法推断  // null值无法推断数据类型,这是不能使用类型推断 var userName=null;
  image.png
  2.3 lambda表达式  // 这个是可以的
  Supplier supplier=()-> Math.random();
  // 这个是不行的 lambda表达式需要显式数据类型,不然无法明确是哪个接口
  var  supplier2=()->Math.random();
  image.png
  2.4 方法引用  // 这是可以的进行方法引用的
  Consumer consumer=System.out::println;
  // 这是不可以的,无法明确接口类型
  var  consumer2=System.out::println;
  image.png
  2.5 为数组静态初始化  //动态初始化数据可以进行类型推断
  var  arr =new  String[10 ];
  //静态初始化数组不可以使用类型推断
  var  arr2 = {"a12" ,"222" ,"333" ,"444" ,"555" };
  image.png  2.6 成员变量不能使用
  类型推断仅仅是局部变量,成员变量不可以使用类型推断  public class Demo07 {     // 成员变量不能使用类型推断     var name="小明";     public void testMethod1(){         // 局部变量可以使用类型推断         var localname="小明";     } }
  image.png  2.7 其他不可以的场景// 情况1 没有初始化的局部变量声明 var s; var x=null; // 情况2 方法的返回值类型 public var test1() // 情况3 方法的参数类型 public void test2(var a,var b) // 情况4 构造器的参数类型 public Person(var name,var age) // 情况5 属性 class Person{     var name; } // 情况6 catch块 try{ }catch(var e){ }
  以下两点需要注意  var不是一个关键字
  我们无需担心变量名或者方法名会与var发生冲突,因为var实际上不是一个关键字,而是一个类型名,只有在编译器需要知道类型的地方法才会用到它.除此之外,他就是一个普通的合法标识符.也就是说,除了不能用它做类名,其他都可以.但是又有哪个傻瓜非要用var做类名呢?   这毕竟不是JavaScript
  var并不会改变java是一门静态语言的事实,编译器负责推断出类型,并把结果写入字节码,也就是说,数据类型还是在字节码中的,java还是属于强类型的编程语言,开发人员没有明确写出来而已.而JavaScript是弱类型解释型的脚本语言,和这里的类型推断是两回事.   三、API层次的变化1. 集合的copyOf方法
   在JDK10中给集合新增了一个copyOf方法。用来创建只读集合          // JAVA9中新增创建只读的方法         var strings1 = List.of("Python", "JAVA", "Golang");         // JAVA10中新增的创建只读集合的方法         var strings2 = List.copyOf(strings1);         // 判断两个集合在内存上是否是同一个,结果为true         System.out.println(strings1==strings2);          // 创建一个普通集合         var strings3=new ArrayList();         // 通过copyOf方法创建一个只读集合         var strings4 = List.copyOf(strings3);         // 判断两个集合在内存上是否是同一个,结果为false         System.out.println(strings3==strings4);
  结论 :copyOf方法的作用通过一个集合返回的是一个只读集合,如果参数本来就是只读集合,那么返回的就是参数,如果参数不是只读集合,就再创造一个只读集合返回。

迎大运盛会赏世遗美景向健康奔赴2023成都双遗马拉松在都江堰开赛消费日报网讯(记者冯举殷忠波)3月26日上午,时值成都第31届世界大学生夏季运动会倒计时124天,2023成都双遗马拉松于都江堰凤凰体育场鸣枪起跑。发令声响,三大世界遗产赛道让3万西固区加强平台建设提升科技创新能力今年政府工作报告提出强化科技创新对产业发展的支撑。持续开展产业强链补链行动,围绕制造业重点产业链,集中优质资源合力推进关键核心技术攻关,充分激发创新活力。西固区作为一个拥有相对丰厚被市场遗忘的华为云合作伙伴,AI中台(MaaS)!核心看点自建AI中台(MaaS),全球云计算领先企业,天成云已经入驻华为云商城,Ai算力三倍于鸿博,后面规划要大力转型AI云,华为十多年AI硬件和软件合作伙伴,联手合作了多个AI解蔚来汽车实习生险遭强奸,因影响公司形象反被拒留用?近日,蔚来汽车因性侵案陷入舆论旋涡。一位网名为雪糕今天拉了吗(以下简称雪糕)的网友在社交平台发文,称自己在蔚来汽车实习期间遭到同事徐某性侵犯,经过自己与徐某斗智斗勇取得有力证据,最华为投资控股有限公司董事会举行换届选举,孟晚舟4月1日起任轮值董事长华为投资控股有限公司工会第四届持股员工代表会于2023年3月27日28日在深圳坂田华为基地召开会议。会议进行了华为投资控股有限公司董事会换届选举,选举主要内容如下经持股员工代表会投踔厉奋发,勇毅前行统信软件为陕西硬科技注入软实力全年全省将组织实施省市重点建设项目共4452个,总投资5。46万亿元。日前发布的陕西省2023年重点建设项目计划定下了2023年陕西省KPI。踔厉奋发,勇毅前行,这个位于西部枢纽的松下与中国信通院围绕绿色数字经济签订战略合作协议能源新闻网讯2023年3月26日,中国信息通信研究院(以下简称中国信通院)与松下电器(中国)有限公司(以下简称松下电器)在中国信通院签署战略合作协议。中国信通院院长余晓晖,松下控股淮安捷泰新能源科技有限公司获得政府补助3亿元钧达股份(002865)于3月28日发布公告称,海南钧达新能源科技股份有限公司下属子公司淮安捷泰新能源科技有限公司于2023年3月24日收到江苏涟水经济开发区财税局下发的关于公司淮云天化拟参股设立合资公司勘探开发镇雄县10亿吨级磷矿资源中证网讯(记者康曦)云天化3月27日晚公告称,公司拟以自有资金参股设立云南云天化聚磷新材料有限公司(暂定名,简称合资公司),成立后云天化将对其持股35。公告称,该合资公司拟依法对云马云回国又有大动作?快狗打车2022年亏损净额同比减少17。5一今日头条消息称前美团联合创始人王慧文正在收购国产AI框架OneFlow二财经新动向宇通客车2022年净利润同比增长23。68华住集团2022年净亏损18亿元,同比增287同仁堂2Windows的Edge浏览器插件,让你的电脑远离广告弹出今天来聊聊关于Windows的Edge浏览器插件,iTab新标签页和uBlockOrigin。iTab新标签页是一个网页的组件,可以帮助大家整理网页上杂乱的标签进行归类,让你的网页
清淡有罪?181个国家研究吃得越咸,寿命越长,是否可信?家中的盐,一直都是很多人纠结的调味品,无论是世界卫生组织还是美国心脏病协会,都建议我们控制盐分的摄入,成年人尽量控制在5克以下,高风险人群,尤其是本身患有三高疾病,心血管疾病的盐分2023最受欢迎的12道春节年夜饭,史上最全年夜饭,够硬大锅蒸肉准备材料五花肉葱姜八角花椒具体做法如下1。五花肉洗净,放入锅中煮放葱姜大料,煮到用一只筷子可以扎透为止2。捞出晾凉,用刀切成薄片3。去一个小盆,摆入葱段,姜片,蒜片,大料,农村几块钱一斤的白酒,真是所谓的粮食酒吗?原来猫腻不少白酒作为生活中常见的饮品,种类丰富,品牌繁多,而且在价格上也有着很大的差异,有些酒几块钱就能买上一斤,而有些酒则高达上千元。不少人在农村集市或者小商店买酒的时候,会见到几块钱一斤的国家油条地理全国各地的油条油条,中国点心之王。和面擀压切条滚油翻炸迅速膨大,几分钟内,一份金黄油润兼具酥脆和嚼劲的平民小吃,就会出现在食客面前。如果说千姿百态的语言风俗和饮食,反映的是960万平方公里土地的筋膜枪的作用和使用方法分享警戒三大隐患风险最近有很多朋友希望我讲讲筋膜枪,作为一名健身教练,我测评使用过的筋膜枪也有几十款了,对它十分了解,那今天我就为大家科普下筋膜枪的作用和使用方法,并针对筋膜枪的隐患风险进行分析,希望如何正确泡柠檬水,以起到补充维生素C的作用?柠檬过于酸涩,很少有人会直接拿来吃。但柠檬的功效却很多,做菜时加些柠檬汁可以去腥,调酒时加两片柠檬可以调和口感。最近新冠病毒在我国的蔓延愈发扩大,很多人都中了招。有发热,咳嗽,酸痛阳了吃药避坑指南药物叠加导致肝损伤你了解对乙酰氨基酚吗?你知道这个药不能和什么一起合用吗?从医20年的北京友谊医院肝病中心副主任赵新颜告诉你,如果阳了吃药,这四点必须牢记!变种名字多你知道解热镇痛需要吃对乙酰氨基酚电动牙刷到底有没有用?副作用弊端汇总分析作为一名个护博主,刘乐对于电动牙刷相关的信息都比较关注,最近在浏览小红书时,看到很多朋友吐槽电动牙刷不好用,使用后出现了牙龈出血牙疼等伤牙现象。电动牙刷到底有没有用?我今天就借这篇2022年12月份国际粮油市场大米价格上涨豆油明显下跌2022年12月份,美国出台的经济数据强于预期,再次引发世界最大经济体将会继续积极收紧货币政策的担忧,令全球市场风险情绪减弱。同时,黑海小麦出口供应充足,继续拖累全球小麦价格走低。春节将至,提醒大家不管有没有钱,记得囤3酒,幸福过新年春节自古以来就是我国最重要的传统节日。爆竹声中一岁除,春风送暖入屠苏,伴随着烟火气,我们终究迎来了2023年春节。每当这个时候我们都是合家欢乐,团团圆圆的。经过了三天小长假,元旦已李沁现身机场,短款羽绒服搭紧身牛仔裤,简约保暖很显活力!头条创作挑战赛都说气质好的女人衣品应该也不错,似乎的确是这样,好气质成就好衣品,好衣品衬托好气质,李沁就是一个很会穿衣搭配的气质小美女,她的造型都十分出彩,无论是活动装扮还是私服l