java - 错误 : Could not find or load main class –Xmx1G

标签 java memory-management garbage-collection jvm heap-memory

这太疯狂了;有人以前见过这个吗?

java –Xmx1G –Xms1G –XX:+UseG1GC -XX:+PerfDisableSharedMem -jar service-1.0-SNAPSHOT.jar
Error: Could not find or load main class –Xmx1G

我能做到:

java -jar service-1.0-SNAPSHOT.jar –Xmx1G –Xms1G –XX:+UseG1GC -XX:+PerfDisableSharedMem

但是 jmap -heap {PID} 表明它完全忽略了这些选项。我尝试了不同的变体:

java –XX:+UseG1GC -jar service-1.0-SNAPSHOT.jar –Xmx1G –Xms1G  -XX:+PerfDisableSharedMem
java -Xms1G -Xmx1G -jar service-1.0-SNAPSHOT.jar
java –xx:+useg1gc -jar service-1.0-SNAPSHOT.jar
java -server –XX::+UseG1GC -jar service-1.0-SNAPSHOT.jar`

我要么得到这个错误: 错误:无法找到或加载主类{OPTION}

或者它运行但忽略选项。

甚至 java -XX:-UseConcMarkSweepGC -jar service-1.0-SNAPSHOT.jar 也被忽略了:

jmap -heap 5879 
Attaching to process ID 5879, please wait... 
Debugger attached successfully. 
Server compiler detected. 
JVM version is 25.121-b13

using thread-local object allocation.  
Parallel GC with 8 thread(s)  
Heap Configuration:

MinHeapFreeRatio         = 0
MaxHeapFreeRatio         = 100
MaxHeapSize              = 4294967296 (4096.0MB)
NewSize                  = 89128960 (85.0MB)
MaxNewSize               = 1431306240 (1365.0MB)
OldSize                  = 179306496 (171.0MB)
NewRatio                 = 2
SurvivorRatio            = 8
MetaspaceSize            = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize         = 17592186044415 MB
G1HeapRegionSize         = 0 (0.0MB)

这是我的 JVM:

java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

这发生在我的 Mac 和 Alpine Docker 镜像中。有什么想法吗?

最佳答案

当您应该使用连字符减号 (U+002D) 时,您使用了破折号 (U+2013)。

 –Xmx1G # incorrect: en dash
 -Xmx1g # correct: hyphen-minus

这些字符之间差异的可见程度取决于使用的字体。

参见 Dashes (unicode section) 上的维基百科

关于java - 错误 : Could not find or load main class –Xmx1G,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45490492/

相关文章:

java - Cookie 抛出 NullPointerException

c# - C# 中字符串连接的内存分配

linux - 使用 "mem"环境变量限制内核可以管理的物理内存量

c# - 垃圾收集器世代不递增

java - 年轻一代的垃圾收集问题

java - 未找到属性文件 - 如何将其定位为资源?

java - 无法理解/定位 Octave 到 Java 数组转换所需的 Jar 文件(JIDT 包)

Java 无法从 AIX 解析 DNS 地址 : UnknownHostException

ios - View Controller 的 NSMutableArray 不释放其对象的内存

jakarta-ee - CDI |应用程序/从属范围 |内存泄漏 - javax.enterprise.inject.Instance<T> 未收集垃圾