草庐IT

JVM_AllocateNewObject

全部标签

java - 如何调试 JVM 资源加载?

要调试JVM中的类加载,我们可以使用参数-verbose:class,但是...有人知道如何调试资源加载(例如属性文件)吗? 最佳答案 我想你需要看看使用分析器。或者使用仪器界面的东西。不确定它有多稳定,但是有BTrace,这是一种Java版本的DTrace。BTraceisasafe,dynamictracingtoolfortheJavaplatform.BTracecanbeusedtodynamicallytracearunningJavaprogram.BTracedynamicallyinstrumentstheclas

java - 什么基于 JVM 的脚本语言支持@WebService 在运行时创建服务?

我现在需要能够在运行时创建和公开Web服务。(即没有“javac”编译步骤)。是否有一种基于JVM的脚本语言对JAX-WS有很好的支持,这样我就可以用Java编写一个中央引擎,然后让脚本语言创建包含Web服务方法的片段(使用@WebService或@WebMethod注释)然后可以传递给http://docs.oracle.com/javase/6/docs/api/javax/xml/ws/Endpoint.html#publish(java.lang.String,java.lang.Object)如果可能的话,请举例说明如何正确执行此操作。有什么建议吗?

JVM的垃圾收集算法

三种垃圾回收算法标记清除标记整理标记复制标记清除概念最早出现也是最基础的垃圾收集算法是“标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象。缺点①执行效率不稳定如果Java堆中包含大量对象,而且其中大部分是需要被回收的,这时必须进行大量标记和清除的动作,导致标记和清除两个过程的执行效率都随对象数量增长而降低②内存空间的碎片化问题标记、清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致当以后在程序运行过程中需要分配较大

java - 分析 Sun 热点的 GC 日志,JVM 6

我正在尝试分析我们应用程序的GC行为(在Tomcat中运行,在Sun'sHotspots、JVM1.6下)。到目前为止,我已经指示JVM使用...将GC日志发送到单独的文件-Xloggc:gc.log-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGC-XX:+PrintGCTimeStamps-XX:+PrintGCDetails...并使用jstat使用...输出日志jstat-gc-t290455s>jstat.gc我看到了有趣的信息,但还没有找到可以帮助我分析/可视

java - JVM 的隐式内存屏障在链接构造函数时如何表现?

引用我的earlierquestiononincompletelyconstructedobjects,我有第二个问题。正如JonSkeet指出的那样,在构造函数的末尾有一个隐式内存屏障,它确保final字段对所有线程都是可见的。但是,如果构造函数调用另一个构造函数怎么办?他们每个人的末尾都有这样的内存障碍,还是仅在首先被调用的那个的末尾有这样的内存障碍?也就是说,当“错误”的解决方案是:publicclassThisEscape{publicThisEscape(EventSourcesource){source.registerListener(newEventListener()

java - 没有任何构造函数的 JVM 字节码类是否有效?

据我所知,在Java中,隐式构造函数总是为没有构造函数的类生成[1],[2].但是在字节码中我找不到关于JVMS的限制。.所以:根据JVMS定义一个没有构造函数的类,仅使用其静态方法是否有效,如以下jasminhelloworld所示?除了无法创建它的实例之外,它还有其他后果吗?我将无法使用invokespecial来初始化实例,根据https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.10.2.4这使得new无用(不能使用未初始化的对象)。Jasmine代码:.classpublicMain.sup

java - 如何在 OSX 上配置 rJava 以选择正确的 JVM——.jinit() 失败

我通过调用install.packages("rJava")安装了rJava——没有发现任何问题但是当我打电话时:library(rJava).jinit()我得到:JavaVM:requestedJavaversion((null))notavailable.UsingJavaat""instead.JavaVM:FailedtoloadJVM:/bundle/Libraries/libserver.dylibJavaVMFATAL:Failedtoloadthejvmlibrary.Errorin.jinit():JNI_GetCreatedJavaVMsreturned-1我正在

java - windows下如何重启JVM

如何在具有JRE的WindowsServer中重新启动整个JVM,而不重新启动操作系统?是否有类似的东西:java-restart或者这是不可能的。这个想法是我在JRE的/lib/ext文件夹中添加了tool.jar并且我需要重新启动JVM。 最佳答案 Java进程在您想要运行时按需运行。它不是守护进程。如果Java进程没有正常结束,您需要手动停止它(杀死它)。 关于java-windows下如何重启JVM,我们在StackOverflow上找到一个类似的问题:

java - 有什么方法可以提高 JVM 启动速度?

据说Java在性能方面比python快10倍。这也是我从基准测试中看到的。但真正让Java崩溃的是JVM启动时间。这是我做的测试:$timexlsx2csv.pyTypes\of\ESI\v2.doc-emb-Package-9...real0m0.085suser0m0.072ssys0m0.013s$timejava-jar-client/usr/local/bin/tika-app-0.7.jar-mTypes\of\ESI\v2.doc-emb-Package-9real0m2.055suser0m2.433ssys0m0.078s相同的文件,Docx和Python中的12KB

为 JVM 指定 Java.Security 文件的 Java 参数

我正在寻找一个java参数(或者可能是一些不同的方法)来允许我指定一个JVM使用的文件作为java.security文件,而不是使用在JDK中找到的那个(在JRE库)。为了给您提供更多背景信息,我正在使用由其他人设置的WebLogic服务器,该服务器在同一个JDK上运行两个(或更多)不同的JVM。我们现在遇到了一个问题,我在一个JVM上所做的工作需要一个与另一个JVM当前正在使用的文件不同的java.security文件。我希望有一种方法可以让我将我的JVM指向一个新的java.security文件,而不必将它指向一个全新的JDK(由于空间限制,我们希望避免上传特定于每个JVM的JDK