Usage of API documented as @since 9+
发表于|更新于|🤢奇奇怪怪的BUG
今天在使用 SubmissionPublisher
的时候 IDEA 给我提示红色警告 Usage of API documented as @since 9+
,大致的意思就是 JDK 版本不对,可以我已经把 JDK 的版本调到了 21,上网搜了一下发现还需要改变一下 Language Level,打开 File -> Project Structure -> Project,把 Project language level 改成 21,这样就可以了(如果还不行就把 Modules 中的 Language Level 也改了)
相关推荐
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),如果超过,进行扩容
2022-12-26
JUC 并发编程(一)
吐槽学不完的技术🤮 CompletableFutureFutureFuture接口(FutureTask实现类)定义了操作异步任务执行一些方法,如获取异步任务的执行结果,取消任务的执行,判断任务是否被取消,判断任务执行是否完毕等。比如主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,忙其他事情或者先执行完,过了一会才去获取子任务的执行结果或变更的任务状态 Future是Java5新加的一个接口,它提供了一种异步并行计算的功能。如果主线程需要执行一个很耗时的计算任务,我们就可以通过future把这个任务放到异步线程中执行。主线程继续处理其他任务或者先行结束,再通过Future获取计算结果。主要是为了异步多线程任务执行且返回有结果。三个特点:多线程/有返回/异步任务 Future优缺点 优点: future + 线程池异步多线程任务配合,能显著提高程序的执行效率缺点:...
2023-01-31
JUC 并发编程(二)
原子类基本类型原子类123456class MyNumber { AtomicInteger counter = new AtomicInteger(); public void addPlus() { counter.getAndIncrement(); }} 12345678910111213141516171819202122MyNumber myNumber = new MyNumber();CountDownLatch countDownLatch = new CountDownLatch(SIZE);for (int i = 1; i <= 50; i++) { new Thread(() -> { try { for (int j = 1; j <= 1000; j++) { myNumber.addPlus(); } ...
评论