0
A
回答
0
您可以使用JMX:
final JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(connectorAddress));
final MBeanServerConnection mBeanServerConnection = connector.getMBeanServerConnection();
final ObjectName commandLine = new ObjectName("java.lang:type=Runtime");
final List<Attribute> arguments = mBeanServerConnection.getAttributes(commandLine, new String[] {"InputArguments"}).asList();
String[] inputArguments = (String[]) arguments.get(0).getValue();
System.out.println(Arrays.asList(inputArguments));
connector.close();
要获取JMX连接时,你可能会发现我的回答 “JMX client accessible locally only” 很有帮助。
1
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n", envName, env.get(envName));
}
+0
感谢您的答案,但我想知道它是否可能从应用程序之外。 –
-1
我相信Java不支持方法参数的“INTERCEPTING”,方法参数不会在JVM中被记录或拦截。
但是,您可以在此线程的其他答案中使用System.env示例轻松打印发送到正在运行的类的参数。
但是,如果你控制了实际应用的源代码,你可以在这里遵循的方向:How do I intercept a method invocation with standard java features (no AspectJ etc)?
这将允许您登录并拦截ARGS被发送到的主要方法。
+0
这不是问题所在,海报需要JVM参数,而不是任何特定方法的参数。 – jli
0
使用JMX。它允许从应用程序的内部以及外部获取选项,属性等。
相关问题
- 1. java应用程序共享选项
- 2. 用于web应用程序的JPF(Java路径查找程序)
- 3. 使用Java查找应用程序的安装目录?
- 4. 在Java Web应用程序中查找未使用的代码
- 5. 找不到Java桌面应用程序选项
- 6. 使用Java应用程序打开浏览器选项卡
- 7. 使用Java应用程序
- 8. Java应用程序部署/安装程序选项?
- 9. 查找使用JAVA
- 10. 查找pallindrome的Java程序
- 11. Java EE应用程序中的用户首选项
- 12. Java应用程序
- 13. php/java通过java应用程序调用php应用程序
- 14. 寻找一个Java EE应用程序
- 15. 简单的Java应用程序......我应该使用Java EE
- 16. 使用Scrutmydocs的Java Web应用程序
- 17. 使用JAVA的MDI应用程序
- 18. 使用Java的cURL应用程序
- 19. 使用Java集合的应用程序
- 20. 使用Java EE应用程序的STS
- 21. Deploy - 使用appcfg.py的java应用程序
- 22. 使用Socket.io的Java应用程序
- 23. 使用Java的应用程序
- 24. 在eclipse中禁用运行java应用程序选项
- 25. 如何使用Java查找进程和相关dll的程序?
- 26. 如何查找使用Installshield安装应用程序时可用的选项
- 27. Java查找默认桌面应用程序的扩展
- 28. 查找java应用程序的运行时间和复杂度
- 29. 从Java应用程序中查找Windows服务的状态?
- 30. 查找Java/mySQL应用程序的瓶颈
是[这](http://stackoverflow.com/questions/1490869/how-to-get-vm-arguments-from-inside-of-java-application)你在找什么? – NullUserException