java-9相关内容

java 9 中 javax.activation 包的替代品是什么?

似乎 javax.activation 包在 Java 9 中已被弃用.Oracle 迁移指南建议在 JVM 启动期间使用 --add-modules java.activation 选项. 但是,我想避免这种情况并替换 javax.activation 包的类,因为它已被弃用,并将在未来的 java 版本中删除.我想,javax.activation 应该有某种替代方案.如果有的话,是什么 ..
发布时间:2022-01-16 11:48:01 Java开发

为什么在 Java 9 G1 工作约 6 小时后性能会下降,而负载却没有实际增加?

我将 1 个实例(2 个 vCPU,2GB RAM,负载 ~4k req/sec)切换到 Java 9(来自最新的 Java 8).有一段时间,一切都很好,CPU使用率和以前一样.但是,大约 6 小时后,CPU 消耗无缘无故地增加了 4%(从 21% 到 25%).我没有流量高峰,没有内存消耗增加,没有指标变化(我在代码中的每个方法都有计数器).什么都没有. 我让这个实例保持原样大约 12 ..
发布时间:2022-01-16 10:20:06 Java开发

在 Java 中替换 finalize()

Object.finalize() 在 Java 9 中已被弃用,我想我明白其中的原因,但我很难看到如何替换它. 我有一个名为 Configuration 的实用程序类,它本质上只有一个实例,它拥有应用程序中的所有内容并在应用程序期间持续存在.它提供的服务之一是记录:在第一次请求记录消息时,会创建一个记录器(由于各种遗留原因,它是我自己的记录器而不是标准记录器),并在配置对象的字段中保存一个 ..
发布时间:2022-01-16 09:54:01 Java开发

Mockito、Java 9 和 java.lang.ClassNotFoundException:sun.reflect.ReflectionFactory

我的项目是一个使用 Mockito 测试库的 Wildfly 13 应用程序.该应用程序未使用 Java 9 模块结构.只要服务器在 Java 8 上运行,测试就可以正常工作,但是一旦我们升级到 Java 9,它们就会失败,并出现以下异常: org.objenesis.ObjenesisException: java.lang.ClassNotFoundException: sun.reflec ..
发布时间:2022-01-14 12:56:36 Java开发

Map.ofEntries() 代替 Map.of() 有什么用

来自 Map.java - Map.of() 和 Map.ofEntries() 静态工厂方法提供了一种创建不可变地图的便捷方式. 但是当我已经可以 使用重载方法 ... Map.of("k1","v1","k2","v2","k3","v3"...); ... Map.ofEntries 有什么用呢 返回一个不可变映射,其中包含从给定条目中提取的键和值,并且条目本身不存储在 ..
发布时间:2022-01-08 14:06:15 Java开发

javax.xml.bind.JAXBException 在模块路径或类路径上找不到 JAXB-API 的实现

我正在尝试在 Java 9 上运行我的 Spring Boot 应用程序,我遇到了 JAXB 问题,该问题在指南中有所描述,但对我不起作用.我添加了对 JAXB api 的依赖,并且应用程序开始工作.如果您收到以下异常,由于缺少使用 Java 版本 >=9 的 JAXB 缺少实现: javax.xml.bind.JAXBException:在模块路径或类路径上找不到 JAXB-API 的实现.在 ..
发布时间:2022-01-08 12:00:47 其他开发

Java默认接口方法具体用例

Java 9 即将推出,更多特性将添加到 Java 接口中,例如私有方法.接口中的 default 方法是在 Java 8 中添加的,本质上是为了 支持在集合中使用 lambdas,而不会破坏与该语言以前版本的复古兼容性. 在 Scala 中,trait 中的方法非常有用.但是,Scala 处理 trait 的方法与使用 default 方法的 Java 不同.考虑多重继承解析或使用 tra ..
发布时间:2021-12-31 14:49:11 其他开发

IntelliJ IDEA 项目模块与 Java 9 模块的概念不同吗?

我从未在 IntelliJ IDEA 中使用过模块,但在 Java 9 中出现了模块(我也从未使用过但现在想研究这是什么) 那么问题是:有没有相互匹配的?或者 IDEA 模块很早就出现并且用于不同的目的? 解决方案 这是一个类似的概念,早在 Java 9 模块之前就出现了.它也不是特定于 IDE 的.像 Maven 和 Gradle 这样的构建系统在处理由多个子项目组成的项目时也使用 ..
发布时间:2021-12-29 14:19:34 其他开发

数组转换 Java 8 与 Java 9

有没有人知道为什么这段代码适用于 java 8 而不适用于 java 9 String[] strings = (String[]) Arrays.asList("foo", "bar").toArray();对于(字符串字符串:字符串){System.out.println(string);} 我知道我们可以在执行 toArray 而不是强制转换时指定类型.但是我在调​​试我们的一个依赖项 ..
发布时间:2021-12-28 23:41:01 Java开发

并行 flatMap 总是顺序的

假设我有这个代码: Collections.singletonList(10).parallelStream()//.stream() - 没有任何变化.flatMap(x -> Stream.iterate(0, i -> i + 1).limit(x).平行线().peek(m -> {System.out.println(Thread.currentThread().getName()) ..
发布时间:2021-12-28 09:03:49 Java开发

Observer 在 Java 9 中已被弃用.我们应该用什么来代替它?

Java 9 出来了,Observer 已被弃用.这是为什么?这是否意味着我们不应该再实现观察者模式? 最好知道什么是更好的选择? 解决方案 这是为什么?这是否意味着我们不应该再实现观察者模式了? 先回答后半部分—— YES,这确实意味着你不应该再实现 Observer 和 Obervables. 为什么不推荐使用 - 他们没有为应用程序提供足够丰富的事件模型 ..
发布时间:2021-12-28 08:44:20 Java开发

ImmutableCollections SetN 实现细节

我很难理解 java-9 ImmutableCollections.SetN 中的实现细节;具体为什么需要将内部数组增加两次. 假设你这样做: Set.of(1,2,3,4)//4 个元素,但内部数组为 8 更确切地说,我完全理解为什么在 HashMap 的情况下这样做(双重扩展) - 您从不(几乎)希望 load_factor 成为其中之一.!=1 的值可以缩短搜索时间,因为条目可以更 ..
发布时间:2021-12-27 18:02:11 Java开发

Java 9 中集合的重载便利工厂方法有什么意义

Java 9 带有用于创建不可变列表的便利工厂方法.最后创建一个列表很简单: Listlist = List.of("foo", "bar"); 但是这个方法有 12 个重载版本,11 个带有 0 到 10 个元素,一个带有 var args. static 列表of(E... 元素) Set 和 Map 也是如此. 既然有 var args 方法,那么多出 11 个方法有什么 ..
发布时间:2021-12-27 17:39:47 Java开发