标签: java-opts

重复的Java运行时选项:首选顺序是什么?

考虑以下命令行

java -Xms128m -Xms256m myapp.jar
Run Code Online (Sandbox Code Playgroud)

哪些设置适用于JVM最小内存(Xms选项):128m或256m?

java jvm jvm-arguments java-opts

72
推荐指数
6
解决办法
2万
查看次数

如何在Windows中为Tomcat设置JAVA_OPTS?

我正在尝试JAVA_OPTS在Windows机器上设置Tomcat,但如果我添加多个变量,我会一直收到错误.

例如,这有效:

set JAVA_OPTS="-Xms512M"
Run Code Online (Sandbox Code Playgroud)

但这不是:

set JAVA_OPTS="-Xms512M -Xmx1024M"
Run Code Online (Sandbox Code Playgroud)

它导致错误:

Invalid initial heap size: -Xms512M -Xmx1024M
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)

就好像我可以设置一个变量(-Xmx也可以)但不是几个.

我正在使用指示setenv.bat文件,我的Tomcat是7.0.35.

tomcat java-opts

24
推荐指数
5
解决办法
13万
查看次数

org.apache.catalina.startup.Bootstrap在Mac上的Dock上

希望您能够帮助我.我在mac的Dock上有一个奇怪的org.apache.catalina.startup.Bootstrap图标.我和Lion一起使用10.7.2版本.我使用这个:在startup.sh和shutdown.sh导出JAVA_OPTS =" - Djava.awt.headless = true"但是遇到了同样的问题.提前致谢.

macos tomcat java-opts

14
推荐指数
1
解决办法
6354
查看次数

查找Maven使用的Java选项

我怎样才能找到Maven正在使用哪些Java选项(Xmx,Xms,Xss等)?

我发现设置它们的方法是通过环境MAVEN_OPTS.现在我想要一种方法来确保它获得正确的设置.

编辑:我认为这与这个问题不同,因为我不想看到环境变量的价值.我更愿意看看Maven实际使用了哪些设置,无论是来自env var,settings.xml还是其他方法.

编辑2:我也对为Maven构建设置Java选项的其他方法感兴趣

java jvm-arguments maven-3 maven java-opts

10
推荐指数
2
解决办法
1万
查看次数

- - > - - Java中的运算符

我想知道,-->--运营商在Java中做了什么?

例如,如果我有以下代码:

