
本地JVM之间的通信
在本地运行的两个或多个JVM实例之间进行通信应该/应该采用哪种方法?我正在为一个项目开发系统,该项目需要单独的JVM实例以完全将某些任务彼此隔离。在运行时,“父” JVM将创建期望执行的“子” JVM,然后将结果返回给它(以相对简单的POJO类或结构化XML数据的格式)。这些结果不应使用SysErr/...
2024-01-10
在运行时设置JVM参数
在已经加载(运行)JVM之后,是否可以更改/修改/添加VM参数?如果是这样,我该怎么办?回答:对于通过-D命令行上的标志设置的属性,您需要System.setProperty。例如:System.setProperty("propname", "hello world");// ... later ...String value = System.getProperty("propname");您无法动态启用调试,但是可以在启动时启用调...
2024-01-10
JVM为什么需要预热?
我知道在Java虚拟机(JVM)中,由于Java使用惰性加载过程加载类,因此可能需要进行预热,因此您要确保在启动主事务之前初始化对象。我是C++开发人员,不必处理类似的要求。但是,我无法理解的部分如下:您应该预热代码的哪一部分? 即使我对代码的某些部分进行了预热,它也会保持多长时间...
2024-01-10
JVM中的最大线程数?
Java虚拟机可以维护的最大线程数是多少?我没有在最初的问题中对此进行解释,但是我正在尝试对JVM进行基准测试,并希望尝试查看它可以同时维护多少个线程。在循环中创建线程直到引发异常是一种选择,但是,我想知道是否有更好的方法来执行此操作。回答:编写循环以创建新线程直到被炸毁...
2024-01-10
JVM是编译器还是解释器?
我对JVM有一个非常基本的问题:它是编译器还是解释器?如果它是解释器,那么JVM内部存在的JIT编译器怎么办?如果两者都不是,那么JVM到底是什么?(我不希望将字节码转换为机器特定的代码等jVM的基本定义。)回答:首先,让我们对以下术语有一个清晰的认识Javac是Java编译器-将Java代码编译为 J...
2024-01-10
如何调查JVM崩溃的原因?
一天前,经过几个月的正常工作,我们的Java应用偶尔会因以下错误而崩溃:## A fatal error has been detected by the Java Runtime Environment:## Internal Error (safepoint.cpp:247), pid=2075, tid=140042095163136# guarantee(PageArmed == 0) failed: invariant## JRE version: 6.0_23-b05# Java VM: J...
2024-01-10
JVM GC的大对象是什么
查理·亨特(Charlie Hunt)在他的演讲中说,大型对象对JVM GC不利。因为:大对象的分配和初始化非常昂贵。不同大小的大对象可能会导致Java堆碎片化。如何定义大对象?我怎么知道物体是否是大物体?谢谢回答:该定义取决于平台,JVM和JVM配置。例如,以下摘自Michael Kopp的三篇大型JVM 博客文章...
2024-01-10
执行jmap时JVM是否停止了?
jmap进行内存转储时,我的Java应用程序是否继续运行?回答:您的应用程序已停止。获得准确的堆转储的唯一实用方法是在创建转储时停止所有应用程序活动。这是“简短”暂停还是“长时间”暂停取决于要转储多少。如果使用“ -dump”,则将转储整个堆,包括不可达的对象。如果使用“-dump:live”...
2024-01-10
如何在两个JVM实例之间共享内存?
我在JVM(Scala)中构建了一个庞大的图形,我想反复使用它来调整算法。我不想每次都从磁盘重新加载它。有没有办法让它坐在一个JVM中,而又与另一个正在开发算法的JVM连接呢?回答:将图形保存到磁盘,然后使用MappedByteBuffer将其映射到内存。两个进程应使用相同的内存,该内存将与页面缓存共享...
2024-01-10
我可以在一台PC上运行多个JVM吗?
我可以运行多个JVM吗?如果是,那么我如何找到在哪个JVM上加载了特定的类?回答:您的意思尚不完全清楚,但是:您可以在同一台计算机上安装多个VM(版本/品牌等)您可以运行多个java进程,无论是相同的JVM版本还是不同的JVM版本除非您正在运行调试代理或类似的代理,否则我不知道有什么方...
2024-01-10
2133mhz内存是几代
品牌型号:华为MateBook D15系统:Windows 112133mhz内存是第3代内存,是一种电脑存储器规格,提供相较于DDR2更高的运行性能与更低的电压。内存(Memory)是计算机的重要部件,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整...
2024-03-03
如何为jar文件设置最大jvm内存(XMX)
如何在不向程序中添加额外的批处理脚本的情况下设置最大的jvm内存。下面提供了答案。回答:这是一个很好的问题,但是您的渗透力有很多假设。我假设您必须记录jar的名称,以便用户调用“ java -jarxyz.jar”,这样您是否还可以在文档中包括“ -Xmx256M”的要求?您可能需要使用Java启动,更多的运气...
2024-01-10
