草庐IT

vm_flags

全部标签

java - -XstartOnFirstThread VM 参数的作用/含义是什么?

我找不到VM参数-XstartOnFirstThread的文档。我似乎有必要在我的Mac上通过LWJGL运行JOGL。这是什么意思?似乎是某个进程想要线程0。这是正确的吗?请注意:我的主类中有一个run()方法。它似乎没有覆盖任何东西,我也没有实现可运行。我在这里运行的示例源代码:http://www.lwjgl.org/guide 最佳答案 从Java1.7.0_u4开始,此选项记录在MacOSX平台上的java-X中。该选项导致JVM使用线程0启动应用程序。显然,这是让MacOSX正确运行SWT和GWT应用程序所必需的。根据Ec

Java:VM 如何在 32 位处理器上处理 64 位 `long`

JVM如何在32位处理器上处理原始的“long”,即64位?能否在多核32位机器上并行使用多核?32位机器上的64位操作要慢多少? 最佳答案 它可能使用多个核心来运行不同的线程,但它不会并行使用它们进行64位计算。64位长基本上存储为两个32位整数。为了添加它们,需要进行两次添加,以跟踪进位位。乘法有点像将两个两位数相乘,只是每个数字都以2^32为底,而不是以10为底。其他算术运算也是如此。关于速度的编辑:我只能猜测速度差异。加法需要两次加法而不是一次,乘法(我认为)需要四次乘法而不是一次。但是,我怀疑如果所有内容都可以保存在寄存器

java - 启动时出现速度错误 "VM_global_library.vm"

我正在将Velocity与Spring结合使用。但是在Eclipse控制台中我得到了这个错误。我的代码工作正常,但我想知道如何修复它。ResourceManager:无法在任何资源加载器中找到资源“VM_global_library.vm”。 最佳答案 看起来这是一条无害的消息。来自VelocityDocumentation,如果此文件存在,Velocity将其加载为全局宏的位置。我相信您可以通过重置或覆盖以下属性的值来覆盖行为。velocimacro.library= 关于java-启

java - Eclipse 在 Debug模式下启动时显示无法连接到 VM 错误

当我在Debug模式下打开任何程序时,Eclipse显示无法连接到VM错误。这是异常堆栈java.net.SocketException:socketclosedatjava.net.PlainSocketImpl.socketAccept(NativeMethod)//IdontknowwhichsocketisclosedinmyPCatjava.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)atjava.net.ServerSocket.implAccept(ServerSocket.java:453)atjava.net

java - 拥有 fork 的 Java VM 意味着什么?

我有时会在运行JUnit测试时遇到此错误。我并不是在问错误是什么。我只想知道JavaVMfork时的含义? 最佳答案 “forkVM”不是错误(尽管您遇到的错误可能与其相关)。一些涉及编译和测试各个方面的工具(例如Maven)是用Java编写的,并使用JVM自行运行。如果您在不forkVM的情况下为您的应用程序运行单元测试,Maven将在与Maven运行相同的VM中运行这些测试。因此,它可能会受到某些VM范围设置(例如某些系统属性)的影响。为了避免Maven带来的副作用,可以在fork的VM中运行测试,也就是说,在作为操作系统中不同

java - Java VM 何时尝试加载类依赖项?

我遇到了一个我不明白的类加载器问题。我在使用Java1.6.0的OSX和WindowsXP上看到了相同的行为。当我使用不在类路径中的MyListener和MyObject运行以下代码时,我得到一个NoClassDefFoundError。但是,如果我删除MyObject.add(my)行或将其替换为MyObject.add(null),则代码运行正常。请注意,具有无法解析的依赖项的方法从未实际使用过。我不明白为什么MyObject.add(my)会导致VM尝试加载MyListener但MyListenermy=newMyListener(){};没有。publicclassMain{p

java - 我可以设置 Java VM 可用的线程/CPU 数量吗?

我想限制JavaVM可用的线程/进程数,类似于您设置可用内存的方式。我希望能够将其指定为仅使用1个线程或任意数量。注意:我无法在代码中设置它,因为我想限制的代码是一个我无法修改源代码的库。所以这肯定是对虚拟机的级别强加的硬上限。(或者,如果您可以对可以覆盖库的应用程序本身施加线程限制?)注意2:此目的是性能测试,以限制我要测试的库,以查看当它访问不同数量的CPU/线程时它的性能如何。谢谢! 最佳答案 JVM中的CPU限制问题在Java10中得到解决,并从build8u191向后移植到Java8:-XX:ActiveProcessor

java - "VM Periodic Task Thread"是什么?

我可以在我的线程转储中看到这个线程:"VMPeriodicTaskThread"prio=10tid=0x00007fc23000e800nid=0x49e6waitingoncondition这是什么? 最佳答案 查看最新的OpenJDK源代码,这是C++级别的线程,它在没有native定时器中断的系统上执行许多任务。它似乎主要用于采样/分析JVM正在做什么。 关于java-"VMPeriodicTaskThread"是什么?,我们在StackOverflow上找到一个类似的问题:

java - java.exe 程序是实际的 VM 吗?

这个问题在这里已经有了答案:TotallyConfusedwithjava.exe(3个答案)关闭8年前。JDK自带java.exe(forwindows)程序。您可以使用它从命令行启动程序。维基百科说它是“类加载器”和“类文件的解释器”。这是真正成熟的JVM吗?它是“更小、更轻量级”的JVM吗?还是别的?

Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated....

前言最近学习Springboot,当编译一个练习项目的时候,出现了JavaHotSpot(TM)64-BitServerVMwarning:Options-Xverify:noneand-noverifyweredeprecatedinJDK13andwilllikelyberemovedinafuturerelease.这条警告 本来对项目运行没什么影响,但是无奈强迫症又犯了,于是折腾了一上午,终于解决了这条警告,简单记录一下过程。首先我们应该明白的是:-Xverify:no或者-noverify这两个都是JVM参数,可以禁止字节码校验,提高编译速度,但是就如同警告所说,这两个参数已经过时了