草庐IT

guava-jdk

全部标签

JDK17 与 JDK11 特性差异浅谈

1.1switch表达式语法变化在JDK12之前如果switch忘记写break将导致贯穿,在JDK12中对switch的这一贯穿性做了改进。你只要将case后面的冒号改成箭头,那么你即使不写break也不会贯穿了。switch可作为表达式,不再是单独的语句。当你把switch中的case后的冒号改为箭头之后,此时switch就不会贯穿了,但在某些情况下,程序本来就希望贯穿比如我就希望两个case共用一个执行体。JDK12的switch中的case也支持多值匹配,这样程序就变得更加简洁了。JDK13引入了一个新的yield语句来产生一个值,该值成为封闭的switch表达式的值。yield和re

(每日持续更新)jdk api之BufferedReader基础

(每日持续更新)jdkapi之BufferedReader基础1.8BufferedReaderBufferedReader是Java中Reader的缓冲流实现,用于提高读取字符数据的性能。它提供了一些额外的属性和方法,以增强对字符流的操作。以下是BufferedReader的一些常用属性和方法:属性:protectedchar[]cb:用于存储缓冲数据的字符数组。可以通过构造函数指定缓冲区大小,也可以通过getBuf()方法获取。protectedintnChars:缓冲区中当前有效字符的数量。protectedintnextChar:下一个要被读取的字符的索引。当达到缓冲区末尾时,会触发填

一文详解|从 JDK8 飞升到 JDK17,再到未来的 JDK21

🌍JavaDevelopmentKit(JDK)特性一览🔍JDK8🚀Lambda表达式和函数式接口定义:允许将函数作为一个方法的参数(函数作为参数)或将代码作为数据(函数作为值)。示例:(a,b)->a+b🔖类型注解定义:提供了在任何使用类型的地方添加注解的能力。示例:@NonNullStringname;📅新的日期/时间API定义:全新的API,用于日期和时间的操作,替代旧的Date和Calendar。示例:LocalDate.now();🔄默认方法和静态方法定义:允许在接口中定义有具体实现的方法,不破坏与旧版本的兼容性。示例:defaultvoidshow(){System.out.pri

Linux docker环境安装,docker-compose安装,jdk17安装

安装docker删除之前安装的dockeryumremovedocker\ docker-client\ docker-client-latest\ docker-common\ docker-latest\ docker-latest-logrotate\ docker-logrotate\ docker-sqlinux\ docker-engine-selinux\ docker-engine\ docker-ce安装yum工具yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2设置docker镜像源yum-config-manage

【昕宝爸爸小模块】深入浅出之JDK21 中的虚拟线程到底是怎么回事(二)

➡️博客首页       https://blog.csdn.net/Java_Yangxiaoyuan       欢迎优秀的你👍点赞、🗂️收藏、加❤️关注哦。       本文章CSDN首发,欢迎转载,要注明出处哦!       先感谢优秀的你能认真的看完本文,有问题欢迎评论区交流,都会认真回复!上一篇博文:【昕宝爸爸小模块】深入浅出之JDK21中的虚拟线程到底是怎么回事(一)深入浅出之JDK21中的虚拟线程到底是怎么回事(二)一、✅线程的实现方式1.1✅使用内核线程实现1.2✅使用用户线程实现1.3✅使用用户线程加轻量级进程混合实现一、✅拓展知识仓2.1✅内核线程有什么优点和缺点2.2✅

JDK 21 发布,新特性概览及字符串模板详细介绍

一、新特性概览Java21已于2023年9月19日发布,是Oracle标准Java实现的下一个长期支持(LTS)版本。Java21具有以下15项新特性。430:StringTemplates(Preview)字符串模板,可以像其他语言那样子方便的做字符串拼接,是+号,StringBuilder,MessageFormat之外更方便的字符串拼接方法。431:SequencedCollections引入新的接口来表示具有定义相遇顺序的集合。每个这样的集合都有定义明确的第一个元素、第二个元素,以此类推,直到最后一个元素。它还提供了统一的应用程序接口,用于访问其第一个和最后一个元素,以及以相反的顺序处

JDK19推出新特性虚拟线程是什么?

JDK19推出了几个新的特性,其中最具有特点的有以下几个。图片记录模式(预览版):使用记录模式增强Java编程语言以解构记录值,可以嵌套记录模式和类型模式,实现强大的、声明性的和可组合的数据导航和处理形式。这是一个预览语言功能。Linux/RISC-V移植:将JDK移植到Linux/RISC-V,目前仅支持RISC-V的RV64GV配置(包含向量指令的通用64位ISA)。将来可能会考虑支持其他RISC-V配置,例如通用32位配置(RV32G)。外部函数和内存API(预览版):引入一个API,Java程序可以通过该API与Java运行时之外的代码和数据进行互操作。这是一个预览版API。虚拟线程(

Guava:Strings 字符串处理工具

简介String 或 CharSequence 实例有关的静态实用程序方法。类方法说明官方文档:Strings(Guava:GoogleCoreLibrariesforJava27.0.1-jreAPI)方法名称方法说明commonPrefix(CharSequencea,CharSequenceb) 返回共同的前缀字符串.commonSuffix(CharSequencea,CharSequenceb) 返回共同的后缀字符串.emptyToNull(@NullableStringstring) 返回字符串非空字符串,返回原字符串。否则,返回null.isNullOrEmpty(@Nullab

Guava:Cache强大的本地缓存框架

GuavaCache是一款非常优秀的本地缓存框架。一、经典配置GuavaCache的数据结构跟JDK1.7的ConcurrentHashMap类似,提供了基于时间、容量、引用三种回收策略,以及自动加载、访问统计等功能。基本的配置@TestpublicvoidtestLoadingCache()throwsExecutionException{CacheLoadercacheLoader=newCacheLoader(){@OverridepublicStringload(Stringkey)throwsException{System.out.println("加载key:"+key);ret

JDK报错: NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘

异常:NoSuchFieldError:Classcom.sun.tools.javac.tree.JCTree$JCImportdoesnothavememberfield'com.sun.tools.javac.tree.JCTreequalid'原因:lombok库版本和java编译器版本不兼容解决方法:更新lombok版本在maven配置文件pom.xml中找到lombok的依赖项,修改其版本号为最新版本,比如1.18.30。 org.projectlomboklombok1.18.30如图在pom.xml中找到data注解依赖配置行,修改为上方的代码 更新过后再运行,不出意外就会出现