你好,
我有以下代码行:
InputStream passoloExportFileInputStream = getClass().getClassLoader().getResourceAsStream("/com/thinkplexx/lang/de/general.xml");
Run Code Online (Sandbox Code Playgroud)
我知道使用com/thinkplexx/lang/de/general.xml的jar在classpath中.
它工作在"以前的环境"下,即maven2 build.
现在,我评估maven3,它不起作用!我知道,如果我将代码更改为:
InputStream passoloExportFileInputStream = getClass().getClassLoader().getResourceAsStream("com/thinkplexx/lang/de/general.xml");
Run Code Online (Sandbox Code Playgroud)
它工作得很好(我刚从资源路径中删除了第一个斜杠).
顺便说一句,我使用的是Linux.路径中的第一个斜杠通常意味着"从根目录",所以如果这个逻辑对于java资源加载也是合理的,那么第一个示例应该永远不会有效!
问题:第一个代码示例有问题,即使用/ com /而不是com /?这只是糟糕的代码还是意味着不同的东西?
谢谢!
我有一个系统不能为 Java 进程提供超过 1.5 Gb 的容量。因此,我需要一种确切的方法来指定 java 进程设置,包括 java 中的所有内存类型和可能的 fork。
一个特定的java进程和系统来说明我的问题:
我当前的环境是 Ubuntu Linux 9.10 下的 java 1.6.0_18。
我使用以下 JVM 选项启动大型 Java 服务器进程:“-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m”
现在,“top”命令报告该进程使用 1.6GB 内存......
问题:
1 - 如何计算java进程使用的最大空间?如果可能,请提供准确的公式。( Smth. Like: max.heap + max.perm + stack + jvm space = maximal space )
2 - 就我而言,Linux 下臭名昭著的分叉行为是什么?分叉的 JVM 会占用额外的 1.6 GB(导致总共 3.2 Gb 的已用内存)吗?
3 - 必须使用哪些选项才能绝对确保任何时候使用的内存不超过 1.5GB?
谢谢你
@rancidfishbreath:“ulimit”将确保java不能占用超过指定数量的内存。我的目的是确保 java 永远不会尝试这样做。