Tag: jvm arguments

如何在Spring applicationContext.xml中读取JVM参数

我有一个使用Spring的JSF Web应用程序,我正在尝试找出一种从applicationContext.xml引用JVM参数的方法。 我使用环境参数启动JVM(例如-Denv = development)。 我找到并尝试了一些不同的方法,包括: ${environment} 但是,当在MyClass中调用setter方法时,将传递字符串“$ {environment}”,而不是“development”。 我有一个使用System.getProperty()的工作,但是能够通过Spring设置这些值会更好,更清晰。 有没有办法做到这一点? 编辑:我之前应该提到的是我使用JDBC连接从我的数据库加载属性。 这似乎增加了复杂性,因为当我向配置添加属性占位符时,属性占位符将覆盖从数据库加载的属性。 我不确定它是依赖于顺序还是其他东西。 这就像我可以做其中一个,但不是两个。 编辑:我目前正在使用以下配置加载属性:

哪些参数代表JVM内存选项中的内容?

有很多JVM参数影响JVM的内存使用情况,如-Xms, -Xmx, -Xns, -XX:MaxPermSize… 他们在做什么? 还有吗? 当我得到什么错误时,我必须增加哪一个(例如OutOfMemoryError , StackOverflowError …)? 我找不到一个好的备忘单 – 让我们在这里创建一个。

Java禁用dpi-aware无法正常工作

我正在尝试使用-Dsun.java2d.dpiaware=false参数运行Java应用程序,但没有任何反应。 我希望有一个模糊的用户界面,但图标和字体的大小正常,似乎这个标志不起作用。 我在Windows 8.1上使用JDK 1.8.0_45。 我发现了这个错误https://bugs.openjdk.java.net/browse/JDK-8080153但我不明白如何解决它。

鼓励JVM加入GC而不是增加堆?

(注意,当我说“JVM”时,我的意思是“Hotspot”,我正在运行最新的Java 1.6更新。) 示例情况: 我的JVM在-Xmx设置为1gb的情况下运行。 目前,堆已经分配了500mb,其中使用了450mb。 该程序需要在堆上加载另外200 MB。 目前,堆中有300mb的“可收集”垃圾(我们假设它们都是最老的一代)。 在正常操作下,JVM会将堆增长到700 MB左右,并在它到达时进行垃圾收集。 在这种情况下我想要的是JVM首先gc,然后分配新的东西,这样我们最终得到的堆大小保持在500mb,而使用的堆在350mb。 是否有JVM参数组合可以做到这一点?

作为服务运行时,将JVM参数传递给Tomcat?

我需要将一些JVM参数传递给运行Tomcat的JVM,以便我的应用程序可以接收它们。 我想按照本文中概述的过程来获取环境变量。 我该怎么做呢? 更新抱歉这是在Windows下运行的(客户端服务器上我的Dev machine 2003上的7)

JVM HotSpot上的Java Exceptions计数器

我想知道是否可以在不更改应用程序代码的情况下记录JVM级别发生的每个exception? 每个例外,我的意思是捕获和未捕获的exception…我想稍后分析这些日志并按exception类型(类)对它们进行分组,并简单地按类型计算exception。 我正在使用HotSpot;) 也许更聪明的为什么这样做? 例如,任何免费的探查器(YourKit有它,但它不是免费的)? 我认为JRockit在管理控制台中有exception计数器,但是没有看到类似的HotSpot。