java -source 8 中不支持 switch 表达式(请使用 -source 14 或更高版本以启用 switch 表达式)
发表于|更新于|🤢奇奇怪怪的BUG
碎碎念
SpringBoot 最新版本已经标注了 JDK 最低版本是 17,相信以后 17 可能会作为主流版本,8 逐渐的会被替代,这个 BUG 主要是原因是 JDK 版本不符合,在最新的 SpringBoot 3.0.2 如何你还是用 JDK8 的话,它也会给你报一个无效的目标发行版:17,对于 IDEA 来说,大部分人可能只是改了 Project Structure 中的版本,可能没有注意到 Java 的编译环境(本人就是这里出的错)
解决办法
这里主要有两个地方要修改,一个是 Project Structure 还有一个就是 Java Compiler
相关推荐
2023-02-14
JDK14 新特性
碎碎念 从哪几个角度学习新特性 .batten { position: relative; } #astronaut-2-animation { position: absolute; width: 130px; top: -100%; right: 0; } lottie.loadAnimation({ path: '/json/astronaut/2.json', loop: true, autoplay: true, renderer: 'svg', container: document.getElementById('astronaut-2-animation'), }); 语法层面: lambda 表达式,switch,自动装箱,自动拆箱,enum,泛型<>,接口中的默认方法,静态方法,私有方法 API层面:...
2023-11-04
JDK21 新特性
你发任你发 我用 JAVA8 哈哈哈哈哈哈哈 不过这次的 21 还是很有特点 .batten { position: relative; } #astronaut-1-animation { position: absolute; width: 130px; top: -100%; right: -5%; } lottie.loadAnimation({ path: '/json/astronaut/1.json', loop: true, autoplay: true, renderer: 'svg', container: document.getElementById('astronaut-1-animation'), }); Virtual Threads(核心功能💢)Virtual Threads 提供了一种更高效,更轻量级的线程模型。一般来说线程可执行的数量是跟 CPU 核心数量相关的,但是...
2023-03-11
Autowired 和 Resource 的区别
@Autowired @Resource Spring 定义的注解 JDK自带的注解(JSR-250定义的) 默认按类型自动装配(byType) 默认按名称自动装配(byName) 一个参数:required(默认true),表示是否必须注入 七个参数:最重要的两个参数是 name,type 默认按类型自动装配,如果要按名称自动装配,需要和 @Qualifier 一起配合 默认按名称自动装配,如果指定了 name,则按名称自动装配;如果指定了 type,则按类型自动装配 支持优先级,@Primary 注解修饰,该候选者会被选中,作为自动装配的 bean 不支持 作用范围:构造器,方法,参数,成员变量,注解 作用范围:类,成员变量,方法 不知道从什么时候起我的 IDEA 对 @Autowired 一直报黄色的波浪线,使用 alt + enter 查看 IDEA 给的提示是 Field injection is not...
2024-09-02
Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults.
问题复现在使用 macbook pro m2 运行 springboot springcloud 项目时,报错 2024-09-02 20:52:18 [main] ERROR i.n.r.d.DnsServerAddressStreamProvidersUnable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native...
2023-11-19
数据结构
本篇文章主要参考了GitHub的 Hello 算法 数组「数组 array」是一种线性数据结构,其将相同类型元素存储在连续的内存空间中。我们将元素在数组中的位置称为该元素的「索引 index」 数组常用操作初始化数组我们可以根据需求选用数组的两种初始化方式:无初始值和给定初始值。在未指定初始值的情况下,大多数编程语言会将数组元素初始化为0 12int[] arr = new int[5]; // { 0, 0, 0, 0, 0 }int[] nums = { 1, 3, 2, 5, 4 }; 访问元素数组元素被存储在连续的内存空间中,这意味着计算数组元素的内存地址非常容易。给定数组内存地址(即首元素内存地址)和某个元素的索引,我们可以使用如图所示的公式计算得到该元素的内存地址,从而直接访问此元素(元素内存地址 = 数组内存地址(即首元素地址) + 元素长度 ×; 元素索引)。索引的含义本质上是内存地址的偏移量 1234567int randomAccess(int[] nums) { // 在区间 [0,...
2023-08-16
HashMap 执行流程
HashMap执行流程图流程图https://www.processon.com/diagraming/6532431251d35763b9c31ad3 判断键值对数组 table 是否为空或为 null,否则执行 resize() 进行扩容(初始化) 根据键值 key 计算 hash 值得到数组索引 判断 table[i] == null,条件成立,直接新建节点添加 如果 table[i] == null,不成立 判断 table[i] 的首个元素是否和key一样,如果相同直接覆盖 value 判断 table[i] 是否为 treeNode,即 table[i] 是否是红黑树,如果是红黑树,则直接在树中插入键值 遍历 table[i],链表的尾部插入数据,然后判断链表的长度是否大于 8,大于 8 的话把链表转换为红黑树,在红黑树中执行插入操作,遍历过程中若发现 key 已经存在直接覆盖 value 插入成功后,判断实际存在的键值对数量 size 是否超过了最大容量 threadshold(数组长度 * 0.75),如果超过,进行扩容
评论