java-9相关内容
我正在尝试学习Java-9的新功能,我开始了解Stream的dropWhile方法,但是它在两种不同的情况下返回了不同的值. 这是我的代码 package src.module; import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.List; public class T
..
问题: 如何在 jshell脚本中接受用户输入?还是我做错了什么? 注意:我不正在寻找示例: 例如脚本hello.java: Scanner in = new Scanner(System.in); System.out.print("Enter number n1: "); int n1 = in.nextInt(); System.out.print("Enter n
..
每隔一段时间,我都会通过某个查询来检索推文. 这些推文必须传递给计算和处理这些推文的服务. 因此,这些服务已订阅我的发布者.因此Publisher.hasSubscribers()返回true.但是Submit或offer函数不会调用我的订阅者的onNext. 因此,作为“修复",我循环浏览订户并自己调用它.但这不是事实. 这是我的发布者的构造函数. public TwitterSt
..
我在IDE中将Eclipse 4.7.3a与Tomcat 9.0.4结合使用.我从Java 8升级到Java10.我将JAVA_HOME更改为指向JDK 10安装.我进入Eclipse,并创建了一个新的JDK,它安装了指向Java 10 JDK的JRE,然后选择了它.我重建了项目,并尝试启动我拥有的Tomcat服务器.它说: -Djava.endorsed.dirs=C:\bin\tomca
..
为什么我的jshell实例(JDK版本9-ea)无法识别printf()语句?以下是我观察到的错误, jshell> printf("Print number one - %d",1) | Error: | cannot find symbol | symbol: method printf(java.lang.String,int) | printf("Print numb
..
我正在尝试获取一个Java 9模块来连接到内置的Derby数据库(嵌入模式).我的模块依赖于java.sql,但是我不确定将Derby驱动程序放在哪里. 这是我的module-info.java: module mymodule { requires java.sql; } 这是模块中执行失败的Main.java代码: public static void main(
..
我正在尝试通过使用在当前设置下,我有一个名为 lib 的目录,该目录具有MySQL Java驱动程序: mysql-connector-java-5.1.35.jar . 通过命令工具启动JShell并添加所需的模块为: jshell --module-path lib --add-modules mysql.connector.java 然后加载mysql驱动程序对我有用:
..
我有一些声明为final的JPA注释字段,如下所示: @Column(name = "SOME_FIELD", updatable = false, nullable = false) private final String someField; 将实体插入数据库时,这些字段将存储在数据库中.它们无法进一步更新.对于Java编程语言,可以将这些字段视为最终字段. 使用Ecli
..
我有一个服务器套件,正尝试在java9 JDK上进行测试(在此处,我使用的是64位Linux版本),但是启动后不久就会遇到以下错误: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBExce
..
我正在尝试将一些旧应用程序迁移到新的Java 9模块系统中,以增强其封装性. 我从外而内开始,假设外围的类具有最小的外部依赖性. 如您所料,我已经声明了一个非常开放的模块,以: module com.example.user { exports com.example.user; } 这突然中断了整个项目(在所有类内部),突然,外部依赖项的每次导入都不再解决(导
..
使用java-9构建 9-ea + 149 和jol 0.6 . 运行以下简单代码: ArrayList list = new ArrayList(); list.add(12); System.out.println(ClassLayout.parseInstance(list).toPrintable()); 输出: OFFSET SIZE
..
使用Undertow 1.4.20(作为嵌入式Servlet引擎)时,在Java 9下运行我们的应用程序时出现此异常.=:java.lang.ClassNotFoundException: sun.misc.Cleaner 原因是io.undertow.server.DirectByteBufferDeallocator中的这一行: tmpCleanerClean = Class.fo
..
由于我正在使用的sigar库版本中的错误(返回了虚假的交换值),因此我尝试使用com.sun.management.OperatingSystemMXBean.效果很好,并给了我想要的结果(在Windows上). Class sunMxBeanClass = Class.forName("com.sun.management.OperatingSystemMXBean"); sunMx
..
似乎在另一个JShell中创建的JShell对象无权访问父级的JShell范围.例如: jshell> int x = 1; x ==> 1 jshell> x x ==> 1 jshell> jdk.jshell.JShell js = jdk.jshell.JShell.create(); js ==> jdk.jshell.JShell@1a052a00 jshell> js.e
..
有没有可用的命令可以打印当前jshell会话中所有新创建的方法? 类似于/list,但仅适用于方法 解决方案 您正在寻找命令 /methods -all 打印所有方法,包括启动JShell时添加的方法,以及失败,被覆盖或删除的方法. 对于您声明的活动方法,请仅使用它而无需使用任何参数: /methods
..
我试图用Java 9编译我的应用程序,但失败了,因为 native2ascii可执行文件不存在.是否已在Java 9中将其删除?有另一种工具可以做同样的事情吗? 解决方案 是的,Java 9中删除了native2ascii.来自将其删除的错误报告,"JEP 226建议支持UTF属性文件,该文件将解决创建native2ascii工具的原始动机."有关更多信息,请访问 JEP 226 .
..
我正在尝试使用jdk 9-ea+171中的HTTP/2客户端.该代码摘自此示例: HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(new URI("https://www.google.com/")) .build();
..
我认为JPMS不支持模块版本.但是,当我执行java --list-modules时,会有以下输出: java.activation@9 java.base@9 java.compiler@9 java.corba@9 java.datatransfer@9 java.desktop@9 java.instrument@9 .... 所以,我不明白这个@9是什么.是这个版本还是什么?如
..
我经历了一些有关JShell的教程,但我仍然不明白最重要的部分:为什么我什至还要使用JShell? 这是Oracle所说的: “您可以测试单个语句,尝试使用不同的变体形式 方法,并在JShell中试验不熟悉的API 会话". 是的,很好,但是对于所有这些事情,我都可以使用IDE.我确实知道,REPL应该使代码评估更快.但是,使用Sysout在虚拟Hello World项目中的ID
..
我正在尝试为我的JAVA-9应用程序/项目拼图创建跨平台/平台无关的可执行文件. 我认为jlink命令只会创建特定于平台的可执行文件/运行时. 解决方案 JLink (由 JEP 282 覆盖)创建模块化运行时映像(由也就是说,可以在一个操作系统上运行JLink并为一个不同的操作系统创建一个运行时映像.为此,您要做的就是下载并解压缩JDK 9(与JLink的版本相同),并将其jmod
..