【Java中JVM、JRE和JDK三者有什么区别和联系?】教程文章相关的互联网学习教程文章

java – 通过SNMP监视JRockit JVM

我想通过SNMP协议监控我的Java应用程序(在JRockit中运行).我只需要一些基本的信息.是否有任何启动参数可以添加到我的应用程序以启用SNMP?解决方法:JRockit中的SNMP的工作方式与Sun的JVM中的相同.详情请见this webpage. 简而言之,您需要做的是: >以-Dcom.sun.management.snmp.port = portNum开头>将JRE_HOME / lib / management / snmp.acl.template中的ACL模板文件复制到JRE_HOME / lib / management / snmp.acl,并使其仅可由所有...

java – 从命令行使用JAR保持JVM运行【代码】

我正在使用手表在大豆文件上运行闭包模板编译器 – 它只是运行java -jar SoyToJsSrcCompiler.jar --outputPathFormat simple.js simple.soy每次文件更改. 问题是jar需要很长时间才能为每次运行加载每个jar.是否有一种简单的方法(easy =命令行工具)可以使JVM保持运行以使每次运行更快?解决方法:结帐Nailgunhttp://www.martiansoftware.com/nailgun/index.html

java – 远程JVM机器人调用

有没有人听说过从外部JVM中获取java.awt.Robot的能力?甚至如何服务一个? 我真的希望能够在已经运行的应用程序上运行一些自动GUI测试.我可以在应用程序上设置RMI网关并通过代理执行机器人命令/测试吗?或者已经有解决方案吗? 示例:应用程序A是一个单一的大型应用程序,具有许多maven依赖项.它在服务器上运行,专用. 我希望能够在应用程序A中放置一些代码,以便我可以在同一主机上执行测试应用程序B,而A仍在运行 – 使用从Applicati...

java – 操作系统时区更改后的jvm默认时区更新

我在Windows机器上运行了一个jvm.它使用TimeZone.getDefault()显示当前时间(包括时区信息).我将操作系统从东部时间(美国和加拿大)更改为中部时间(美国和加拿大),并且jvm显示的时区不会相应更改.当我重新启动jvm时,更新了jvm的时区.有没有办法从操作系统获取最新的时区信息而无需重新启动jvm? 谢谢.解决方法:正如您在测试中所强调的那样,JVM在运行时不会考虑系统时区更改. 这被引用为一个错误,它仍然是开放的. > OpenJDK link.> Or...

java – 令人惊讶地受jvm / jvm-options影响的代码示例【代码】

我正在寻找代码示例,其结果取决于以下内容: > Java版本> VM> Java选项/ JVM选项 例如,以下代码:Integer foo = 400; Integer bar = 400; System.out.println(foo == bar)看看那段代码,很多人会猜测,这是假的,但它取决于IntegerCache.high的值,可以用-Djava.lang.Integer.IntegerCache.high = 1000来改变它. 我想,有很多例子可以改变内存限制的行为,但还有更多意想不到的例子吗?解决方法:Java版影响力: 1)看看这样的读者:public...

Java虚拟机JVM之类加载机制与类加载器【图】

一、类的生命周期类的生命周期加载 --> 验证 --> 准备 --> 解析 --> 初始化 --> 使用 --> 卸载|<------- 连接 ------->| |<------------- 类加载 ---------------->|类的生命周期一共有 7 个阶段,其中前五个阶段较为重要,统称为类加载,第 2 ~ 4 阶段统称为连接,加载和连接中的三个过程开始的顺序是固定的,但是执行过程中是可以交叉执行的。 二、类加载的时机 JVM会在第一次主动引用类的时候,加载该类,被动引用时并不会引发类...

java – 如何在Cucumber JVM中捕获STDOUT,如Cucumber Ruby的put?【代码】

在vanilla Cucumber中,通过调用放入步骤定义输出的任何内容都将被捕获为“测试输出”并进行相应格式化,如下面的输出示例所示:Feature: A simple thingScenario: A simple scenario # features/simple.feature:3Given I do a step # features/steps/step.rb:1This text is output with puts如上所示,它有助于缩进“漂亮”的输出格式.在JSON格式中,它甚至以结构化方式捕获:"keyword": "Scenario","name": "A simple scenar...

如何转储Java对象来自JVM堆旧代?【代码】

