问题标签 [javaoptions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
239239 浏览

java - JVM 选项 -Xss - 它究竟做了什么?

在这里说 -Xss 用于“设置线程堆栈大小”,它究竟是什么意思?谁能帮我理解这一点?

0 投票
1 回答
504 浏览

apache-spark - 具有集群模式的 Spark 2.1 忽略了 extraJavaOptions

我们正在运行 HortonWorks Spark Distribution 2.1。我们注意到,当我们以 yarn-cluster 作为 master 运行 Spark 时,我们作为 executors.extraJavaOptions 传递的任何内容都将被完全忽略,并且作业在 executors 中保持默认值(通过 Spark UI 可以看到)。

我想知道是否有人注意到类似的事情并有一些智慧可以分享。我很乐意提供所需的更多细节。

更新:这是按照要求执行的命令以及选项:

请注意,由于一些其他安全参数(如 keytabs 等),对此进行了轻微修改。也不存在换行符,仅将其放在这里以使其更具可读性。

0 投票
3 回答
133 浏览

java - 这是Java选项的好代码和使用吗

这是良好的代码风格和良好的使用选项吗?这似乎不正确,因为该方法返回一个泛型,但主体没有使用泛型返回。此外,由于 IF 语句,“闻起来”有点难闻。

在客户端,我有:

这似乎也不比普通if(oData == null)检查好多少。

因此,这段代码看起来很垃圾,所以我不应该使用 Optional 吗?

0 投票
0 回答
1482 浏览

java - 无法使用 _JAVA_OPTIONS 设置 -Xss

我有一些应用程序只能在增加堆栈大小(java 选项 -Xss1M)的情况下才能正常运行,否则会出现段错误。如果我在命令行中使用 -Xss1M 选项,它就可以工作。要将这个解决方案集成到我的 Jenkins 工作中,我更喜欢使用 _JAVA_OPTIONS 环境变量方法而不是脚本修改。

令我惊讶的是,如果我说“export _JAVA_OPTIONS=-Xss1M”,它就不起作用。我还尝试设置 JAVA_OPTS 和 JAVA_TOOL_OPTIONS,使用单引号和双引号。结果总是一样的。特别奇怪的是,Java 写了“选择”选项,尽管它没有效果:

如果我使用 -Xss1M 作为命令行选项运行相同的命令,它可以工作:

在 SunOS 5.10 和 CentOS 4 机器上,我确实有相同的行为。在两者上我都使用 JDK 6。我使用了https://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#tooloptionshttps://docs.oracle.com/cd/E14592_01/ doc.10142/e14608/app_orminweblogic.htm作为参考和_JAVA_OPTIONS JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间的区别,以查看 _JAVA_OPTIONS 用法的示例。我没有发现任何提及好像 _JAVA_OPTIONS 不接受某些选项等。所以我想它也应该与 -Xss 一起使用。谁能指出,我的错误在哪里,请?

更新 1:我确信命令行选项规范与 _JAVA_OPTIONS 真的不是等价的东西。不仅适用于 -Xss,还适用于其他选项。

我在我的 Ubuntu 14.04 上使用了 Java 7 和 -XshowSettings:all 选项来查看这些选项是如何在“内部”Java 中看到的。我执行了 3 个命令并比较了它们的输出(不同之处在于第一行)。

$ java -XshowSettings:all -version 2>&1 | 头-5

$ _JAVA_OPTIONS="-Xms2048m -Xmx2048m" java -XshowSettings:all -version 2>&1 | 头-5

$ java -Xms2048m -Xmx2048m -XshowSettings:all -version 2>&1 | 头-5

这意味着相同的选项 -Xms、-Xmx 确实有,但当我们使用 _JAVA_OPTIONS 方法时效果有限。这同样适用于 -Xss:

$ _JAVA_OPTIONS="-Xss1m" java -XshowSettings:all -version 2>&1 | 头-5

$ java -Xss1m -XshowSettings:all -version 2>&1 | 头-5

不同之处在于它仅在 -Xss1m 是命令行选项时才指示“堆栈大小:1.00M”。但为什么!为什么不在 _JAVA_OPTIONS 下提供完全等效的命令行?

更新 2 :从http://hg.openjdk.java.net/jdk7/jdk7/hotspot/archive/tip.tar.gzhttp下载了 Java 源代码的“片段”(“hotspot”和“jdk”) : //hg.openjdk.java.net/jdk7/jdk7/jdk/archive/tip.tar.gz。注入大量打印输出并设法从源代码构建 java 和所有相关库(libjvm.so、rt.jar),然后运行它。

根本原因是来自 _JAVA_OPTIONS 的选项存储在数组 _jvm_args_array 中,该数组不用于 jdk-9b8c96f96a0f/src/solaris/bin/java_md.c 中的 thr_create() 调用。

有一个地方我们尝试评估堆栈大小,它是从 ContinueInNewThread(...) 调用 JNI_GetDefaultJavaVMInitArgs(void *args_),但它只返回等于 320K 的默认堆栈大小值并且不使用 _JAVA_OPTIONS . _JAVA_OPTIONS 的解析稍后发生在看起来完全没有意义的已创建线程中。

我编写了下面的调用序列来说明可能对它感兴趣的人正在发生的事情(缩进对应于调用深度)。

我现在正在检查如何向 OpenJDK 报告错误。即使 OpenJDK 认为这样的实现设计得当,在命令行帮助和文档中也应该清楚地说明 -Xss 不能在 _JAVA_OPTIONS 中工作。

0 投票
0 回答
197 浏览

java - 使用 sh 脚本从 JAVA_OPTIONS 中删除选项

所以,我有一些在我启动服务器时使用的脚本。

我可以访问和编辑一些,但还有一些我无法访问或编辑。

在我的上一个脚本中,我有以下几行:

为了添加一些选项。但是有一些JAVA_OPTIONS我想删除的选项(它被添加到我无权访问的 .sh 中)

这是我要删除的选项:

我怎样才能通过编辑我的最后一个脚本来实现这一点?

0 投票
1 回答
67 浏览

glassfish - 如何在 GlassFish Cluster (Glassfish 4) 中为每个实例添加单独的 Java 选项?

我在 Glassfish 4 上有一个包含 5 个实例的集群。所有实例都使用相同的配置和相同的 Java 选项。我想为集群中的每个实例添加一个 Java 选项 -Dcom.sun.management.jmxremote.port=****,这意味着它们都必须不同。最好的方法是什么?

我无法将所有实例移动到单独的配置中,并且我没有找到有关在实例系统属性或实例属性中设置参数的任何信息。

感谢帮助!

0 投票
1 回答
2983 浏览

java - 64 位服务器 VM 警告:选项 -Xverify:none 和 -noverify 在 JDK 13 中已弃用。从环境变量中删除 -Xverify:none 是否安全?

当我运行任何程序时会出现以下消息。

许多相关问题都指向编辑自定义 VM 选项,但这不适用于我。

我最终发现 Java 运行时在我的环境变量中找到了这个设置,它的变量 _JAVA_OPTIONS 为 -Xverify:none。

我几乎可以肯定我不会添加这个变量,那么有没有其他方法可以在环境变量中创建它?从环境变量中删除没有后果是否安全?

0 投票
0 回答
2275 浏览

java - 拿起_JAVA_OPTIONS:-Dawt.useSystemAAFontSettings=on

每当我在 kali 上的 intellij 上执行 java 代码,或java --version在命令行中输入时,我都会收到此消息

Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true.

我用谷歌搜索,发现这个链接和我的情况完全一样,但我理解的是这是一个信息而不是错误,我可以取消设置 _JAVA_OPTIONS 环境变量。我要问的是删除这个环境变量不会造成任何伤害吗?

我在上面的链接中读到,If you remove that variable, information will be gone. 我不明白这意味着任何损坏,或者他只是说消息会消失!

最后如何删除或取消设置这个 _JAVA_OPTIONS 变量?

更新

当我通过这些命令取消设置此变量时

_SILENT_JAVA_OPTIONS="$_JAVA_OPTIONS"

unset _JAVA_OPTIONS

alias java='java "$_SILENT_JAVA_OPTIONS"'

- 从此链接引用,第二个答案 - 消息仍然出现,但在 java 程序的输出之后而不是在输出之前!

0 投票
0 回答
32 浏览

java - 运行 java 进程以仅读取/写入一个文件夹

如何运行 java 进程以仅读取/写入一个文件夹?虚拟机有什么选择吗?

0 投票
0 回答
110 浏览

java - java 命令的-agentlib 选项有什么作用。在其中使用 TakipiAgent 时出错

有人可以解释该-agentlib选项的用途及其内部工作原理吗?

为了提供更广泛的视角,我正在运行以下命令:

java -agentlib:TakipiAgent MyClass

它给了我错误:

注意 - 这寻求两个答案:1)一般 -agentlib 的工作(2)我得到的错误的可能解决方案