草庐IT

jvm-bytecode

全部标签

java - 避免 jvm 预热

如果我正在设计排序算法测试,我可以这样做以避免JVM预热吗?谢谢!doublecount=0;doublestart,end;for(intr=0;r 最佳答案 JVM预热通常是指JVM找到热点并对这部分代码进行JIT所花费的时间。如果您运行实际测试几百次(我相信实际上是几千次),您应该可以顺利进行。但是您应该知道,即使您这样做了,也没有任何保证。您必须对您的特定JVM进行试验,以确定在对重要部分进行JIT等操作之前您必须完成多少工作。在thislittlecasestudyJIT编译在1700次调用后启动。

java - 如何区分程序员异常和 JVM 异常

正如标题所暗示的,我如何区分JVM抛出的异常与以编程方式(这是否意味着,由程序员抛出或程序)抛出异常?JVM异常1)ArrayIndexOutOfBoundsException2)ClassCastException3)空指针异常以编程方式抛出1)数字格式异常2)断言错误非常感谢 最佳答案 HowtodifferentiatebetweenProgrammerandJVMExceptions你不能静态地这样做,因为不存在这样的区别。标准Java类库中定义的任何异常都可能由应用程序或第三方库代码抛出。这包括JVM本身通常抛出的异常(包

java - 如果 JVM 崩溃,Shutdownhook 是否保证执行

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:WhenShutdownHooksBreakBad想知道在JVM崩溃的场景下是否保证shutdownhook执行。

java - 现代 JVM 可以不同地优化同一类的不同实例吗?

假设我有同一个类的2个实例,但它们的行为不同(遵循不同的代码路径)基于构造时设置的最终boolean字段。所以像这样:publicclassFoo{privatefinalbooleanflag;publicFoo(booleanflagValue){this.flag=flagValue;}publicvoidf(){if(flag){doSomething();}else{doSomethingElse();}}}具有不同flag值的Foo的2个实例在理论上可以由2个不同的程序集支持,从而消除了if的成本(对于人为的例子,抱歉,这是我能想出的最简单的一个)。所以我的问题是-有任何J

java - 解释 Mac OSX Leopard 上的 JVM 目录布局

这是随Leopard安装的目录布局。什么是“A”目录,为什么除了“CurrentJDK”之外还有“Current”目录?看似可以通过移动CurrentJDK链接轻松切换当前JDK,但是Current和A下的内容会不同步。lrwxr-xr-x1rootwheel5Jun1415:491.3->1.3.1drwxr-xr-x3rootwheel102Jan1420081.3.1lrwxr-xr-x1rootwheel5Feb2120081.4->1.4.2lrwxr-xr-x1rootwheel3Jun1415:491.4.1->1.4drwxr-xr-x8rootwheel272Feb2

java - JVM内存不足如何通过JMX监控重启JVM?

我想为JVM创建一个nagios看门狗,当JVM内存不足并重新启动它时进行监视。目前我能够将JVM设置为允许JMX,但我不知道如何检测OutOfMemory情况并重新启动它。/check_jmx-Uservice:jmx:rmi:///jndi/rmi://127.0.0.1:1100/jmxrmi-O"java.lang:type=Memory"-A"HeapMemoryUsage"-Kused-IHeapMemoryUsage-Jused-vvvvJMXOKHeapMemoryUsage.used=957414288{committed=2415984640;init=214748

Java:如何指定 JVM 参数 -XX:ErrorFile 并在文件名中保留自动 PID

我正在使用JNI,当目标应用程序因错误而崩溃时,会生成一个hs_err_pid*.log文件。我想更改存储该文件的默认位置。现在,通过四处搜索,我了解到这可以使用JVM参数-XX:ErrorFile来实现。documentation表示此参数的默认值为./hs_err_pidpid>日志现在,当我覆盖默认值时,如何告诉JVM仍然在文件名中包含进程ID?我显然试图从字面上把targetDir/hs_err_pidpid>.log作为命令行参数,但这导致整个参数被忽略(并且文件被存储到默认位置,即工作目录)。如果我只说targetDir/hs_err_pid.log文件存储在我想要的位置,

java - 我将如何使用 Java 8 和 lambda 打印 JVM 的系统属性?

您可以使用System.getProperties()获取JVM属性的Properties实例;您将如何使用Java8代码将所有属性打印到控制台? 最佳答案 一个解决方案:publicfinalclassFoo{privatestaticvoidprintProperty(finalObjectkey,finalObjectvalue){System.out.println(key+":"+value);}publicstaticvoidmain(finalString...args){System.getProperties().

java - 如果我们在事务执行期间杀死 JVM 进程会发生什么?

我正在使用PostgreSQL9.4。当批处理中的某些查询已经执行时,如果有人在执行事务性批处理更新(批处理大小=50)期间终止JVM进程,会发生什么情况?数据库中会有什么? 最佳答案 预期的行为是未提交的事务在数据库端超时并回滚。已提交的事务是已提交的。整合各种评论的答案:Ifsomehaveactuallyexecutedbutnotothersthenit'snotabatch.Inatransactionalbatch,eitherallofthemareexecutedinreality,ornoneofthemare.–

java - 单个 JVM 中的多个 Spark 服务器

有没有办法在同一个JVM中运行多个Sparkjava服务器实例?我在“插件”软件中使用它,根据外部情况,我的插件的多个实例可能会启动,然后导致java.lang.IllegalStateException:Thismustbedonebeforeroutemappinghasbegunatspark.SparkBase.throwBeforeRouteMappingException(SparkBase.java:256)atspark.SparkBase.port(SparkBase.java:101)atcom.foo.bar.a(SourceFile:59)在我看来,通过查看代码