是否有任何工具可以转储旧一代的JVM堆? 换句话说,我如何判断一个物体是来自年轻一代还是老一代?解决方法:如果运行Oracle JDK或OpenJDK,则可以使用HotSpot Serviceability Agent sa-jdi.jar执行此操作.它可以发现老一代的界限.这是一个在OldGen边界内的对象之间收集堆直方图的示例. 也可以在Java进程中找到旧代的地址,参见the related question.import sun.jvm.hotspot.gc_implementation.parallelScavenge.ParallelScavengeHeap;...

java – 如何从中加载值. Cucumber-jvm步骤类中的属性文件【代码】

我已经写了一个黄瓜集成测试,它运行正常. 然后我想从step.java中获取一些类变量,以从.properties值中获取它们的值public class cucumberStepClass { @Value("${value.from.propertiesfile}")private String variable //rest of integration test }有谁知道如何注入这些值,以便我的测试可以使用它们?解决方法:您是否启用了与弹簧依赖注入的集成?你需要添加黄瓜 – 春天依赖性.见https://docs.cucumber.io/cucumber/state/#spring

java – 有没有办法知道特定程序运行的最大到达JVM调用堆栈深度?【代码】

我今天编写了一个递归函数,递归深度取决于输入长度. 我从纯粹的兴趣观点来看,是否有某种方法可以监视,可能在某些JVM日志或其他地方,在特定程序执行期间最大调用堆栈深度是多少? 经过一番思考后,我可以想象一种分析方法来大致计算这个,但这将是非常耗时的,并且需要对JVM内部和字节码有很好的了解. JVM允许配置堆栈大小内存的限制,但我从来没有见过任何关于如何获得实际达到的限制而不是内存大小单位但是分配的堆栈帧数.解决方法:可...

java – Google App Engine – 如何改善冷启动JVM时间?

我不是一个改善冷启动时间的新手,我花了很多时间尝试不同的事情.我想尽可能准确地知道Google App Engine在冷启动时的作用. 我有一个日志声明,如http://code.google.com/intl/nl/appengine/kb/java.html#performance所述,以显示我的代码何时首先获得控制权. 我有两个应用程序,我一直在测试,一个很简单,我的代码在大约1秒后首先得到控制. 另一个有很多文件和东西,我的代码在大约2秒后首先得到控制.这个不使用任何库而不是另一个库,但...

java – 是否有一个旨在调试并发软件的JVM?

我使用了Concurrent Pascal,这是一个帮助调试并发算法的工具,因为当它运行你的代码时,它会随机化哪个线程在每个可能的步骤交换,尝试尽可能多的路径. 有没有JVM可以做到这一点?解决方法:看一下Java Pathfinder(来自NASA,但它是免费的).我认为它应该开箱即用,即尝试不同的交错(可能需要一些组装). 当然,您仍需要在数据上指定您感兴趣的验证属性,例如不变量.否则,默认情况下它可能只会告诉您是否存在死锁.请查看“探索执行替代方案”...

64位操作系统上的32位Java:JVM的数量是否有限制?

我有一个Solaris sparc(64位)服务器,它有16 GB的内存.有许多小型Java进程在其上运行,但是今天我在尝试启动一个新进程时遇到了“无法为对象堆保留足够的空间”错误.我很惊讶,因为服务器上还有超过4GB的空闲空间.一些其他流程关闭后,新流程能够成功启动;该系统肯定达到了某种程度的上限. 在网上搜索解释之后,我开始怀疑它是否与我使用32位JVM这一事实有关(此服务器上没有任何java进程需要非常多的内存). 我相信默认的最大内存池是64M...

java – 如果Jar在JVM仍在使用时更新会发生什么?

我知道,在典型条件下,一个类只加载一次.我也知道类是不可变的.因此,一旦加载了类,除非重新加载(通常不会发生),否则不能更改它. Jars也是如此吗?如果在JVM仍在运行时更新了Jar,而以前从Jar中加载了类,会发生什么?解决方法:没有,如果使用该jar中的类,相同的定义仍然存在,如果在更新的jar中加载了新类,则将采用它.

java – 如何包含jvmstat?

我正在编译一个JDK6项目,并且遇到无法找到sun.jvmstat.monitor.MonitoredHost(以及该包下的其他类)的构建错误.我的问题是我应该包含哪些库来满足此导入:import sun.jvmstat.monitor.*;?解决方法:根据jarfinder.com: > tools.jar.