int x = 3;
int y = 3;
if (x -->-- y) {
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这总是返回true.

谢谢!

java int integer operators java-opts

8
推荐指数
1
解决办法
344
查看次数

用于查找给定java进程的-Xms和-Xmx变量值的命令?

我有一个java程序,我运行并用jps找出它的进程ID.

我怎样才能看到这个java进程的-Xms和-Xmx变量的值是多少?

java jvm java-opts

8
推荐指数
3
解决办法
1万
查看次数

在 JBOSSstandalone.sh 文件中设置 JAVA_OPTS

我在 jboss 上有一个通过 log4j 进行日志记录的应用程序。当我通过bat文件(standalone.bat)运行我的服务器时,日志工作正常,但standalone.sh文件下有问题。以下是我在standalone.bat中设置JAVA_OPTS的方法:

set "JAVA_OPTS=%JAVA_OPTS% -Dlog4j.configuration=file:../standalone/configuration/log4j.xml"
Run Code Online (Sandbox Code Playgroud)

它有效。我应该如何在standalone.sh 文件中执行此操作?我尝试过这样的事情:

JAVA_OPTS= "$JAVA_OPTS -Dlog4j.configuration=file:$JBOSS_HOME/standalone/configuration/log4j.xml"
Run Code Online (Sandbox Code Playgroud)

但这不起作用。有任何想法吗?在此先感谢您的帮助。

jboss sh java-opts

6
推荐指数
1
解决办法
3万
查看次数

IntelliJ 设置堆大小超过 4GB。如何?

我在 x64 Java 上使用 IntelliJ 14.3。可用内存:10Gb(总 RAM 16Gb)

(基本设定-Xmx8000M或更大)

问题是我需要超过 4Gb 的内存来用于应用程序。我找不到任何问题的答案或解决方案,我已经寻找了好几天了。

我一直在 stackoverflow 上寻找提出同样问题的人,但他们对默认值有问题-Xmx512M,并且不断链接到其他答案,链接到另一个答案(浪费时间,到目前为止还没有解决方案)。

我尝试了以下方法但不起作用:

  • 修改idea64.exe.vmoptionsIntelliJ的文件:似乎没有做任何事情,没有错误,没有内存增加,什么都没有。(看起来它忽略了该文件)
  • 在环境变量中使用JAVA_OPTIONS:使 IntelliJ 在启动时崩溃或冻结,而不使用比以前更多的内存。
  • 尝试使用较低的值,1512M相同的堆大小问题
  • 全新安装,即使是 15.x 版本的 IntelliJ:没有任何变化。

*笔记:

  • 我工作场所的某人可以在 IntelliJ 中将其设置为工作(但我们不知道如何

  • 在命令行中运行该类-Xmx8000M似乎可以工作,但我想在 IntelliJ 中设置它以便于使用

如果有人遇到这个问题并可以提出解决方案,我会礼貌地要求他们这样做。

java jvm intellij-idea java-opts

6
推荐指数
2
解决办法
1万
查看次数

无法识别的选项:--add-opens 与 _JAVA_OPTIONS 一起传递时

我正在尝试解决使用 Java 17 运行时运行 Nexus IQ 扫描仪的问题。

错误是

java.lang.reflect.InaccessibleObjectException:无法使受保护的最终 java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) 抛出 java.lang .ClassFormatError 可访问:模块 java.base 不会向未命名模块“打开 java.lang”@7225790e

所以我尝试将--add-opens java.base/java.lang=ALL-UNNAMED修复传递给运行的 JVM nexus-iq-cli.jar

不幸的是,我无法完全控制java -jar ...在 CI 上执行的命令,否则我只会--add-opens java.base/java.lang=ALL-UNNAMED显式地传递。由于该限制,我尝试使用其他一些方法来设置全局 JVM 参数设置。我想到的一种方法是使用_JAVA_OPTIONS环境变量。

令我惊讶的是 Java 因错误而退出:

无法识别的选项:--add-opens

当我尝试按如下方式传递时:

# with unix shell you can set value to some variable and execute something in one line
_JAVA_OPTIONS='--add-opens java.base/java.lang=ALL-UNNAMED' java
Run Code Online (Sandbox Code Playgroud)

另一方面,当我直接传递此选项时,Java 完全正常并且按预期运行:

java --add-opens java.base/java.lang=ALL-UNNAMED
Run Code Online (Sandbox Code Playgroud)

--add-opens java.base/java.lang=ALL-UNNAMED如果我无法直接控制java -jarCI 执行 Nexus IQ 扫描步骤的命令,我缺少什么以及传递参数的其他可能方法是什么?

java java-opts javaoptions

6
推荐指数
1
解决办法
5万
查看次数

如果路径第一次不存在,则Xloggc不会创建日志文件

-Xss256k
-Djava.net.preferIPv4Stack=true
-Dfile.encoding=UTF-8
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+DisableExplicitGC
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintClassHistogram
-XX:+PrintClassHistogramBeforeFullGC
-XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintPromotionFailure
-XX:PrintFLSStatistics=1
-verbose:gc
-XX:GCLogFileSize=64m
-XX:NumberOfGCLogFiles=2
-XX:+UseGCLogFileRotation
-Xloggc:./logs/gc.log
Run Code Online (Sandbox Code Playgroud)

以上是我正在为我的申请传递的JAVA_OPTS的完整列表.问题是如果在应用程序启动时日志目录不存在,有时不会创建gc.log文件.但是,如果我确保应用程序启动时日志目录存在,则始终会创建gc.log.

所以我正确地假设在我的log4j框架创建了日志目录之前,如果发生GC,Xloggc将安全地失败吗?除了手动预创建日志目录之外,还有其他解决方法吗?

jvm-arguments java-opts

5
推荐指数
1
解决办法
4661
查看次数