问题标签 [openjdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
405 浏览

java - 我在哪里可以找到这些函数的本机实现?

我在打开的 JDK(System.c 文件)中找到了这些

但我无法找到这些函数 currentTimeMillis nanoTime arraycopy 的本地实现

表单在哪里可以获得这些功能的本机实现?这在开放的JDK中可用吗?

0 投票
2 回答
618 浏览

c++ - 任何人都可以将这个 C++ 代码(来自 OpenJDK6)解释成简单的英语吗?

这是OpenJDK6 的hotspot/src/share/vm/prims/unsafe.cpp代码片段(从第 1082 行开始):

还添加了关键方法oopDesc::atomic_compare_exchange_oop

这段代码在 JVM 上下文中的目的是什么?我在 C++ 方面没有经验。

Atomic::cmpxchg & Atomic::cmpxchg_ptr依赖于 OS & CPU & 32bit/64bit。所以 JVM 在这里被拆分。

编辑

正如 steve-O 所指出的,CAS 有其作为 ABA 问题的弱点,因此这里需要内存屏障以确保 CAS 在多线程环境中仍然正确。此外,由于 CAS 需要地址、旧值和新值三个参数,因此此过程需要现代 CPU。

编辑

有了新的C++0x 标准(现在还没有正式发布?),是不是意味着 JVM 就不需要拆分了?至少,在源代码级别。二进制文件仍然可以拆分,但将由 C++ 编译器处理。

0 投票
2 回答
7520 浏览

java - OpenJDK 在 processWorkerExit 上中断,没有断点

我在 OpenJDK 上运行 tomcat 7.0.21

通过 Eclipse 在调试模式下。

在处理任意数量的请求后,OpenJDK 会定期在以下位置开始中断:

中断 ThreadPoolExecutor

此时剩下的堆栈很少,通常:

堆栈位置

就可能导致问题的原因而言,几乎没有什么可继续的......

有人对可能发生的事情有任何见解吗?

0 投票
2 回答
867 浏览

java - 在哪里可以找到适用于 Windows 的 OpenJDK 7 的夜间版本?

我已经为每晚构建的 OpenJDK7 搜索了 CI 服务器或其他来源。我想要这样,以便我可以跟踪对热点进行的错误修复和性能改进,以获得调用动态支持。

我找到了构建自己的副本的说明,但它们适合胆小的人(我)。

指向最新版本的指针(以及随着天数和数周的进展提供更多资源)会很可爱。任何人?

0 投票
2 回答
534 浏览

clojure - 将 ClojureScript 与 OpenJDK 一起使用的解决方法?

我一直在使用 Clojure 和 Noir 开展一个项目,我正在享受 Heroku 的 cedar 堆栈上的免费托管。我最近在 ClojureScript 中添加了一些 UI 工作,发现它可以在本地工作,但由于使用 OpenJDK 而在 Heroku 上崩溃。OpenJDK 在不同的命名空间中有 Rhino JavaScript 引擎。

有没有人听说过解决这个问题的方法?可以将具有正确命名空间的 Rhino 版本安装为项目依赖项吗?或者是否有使用 Oracle JDK 的 Heroku 替代方案?

0 投票
2 回答
2756 浏览

java - 如何通过 maven 拉入 rt.jar?

我正在尝试使用 Java 6 构建 Java 5 系统。我已经配置了 1.5,但我还需要设置指向 Java 5 rt.jar 以确保没有像使用 Java 6 API 这样的错误链接。有没有人配置过 maven 以某种方式从存储库中提取 rt.jar 并以这种方式引用它?

0 投票
3 回答
1168 浏览

java - Java:奇怪的死锁

我的应用程序出现死锁,但堆栈跟踪中没有明显的锁定实例。这怎么可能?这是一个错误吗?

jstack -l输出

ConnectionManagerImplsynchronized (conManager) {...}是一个单例,通过手写代码保证没有显式同步。这是它的来源:

VPS 配置:CentOS 5 x64,OpenJDK 64-Bit 19.0-b09

运行的应用程序

  • -XX:HeapDumpPath=path_here
  • -XX:+HeapDumpOnOutOfMemoryError
  • -XX:-PrintClassHistogram
  • -XX:-UseCompressedOops
0 投票
1 回答
94 浏览

java - 为什么方法 main.replay() 没有在 Java 中执行?但是完全相同的代码在 Fedora 中运行,而不在 Archlinux 中运行

我有一个简单的播放器,我正在使用第三方库。完全相同的代码在我的 Fedora 桌面上运行。但是当我在其中使用完全相同的代码时,Archlinux它不起作用 main.replay();

是什么原因造成的?

0 投票
2 回答
2309 浏览

java - 如何在 Java Web 应用程序中嵌入字体?

这个问题是通用的,但也与 Amazon Web Services 有关。

我正在尝试将 Java 应用程序部署到 Amazon 云服务器,但该应用程序无法启动,因为它使用 AWT 字体(请参阅以下行):

我遇到的问题是亚马逊的虚拟服务器没有安装正确的字体,因此您无法在应用程序中执行与图像/图表相关的内容。有关更多信息,请参阅。他们的客户支持建议使用自定义 VM 映像(安装了字体或 Oracle JDK,因为 Oracle JDK 带有一组字体),这对我来说不是一个干净的解决方案。

我的问题是:我怎样才能重写我的代码,或者以不同的方式打包它,以便它在 Open JDK 的全新安装上运行,而不需要额外的字体(如果可能的话)。

顺便说一句,这是我得到的错误的一部分:

2011 年 10 月 9 日上午 11:05:18 org.apache.catalina.core.StandardWrapperValve 调用严重:servlet ZipGrocery 应用程序的 Servlet.service() 引发异常 java.lang.Error:可能的致命错误:未找到字体。在 sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1088) 在 sun.font.FontManager.initialiseDeferredFont(FontManager.java:967) 在 sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:254) 在 sun.font。 CompositeFont.getSlotFont(CompositeFont.java:334) 在 sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:77) 在 sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93) 在 sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics .java:358) 在 sun.font.FontDesignMetrics.(FontDesignMetrics.java:349) 在 sun.font.FontDesignMetrics。

谢谢

0 投票
1 回答
972 浏览

java - OpenJDK 的 rehash 机制

在搜索 HashMap 实现后,在http://www.docjar.com/html/api/java/util/HashMap.java.html上找到了此代码。

有人可以对此有所了解吗?评论告诉我们为什么这段代码在这里,但我想了解这如何改善不良哈希值以及它如何保证位置具有有限数量的冲突。这些神奇的数字是什么意思?