首页 > 其他分享 >【知识点】JDK 8-21 新特性总结

【知识点】JDK 8-21 新特性总结

时间:2024-03-25 23:15:04浏览次数:29  
标签:知识点 Java 21 JDK API String

只列出主要新特性


Java 8

  • Lambda 表达式
  • 函数式接口
  • Stream API
  • 新的日期和时间 API
  • 默认方法
  • Optional类

Java 9-11

Java 9

  • 模块化系统
  • G1成为默认垃圾回收器(之前是CMS,Concurrent Mark-Sweep,即 新生代+老年代 标记清除。)
  • String存储结构优化(之前内部是char[],现在是byte[],更省空间)
  • 接口私有方法

Java 10

  • 局部变量类型推断(var)

Java 11

  • HTTP Client 标准化
  • String 增强(String类上增加了isBlankrepeat等方法)
  • 引入ZGC(实验性)

Java 12-17

  • 增强 Switch
  • instanceof 模式匹配
  • 空指针异常精准提示
  • ZGC转正
  • 文本块
  • 记录类型(record)
  • 密封类(sealed class)

Java 18-21

  • 虚拟线程
  • Switch模式匹配
  • 字符串模板
  • 未命名模式和变量(“_” 弃元)
  • 向量API

标签:知识点,Java,21,JDK,API,String
From: https://www.cnblogs.com/code-blog/p/18095616

相关文章

  • 力扣刷题之21.合并两个有序链表
    仅做学习笔记之用。题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]示例3:输入:l1=[],l2=[0]输出:[0]......
  • 【知识点】高并发中的集合
    本文旨在总结多线程情况下集合的使用Java中的集合大致以下三个时期:第一代线程安全集合类以Vector、HashTable为代表的初代集合,使用synchronized在修饰方法,从而保证线程安全。缺点:效率低。代码示例Vectoradd方法源码/***Appendsthespecifiedelementtotheendoft......
  • P1121 环状最大两段子段和
    原题链接题解这里和线性最大两段子段和不同,没有子段之间必须间隔一米,所以处理方式略有不同code#definelllonglong#include<bits/stdc++.h>usingnamespacestd;lla[200005]={0},pre[200005]={0},suf[200005]={0};intmain(){ios::sync_with_stdio(false);......
  • Java String类深入了解JDK各个版本进阶版本
    JavaString类深入了解JDK各个版本进阶版本一,底层类型在jdk11中Stringvalue存储字符串值是byte[]数组,String中存储字节码的是coder也是byte类型,因此String的底层数据存储类型成为了byte类型而在jdk8中String的Stringvalue存储字符串值是char[]数组,因此因此可......
  • 知识点
    在JavaScript中,const是用来声明一个常量的关键字。使用const声明的变量是常量,其值在声明后不能被修改。换句话说,一旦使用const声明一个变量并初始化赋值,就无法再对其重新赋值。下面是一个简单的示例:javascriptCopyCodeconstPI=3.14159;//尝试修改常量的值会导致错......
  • YC262A [ 20240321 CQYC省选模拟赛 T1 ] 多边形(polygon)
    题意有一个由\(0/1\)组成的字符串\(S\)。给你\(m\)次操作。假如\(S_{u}=1\)且\(S_{v}=0\),则交换\(S_{u},S_{v}\)。假如对于所有的\(S\),使得最终字符串\(S'\)的所有\(1\)相邻。请输出\(1\)的个数为\([1,n]\)的\(S\)的方案数。答案对\(2\)取模。......
  • CSCI 2122 C语言进行编码
    CSCI2122任务4截止日期:2024年3月22日星期五晚上11:59,通过git提交目标本作业的目的是练习用C语言进行编码,并强化课堂上讨论的程序表示概念。在这个任务1中,您将实现一个类似Rosetta3的二进制翻译器2。您的程序将从一个简单的指令集(比x86简单得多)转换为x86,并生成x86汇编代码。然......
  • L2-021 点赞狂魔(25分) c++代码
    微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明......
  • java毕业设计体育r品在线销售系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展和电子商务的普及,人们的购物方式正逐渐从传统的实体店转向在线购物平台。体育用品市场作为一个具有庞大消费群体和持续增长潜力......
  • java毕业设计网上生鲜超市(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的不断进步和人们生活节奏的加快,传统的购物模式已经无法完全满足现代社会的需求。特别是在生鲜食品领域,消费者对新鲜、健康、快捷的要求越......