jvm相关内容

JVM 什么时候决定重用旧的 lambda?

考虑以下代码片段: public static Object o = new Object();公共静态可调用 x1() {对象 x = o;返回()->X;}公共静态可调用 x2() {返回()->○;} 方法 x2() 将始终返回相同的 Lamba 对象,而 x1() 将始终创建新对象: System.out.println(x1());System.out.println(x1()) ..
发布时间:2022-01-16 12:23:12 Java开发

如何转储 Permgen?

我想获取应用服务器 Permgen 的转储. 我不想使用 -XX:+TraceClassLoading -XX:+TraceClassUnloading 因为我不想重新启动服务器,也不想使用 jconsole. 我有任何工具,如 jmap(用于堆转储没有找到 permgen 的任何选项)来获取 permgen,因此我只能提供 pid. 解决方案 jmap -permstat ..
发布时间:2022-01-16 12:23:04 其他开发

JavaFX 停止在 WebView 中打开 URL - 改为在浏览器中打开

我使用的嵌入式 WebView 浏览器需要对特定 URL 进行特殊处理,以便在本机默认浏览器而不是 WebView 中打开它们.实际的浏览部分工作正常,但我还需要阻止 WebView 显示该页面.我可以想到几种方法来做到这一点,但它们都不起作用.这是我的代码: this.wv.getEngine().locationProperty().addListener(new ChangeListene ..
发布时间:2022-01-16 12:22:48 Java开发

是否可以获得用于在 java 中启动 jvm 的命令?

我想知道是否可以从代码中获取用于启动 java 程序的命令. 例如如果我启动一个 java 程序: java -cp lib1:lib2:... -jar mylib.jar com.foo.Bar 我想得到确切的字符串(包括 jvm 参数). 有可能吗? 评论赏金和问题 感谢大家的回复.不幸的是,我没有得到我最初想要的答案.我希望有一些可移植的解决方案可以从程序本身 ..
发布时间:2022-01-16 12:22:36 Java开发

java.exe、javaw.exe和jvm.dll的区别

使用 java.exe、javaw.exe 和 jvm.dll 运行应用程序(例如 Eclipse)有什么区别?另外,它在性能方面有什么不同吗? 解决方案 jvm.dll 是 JVM 的实际 Windows 实现(或者更好的是,主入口点).C 或 C++ 应用程序可以使用此 DLL 来运行嵌入式 Java 运行时,这将允许应用程序直接与 JVM 交互,例如如果他们想使用 Java 作为 ..
发布时间:2022-01-16 12:22:27 Java开发

启动 STS 应用程序时缺少 tools.jar

我有最新的 STS4.我使用已安装的 java-1.8 JDK not 作为执行环境嵌入.我的项目运行良好,没有任何问题. 但是,当我启动 STS 应用程序本身时,我会弹出一个提示“缺少 tools.jar" 我已经试过了: 将 JAVA_HOME 指向不同的 JDK 在 .ini 文件中添加了 -vm 参数. 但我无法摆脱这个弹出窗口. 解决方案 修复在 -vm ..
发布时间:2022-01-16 12:22:18 其他开发

默认线程,如 DestroyJavaVM、Reference Handler、Signal Dispatcher

在我自己的分析器上工作,我想解释一下我所看到的.即使在最简单的程序中,也会始终出现一些默认线程: 销毁JavaVM 信号调度器 终结器 引用处理程序 虽然他们的名字很自证,但我想了解更多信息.这些线程似乎没有记录,是否有人知道挖掘这些信息的来源,甚至确切地知道这些线程的作用? 解决方案 DestroyJavaVM 是在程序中卸载 Java VM 的线程出口.大多数情况下, ..
发布时间:2022-01-16 12:22:05 Java开发

scala如何生成字节码?使用ASM之类的库,还是直接写二进制?

我想知道 scala 是如何生成字节码的,它是否使用了像 ASM 这样的库?或者只是将二进制文件写入 .class 文件以提高性能? 解决方案 Scala 编译器从 2.10 开始使用 ASM 4 发出字节码,支持 -target:jvm-1.5 、 -target:jvm-1.6 和 -target:jvm-1.7 后端的实现方面描述如下: 通过 ASM 发出 Scala 类 ..
发布时间:2022-01-16 12:21:57 其他开发

JVM 什么时候加载类?

假设我有以下课程: 类调用者{公共无效createSomething(){新的东西();}} 将执行此行: static void main() {类clazz = Caller.class;} 导致 JVM 加载类 Something 还是类加载延迟到方法 createSomething() 被调用? 解决方案 仅当您需要有关该类的信息时才加载该类. 公共类Somethi ..
发布时间:2022-01-16 12:21:48 Java开发

在运行时设置 JVM 参数

是否可以在 JVM 已经加载(运行)之后更改/修改/添加 VM 参数?如果是这样,我该怎么做? 解决方案 对于您通过命令行上的 -D 标志设置的属性,您需要 System.setProperty.例如: System.setProperty("propname", "hello world");//... 之后 ...字符串值 = System.getProperty("propname ..
发布时间:2022-01-16 12:21:28 Java开发

Java 无法为对象堆错误保留足够的空间

我在 32 位 Windows 和 4 GB RAM 上运行 Java7,但是: java -Xmx4G -Xms4G -jar Minecraft.jarjava -Xmx3G -Xms3G -jar Minecraft.jarjava -Xmx2G -Xms2G -jar Minecraft.jar ...还是不行.错误: 虚拟机初始化过程中发生错误 无法为对象堆保留足够的空间 ..
发布时间:2022-01-16 12:21:19 Java开发

通过将自己的应用程序类添加到 classes.jsa 来加速应用程序启动

为了加快 JVM 的启动时间,Sun 开发人员认为最好在安装 JVM 期间为平台预编译标准运行时类.可以找到这些预编译的类,例如在: $JAVA_HOME\jre\bin\client\classes.jsa 我的公司目前正在开发一个带有自己的 JRE 的 Java 独立应用程序,因此通过将我们自己的应用程序类也添加到此 jsa 文件中来加快我们的应用程序启动时间将是一个绝佳的选择. ..
发布时间:2022-01-16 12:21:13 Java开发

JRockit JVM 与 HotSpot JVM

如果任何人都可以简要介绍这两个 JVM 的优缺点,因为它们都依赖于标准 JVM 规范. 解决方案 JRockit 最初由 Appeal 和 BEA Systems 开发,后来被 Oracle 收购,用于运行服务器软件.1 本来是为了优化对于需要长时间运行的任务、大量内存和可扩展环境的大型应用程序,对这些场景的优化比 服务器模式(另见:“java -server"和“java -client ..
发布时间:2022-01-16 12:21:05 Java开发

OpenJDK 与 Java HotspotVM

OpenJDK VM 和 Oracle Hotspot VM 仍然是两个不同的 JVM 吗? 我似乎找不到任何关于 OpenJDK VM 的官方文档.甚至在 OpenJDK 主页上也有一个开发 HotSpot VM 的 HotSpot Group. HotSpot 小组由参与 HotSpot 虚拟机的设计、实施和维护的开发人员组成 但是,如果我在我的 Windows 机器上检查 ..
发布时间:2022-01-16 12:20:47 Java开发

非服务器类机器上 Xmx、Xms、MaxPermSize 的默认值

非服务器类机器上的 Java 6 中以下选项的默认值是什么? -Xmx -XX:MaxPermSize Oracle 的 文档 指出: 在运行服务器 VM 的服务器级机器上,垃圾收集器 (GC) 已从以前的串行收集器 (-XX:+UseSerialGC) 更改为并行收集器 (-XX:+UseParallelGC). 和 在运行带有并行垃圾收集器 (-XX:+UseP ..
发布时间:2022-01-16 12:20:29 其他开发

Htop 显示具有不同 pid 的多个 java 进程

我的 linux 机器上的 Htop 在启动一个 java 程序/JVM 后显示了许多“进程".我确实了解 JVM 运行多个线程(用于实际程序、垃圾收集等). 但是为什么 htop 将它们列为具有不同 pid 的多个进程.这些过程究竟是什么? 解决方案 其实只是htop默认将每个线程显示为一个单独的进程.您可以将行 hide_userland_threads=1 添加到您的 ~/.c ..
发布时间:2022-01-16 12:19:57 Java开发

了解java的本机线程和jvm

我知道 jvm 本身就是一个将 java 可执行文件的字节码转换为本机机器码的应用程序,但是当使用本机线程时,我有一些我似乎无法回答的问题. 是否每个线程都创建自己的线程jvm 的实例来处理它们的具体执行? 如果不是,那么 jvm 是否必须有某种方法来安排它接下来将处理哪个线程,如果是这样,由于一次只能运行一个线程,这不会使 java 的多线程特性变得无用吗? 解决方案 是否每 ..
发布时间:2022-01-16 12:19:49 Java开发