标签: openjdk

Centos 64bit和openjdk 7上的堆转储错误

我正在尝试使用open-jdk7 java在运行glassfish 3.1.2的计算机上生成堆转储.

我正在使用以下命令:

jmap -dump:live,format=b,file=dump.t -F 24935
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误:

Attaching to process ID 24935, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 23.7-b01
Dumping heap to dump.t ...
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at sun.tools.jmap.JMap.runTool(JMap.java:197)
        at sun.tools.jmap.JMap.main(JMap.java:128)
Caused by: sun.jvm.hotspot.utilities.AssertionFailure: Expecting GenCollectedHeap, G1CollectedHeap, or ParallelScavengeHeap, but got sun.jvm.hotspot.gc_interface.CollectedHeap
        at sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
        at sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions(ObjectHeap.java:605)
        at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:244)
        at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write(AbstractHeapGraphWriter.java:51)
        at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:416)
        at sun.jvm.hotspot.tools.HeapDumper.run(HeapDumper.java:56)
        at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
        at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
        ... 6 more
Run Code Online (Sandbox Code Playgroud)

这是我的完整java版本: …

java openjdk heap-dump

16
推荐指数
2
解决办法
9626
查看次数

在ubuntu 15.10和openjdk-8-jdk中是否缺少cacerts文件?

我刚刚安装了Ubuntu 15.10和他们的openjdk-8-jdk(通过apt-get).

现在我错过了cacerts文件.

通常的位置有一个链接:

ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
lrwxrwxrwx 1 root root 27 Oct 22 01:47 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -> /etc/ssl/certs/java/cacerts
Run Code Online (Sandbox Code Playgroud)

但在/ etc/ssl/certs/java/cacerts中没有任何内容:

stat /etc/ssl/certs/java/cacerts
stat: cannot stat ‘/etc/ssl/certs/java/cacerts’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

ubuntu openjdk jsse java-8 ubuntu-15.10

16
推荐指数
1
解决办法
2万
查看次数

jps无法正常工作

我已经安装了java-1.6.0-openjdk-devel.

$java -version

java version "1.6.0_24"

OpenJDK Runtime Environment (IcedTea6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64)

OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
Run Code Online (Sandbox Code Playgroud)

在命令提示符下键入jps时

$jps

-bash: jps: command not found
Run Code Online (Sandbox Code Playgroud)

我不相信这是一个openjdk错误,因为我已经在同一系统上使用它大约6个月,它工作正常.此外,它在我的笔记本电脑上工作正常.

java linux openjdk redhat

15
推荐指数
4
解决办法
6万
查看次数

EC2 Linux机器上安装的OpenJDK 8不支持ECDHE密码套件

当开始jetty-distribution-9.3.0.v20150612openjdk 1.8.0_51一个亚马逊EC2 Linux机器上运行,是所有配置的ECDHE套房不支持打印.

2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 not supported
2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 not supported
2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 not supported
2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 not supported
2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 not supported
2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 not supported
2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 not supported
2015-08-12 16:51:20 main SslContextFactory [INFO] Cipher TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 not supported
2015-08-12 …
Run Code Online (Sandbox Code Playgroud)

openjdk jetty jce java-8 jetty-9

15
推荐指数
2
解决办法
1万
查看次数

OpenJDK与Java HotspotVM

OpenJDK VM和Oracle Hotspot VM还有两种不同的JVM吗?

我似乎无法找到任何有关OpenJDK VM的官方文档.即使在OpenJDK主页上也有一个开发HotSpot VM的HotSpot Group.

HotSpot组由参与HotSpot虚拟机的设计,实现和维护的开发人员组成

但是如果我在我的Windows机器上检查java -version它会打印出来

Java HotSpot(TM)64位服务器VM

但在我的Ubuntu VPS上

OpenJDK 64位服务器VM

如果这两个是不同的VM,它们之间的主要区别是什么?他们有不同的运行时标志集吗?

java openjdk jvm jvm-hotspot hotspot

15
推荐指数
2
解决办法
7054
查看次数

尝试使用Rhino,getEngineByName("JavaScript")在OpenJDK 7中返回null

