小编Dim*_*rov的帖子

getResourceAsStream在新环境下失败了吗?

你好,

我有以下代码行:

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 resources classloader

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

如何计算(并指定)java进程允许的总内存空间?

我有一个系统不能为 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 永远不会尝试这样做。

java jvm memory-management

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

标签 统计

java ×2

classloader ×1

jvm ×1

memory-management ×1

resources ×1