java-9相关内容
Java 9引入了工厂方法来使用List.of创建不可变列表. 哪个更适合创建一个元素的不可变列表? List immutableList1 = List.of("one"); List immutableList2 = Collections.singletonList("one"); 解决方案 首选使用工厂方法 List
..
% java11 -Xlog:gc*:file=c:\max.txt -version [0.002s][error][logging] Invalid decorator '\max.txt'. Invalid -Xlog option '-Xlog:gc*:file=c:\max.txt', see error log for details. Error: Could not create
..
从帮助信息中: -J Pass directly to the runtime system. Use one -J for each runtime flag or flag argument -R Pass to the remote run
..
我正在尝试针对Java 9构建开源项目.有些文件我需要使用反射来访问,但是不能,因为软件包不是由其模块导出的.我使用参数--add-exports将软件包导出到未命名的模块. 我在环境变量_JAVA_OPTIONS中添加了以下参数: -Dsun.reflect.debugModuleAccessChecks=true --add-exports=javafx.graphics/com
..
假设我在jshell中这样做: jshell> void printIsEven(int i) { ...> System.out.println(i % 2 == 0); ...> } | created method printIsEven(int) jshell> List l = Arrays.asList(7,5,4,8,5,9); l =
..
我刚刚阅读了有关Java 9模块系统的信息,我想问一下 ServiceLoader .应用程序启动后,有什么方法可以添加服务实现?如何删除一些服务实现? 用例::我将有一些用于计算内容的应用程序.计算算法将在某些服务(Java 9模块)中定义.在不停止应用程序的情况下,可以采取任何步骤来替换此算法吗?我什么时候才能更换罐子,仅仅是计算会失败,并且我需要捕捉错误并在模块加载完成后重新启动?
..
Java 8中没有适当的 HiDPI支持. 在 Java 9 中,JavaFx应用程序可以正确缩放到它们所在的监视器.例如,如果将我的监视器设置为缩放为150%,则Java应用程序将缩放为150%. 请参阅: http://openjdk.java.net/jeps/263 但是,出于测试目的,我需要能够在Windows 10中使用 java.exe标志来禁用缩放. > 此外,
..
我是JPMS的初学者,无法理解其动态性.例如,在当前的JVM实例中,moduleA.jar正在运行. moduleA仅需要java.base模块.现在,我要 动态加载需要java.sql模块和moduleC.jar 的moduleB.jar 从moduleB 执行一些代码 从JVM卸载moduleB,java.sql,moduleC并释放所有资源. 可以在Java 9模块系统中完成
..
我正在使用OkHttp,我需要忽略SSL错误以进行应用程序调试.这曾经在Java 8中可用. final TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { @Override public void c
..
我试图了解JPMS的工作原理. 从此处 类路径还没有完全消失.所有JAR(是否为模块化) 并且类路径上的类将包含在“未命名模块"中. 类似于自动模块,它导出所有包并读取所有 其他模块.但是,它显然没有名字.为了那个原因 因此,命名应用程序模块无法要求和读取它. 未命名的模块又可以访问所有其他模块. 请注意...on the classpath will be contained
..
我想使用JShell运行整个文件,例如: $ jshell my-jshell-skript.java 例如我的my-jshell-skript.java的内容是40 + 2;. 或可执行文件,例如: #!/usr/bin/jshell 40 + 2 现在有可能吗?还是我仍然需要沿用Java-Main-Class的旧方法? 编辑1:Windows问题 在Win
..
我刚刚尝试了JDK9,发现sun.misc.Unsafe现在不包含本机方法,而是将它们委托给某些jdk.internal.misc.Unsafe,例如: @ForceInline public int getInt(Object o, long offset) { return theInternalUnsafe.getInt(o, offset); } 最新的实际上看起来像旧的
..
似乎从Java 9中删除了sun.misc包中的SharedSecrets和JavaLangAccess类. Java 9中是否有这些类提供的功能的替代品? 解决方案 以上两个类均打包在jdk.internal.misc包中. 尝试访问它们的一种方法是使用选项 --add-exports /=(
..
我尝试安装JDK 9 Early Access版本172来与JShell一起玩. 当我尝试打开一个简单的Java文件并在将其添加为代码段后执行它时,它只是显示了修改后的类Test并增加了代码段数.您能帮我弄清楚我出了什么问题吗? | Welcome to JShell -- Version 9-ea | For an introduction type: /help intro jsh
..
我有三个模块,分别是模块a,模块b和模块c.当我运行我的应用程序时,我得到以下信息: 启动层初始化期间发生错误 java.lang.module.ResolutionException:模块module-a和module-b 将软件包some.package导出到模块module-c 考虑到模块c不会导入some.package以及如何解决它,这是什么意思? 解决方案 好像您已
..
我有一些使用JAXB API类的代码,这些类已作为Java 6/7/8中JDK的一部分提供.当我使用Java 9运行相同的代码时,在运行时出现错误,指示找不到JAXB类. 自Java 6以来,JAXB类已作为JDK的一部分提供,那么Java 9为什么不能再找到这些类? 解决方案 JAXB API被视为Java EE API,因此不再包含在Java SE 9的默认类路径中.在Java
..
我已经确定可以创建一个模块化的jar文件.但是,如果可能的话,我想再次检查.给定一个jar文件,是否有办法确定编译器将在其中找到哪些模块? 解决方案 替代方法是使用jar --describe-module(简称-d),例如: jar --file=myjar.jar --describe-module
..
我正在从 Java9的新功能了解Java 9讨论中的热门话题之一是模块化JDK . JAR文件模块吗? 模块与JAR文件有何不同? 解决方案 模块:Java 9中引入了新的语言功能(类似于类,接口,包,等等)组成的包,类似于包由类型的集合组成的方式. JAR :一种归档文件格式,捆绑了代码和资源,并且可以由JVM加载. 更具体地说,模块定义如下: 为了以可靠的
..
在我的项目中,我有一个使用多个第三方库的程序包.让我们看一下依赖树: [INFO] +- commons-logging:commons-logging:jar:1.2:compile [INFO] +- org.apache.directory.studio:org.apache.commons.collections:jar:3.2.1:compile [INFO] | \- comm
..
我正在尝试使用JDK-9使用Intellij-Idea 2017.2.5(Webservices->从wsdl生成代码...)为wsdl生成类存根 我遇到了这个异常,我想知道如何告诉intellij传递"--add-modules java.activation"以完成操作. (我想我应该从命令行运行wsimport ...) Exception in thread "main"
..