当我运行以下代码时,engine变量设置为null我使用OpenJDK 7(java-7-openjdk-i386)时.

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class TestRhino {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ScriptEngineManager factory = new ScriptEngineManager();
        ScriptEngine engine = factory.getEngineByName("JavaScript");
        try {
            System.out.println(engine.eval("1+1"));
        } catch (ScriptException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

java-6-openjdk与Oracle的运行良好jre1.7.0.知道为什么吗?

我正在使用Ubuntu 11.10.所有JVM都安装在/usr/lib/jvm.

javascript java openjdk rhino javax.script

14
推荐指数
1
解决办法
7446
查看次数

Linux上的JavaFX

Linux上的JavaFX(x86和x64)有什么情况?

可以在Linux OS上执行JavaFX应用程序吗?

我发现2011年和2012年的一些问题,当应用程序不稳定时!

java linux openjdk javafx javafx-2

14
推荐指数
2
解决办法
5225
查看次数

如何在OutOfMemoryError _after_上进行堆转储时重新启动JVM?

我知道-XX:+HeapDumpOnOutOfMemoryErrorJVM参数.我也知道-XX:OnOutOfMemoryError="cmd args;cmd args"并且kill -3 <JVM_PID>会请求堆转储.

问题:如何确保在启动转储完成后OutOfMemoryError首先进行完全堆转储然后强制重启(或终止)?是我最好的选择-XX:OnOutOfMemoryError="kill -3 %p;sleep <time-it-takes-to-dump>;kill -9 %p"吗?

java openjdk jvm

14
推荐指数
2
解决办法
7801
查看次数

如何从redhat完全删除Openjdk

我正在使用Redhat 6,我正在使用,java 1.6因为我有一个要求合作java 1.6.我使用redhat更新 yum uppdateopenjdk 1.8自动安装.我试图删除openjdk使用

yum remove java*
Run Code Online (Sandbox Code Playgroud)

java 1.6 得到删除但不是openjdk.

然后我尝试了yum remove openjdk*这个dint工作.我试图从UI中删除但是从那里我能够列出openjdk 1.8但没有获得删除它的选项.
我该如何完全删除openjdk.

openjdk

14
推荐指数
2
解决办法
4万
查看次数

OpenJDK与OracleJDK的字体略宽

我注意到使用OpenJDK与OracleJDK相比,字体间距的差异.我把它缩小到了字体.它们由OpenJDK渲染得更宽......上面截图的仔细目视检查显示字符宽度相同,唯一的区别是间距.我还通过对所有字符A-Za-z0-9的字体度量的编程检查来确认这一点.

OpenJDK vs OracleJDK字体

例如,12pt的字符串"Dialog - plain"是

  • OpenJDK宽125px - 我的8u131-b11版本
  • OpenJDK宽125px - 来自redhat磁盘的存储RPM - 1.8u45-b13
  • OracleJDK中的120px宽度 - 来自Oracle网站的8u131-b11版本

我已经广泛地搜索信息就这个问题和发现的各种选项,包括-Dawt.useSystemAAFontSettings,-Dswing.useSystemFontSettings,-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeelJava_Runtime_Environment_fonts.我试过改变所有这些,但结果保持不变.

进一步的调查发现sun.font.FontScaler,这使用了不同的底层fontscaler.这看起来部分可配置,sun.font.FontUtilities其中检查系统属性-Dsun.java2d.font.scaler=t2k,但设置这没有区别.

我的问题:可以FreetypeFontScaler配置为以类似或更接近T2KFontScaler的方式运行吗?

if (FontUtilities.isOpenJDK) {
      scalerClass = Class.forName("sun.font.FreetypeFontScaler");
} else {
      scalerClass = Class.forName("sun.font.T2KFontScaler");
}
Run Code Online (Sandbox Code Playgroud)

这是我一直在使用的测试程序

public class FontTester {
    public static void main(String[] args) throws Exception {
        System.out.println(String.format("java.home=%s", System.getProperty("java.home")));

        String family = Font.DIALOG;
        int style = Font.PLAIN;
        describeFont(new Font(family, style, 12));

        JFrame frame = new JFrame();
        frame.setSize(800, …
Run Code Online (Sandbox Code Playgroud)

java openjdk

13
推荐指数
1
解决办法
1722
查看次数