标签: openjdk

Java虚拟机(JVM)及其性能比较

我想知道是否有人知道是否有一些基准比较以下的jvms.

sun jvm vs. openjdk jvm vs. rockit jvm vs. j9 jvm vs. apache harmony.

哪一个有最好的表现?

java oracle openjdk jvm sun

10
推荐指数
2
解决办法
4849
查看次数

bezier路径扩大

我有一个带有点S,C1,C2,E的贝塞尔曲线B和一个表示宽度的正数w.有没有办法快速计算两个贝塞尔曲线B1,B2的控制点,使得B1和B2之间的东西是由B表示的加宽路径?

更正式地:计算好的Bezier近似值的控制点为B1,B2,其中B1 = {(x,y)+ N(x,y)(w/2)| (x,y)in C}
B2 = {(x,y) - N(x,y)
(w/2)| (x,y)在C}中,
其中N(x,y)是(x,y)处的C的法线.

我说好近似值因为B1,B2可能不是多项式曲线(我不确定它们是否是).

graphics openjdk bezier rendering

10
推荐指数
1
解决办法
3635
查看次数

Java:如何动态覆盖类的方法(类最终不在类路径中)?

如何动态+有条件地调用类的方法?
(类最终不在类路径中)

让我们说,我需要这个类NimbusLookAndFeel,但在某些系统上它是不可用的(即OpenJDK-6).

所以我必须能够:

  • 了解该类是否可用(在运行时),
  • 如果不是这样,请跳过整个事情.
  • 如何设法覆盖动态加载类的方法
    (从而创建它的匿名内部子类)?

代码示例

public static void setNimbusUI(final IMethod<UIDefaults> method)
    throws UnsupportedLookAndFeelException {

  // NimbusLookAndFeel may be now available
  UIManager.setLookAndFeel(new NimbusLookAndFeel() {

    @Override
    public UIDefaults getDefaults() {
      UIDefaults ret = super.getDefaults();
      method.perform(ret);
      return ret;
    }

  });
}
Run Code Online (Sandbox Code Playgroud)

编辑:
现在我按照建议编辑了我的代码,NoClassDefFoundError使用try-catch 拦截.它失败.我不知道,如果是OpenJDK的错.我得到了InvocationTargetException,造成的NoClassDefFoundError.有趣,我无法抓住InvocationTargetException:无论如何它都被扔了.

EDIT2: :
原因发现:我包裹SwingUtilities.invokeAndWait(...)周围的测试方法,那很invokeAndWait调用抛出NoClassDefFoundError时加载雨云失败.

EDIT3: :
任何人都可以请澄清其中 …

java reflection openjdk classpath nimbus

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

Ubuntu上的OpenJDK中Java SSL是否已损坏?

刚刚安装了OpenJDK,我刚刚安装了Ubuntu:

OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) on Ubuntu 64 bit 10.10
Run Code Online (Sandbox Code Playgroud)

不确定这是否相关,但我是在VMWare Fusion中运行它.

以下行:

javax.net.SSLContext.getDefault(); // same as getInstance("Default")

throws the following exception:

java.net.SocketException: java.security.NoSuchAlgorithmException: Default SSLContext not available
Run Code Online (Sandbox Code Playgroud)

我和我的同事已经在几台机器上尝试了这一点,所有新安装的Ubuntu,并继续得到这个.我被建议尝试getInstance("TLSv1"),但这引发了同样的错误.似乎是一些非常重要的工作,所以我认为我们必须做错事.

java ubuntu ssl openjdk

10
推荐指数
1
解决办法
4805
查看次数

无法以网络用户身份运行oowriter

我的笔记本电脑上安装了一个Web服务器.我正在构建一个我通过本地网络访问的Web应用程序.我有一个php文件,其中包含以下行:

$command = "/usr/bin/oowriter --invisible --convert-to pdf /var/www/hackathon/document/gaurav.doc -outdir /var/www/hackathon/pdf/"
exec($command, $output, $return_var);
print_r($output);
Run Code Online (Sandbox Code Playgroud)

所以,问题是当我在终端上运行上面的代码时,php运行完美.但是当通过Web浏览器访问时,输出只是空的,并且没有按预期进行转换.

Apache错误日志显示以下行:

[Java framework]函数createSettingsDocument(elements.cxx)中的错误.
javaldx失败了!
警告:无法从javaldx读取路径

我尝试过https://wiki.archlinux.org/index.php/Libreoffice#Fixing_Java_Framework_Error的解决方案.但它没有用.

我正在使用OpenJDK 7.

有没有人知道如何使这项工作?

ubuntu openjdk webusercontrol libreoffice

10
推荐指数
3
解决办法
4423
查看次数

OpenJDK开发JavaEE?

我正在开发一个JavaEE应用程序并在Glassfish 3中部署它.我正在使用Ubuntu 12.04,Eclipse用于EE开发人员,以及OpenJDK 6 JDK(包openjdk-6-jdk).到目前为止没问题.

问题是,无论我在哪里查找有关使用OpenJDK进行Java EE开发的信息,我都发现OpenJDK只是Java SE,例如这里或者这里.然而,在我的应用程序中,我使用javax.*了很多,并且正在工作.

我已经下载了OpenJDK 6的源代码,我找到/jdk/src/share/classes/javax/了包含很多类的文件夹,但是有些重要内容缺失了javax.servlet,javax.ejb或者javax.faces.

同样,除了OpenJDK,我没有任何其他JDK,也没有GCJ或Oracle.

我的问题是:这怎么可能?OpenJDK是否支持JavaEE API?可以用它,还是我需要下载并安装Oracle JDK?我不明白这里的意思吗?

请注意,除了SDK for EE之外,Oracle列表SDK for SE,所以我认为它们不同,对吧?

亲切的问候

java openjdk java-ee

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

如何更新OpenJDK的时区信息?

如何更新OpenJDK的时区信息?Oracle推出了tzupdater,但这受到了许可证的约束,因此我不想使用它.我正在寻找一个开源替代方案,这将允许我只更新时区信息而不是整个JRE.

java timezone openjdk

10
推荐指数
1
解决办法
3888
查看次数

Android Studio可以使用OpenJDK还是需要Linux上的Oracle JDK?

Android Studio可以使用OpenJDK 1.8,还是需要Linux上的Oracle JDK?使用OpenJDK会更容易,因为它安装在Fedora上.

我在Intel Haswell i7芯片上使用Android Studio 1.5.1.build AI-141.2456560运行64位Fedora-23 linux.

$ java -version
openjdk version "1.8.0_72"
OpenJDK Runtime Environment (build 1.8.0_72-b15)
OpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode)

$ ./java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

$ uname -a
Linux localhost.localdomain 4.3.5-300.fc23.x86_64 #1 SMP Mon Feb 1 03:18:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ more build.txt 
AI-141.2456560
Run Code Online (Sandbox Code Playgroud)

linux oracle openjdk android android-studio

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

为什么用1 << 4而不是16?

OpenJDK代码java.util.HashMap包括以下行:

static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
Run Code Online (Sandbox Code Playgroud)

为什么1 << 4在这里使用,而不是16?我很好奇.

java openjdk

10
推荐指数
2
解决办法
921
查看次数

将RHEL从7.3升级到7.4:sun.font.CompositeStrike.getStrikeForSlot中的ArrayIndexOutOfBoundsException

我们刚刚将服务器升级RHEL v7.3v7.4.

这个简单的程序适用于RHEL v7.3,在v7.4中失败

public class TestJava {
  public static void main(String[] args) {
    Font font = new Font("SansSerif", Font.PLAIN, 12);
    FontRenderContext frc = new FontRenderContext(null, false, false);
    TextLayout layout = new TextLayout("\ude00", font, frc);
    layout.getCaretShapes(0);
    System.out.println(layout);
  }
}
Run Code Online (Sandbox Code Playgroud)

RHEL 7.4中的例外情况是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:75)
    at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
    at sun.font.Font2D.getFontMetrics(Font2D.java:415)
    at java.awt.Font.defaultLineMetrics(Font.java:2176)
    at java.awt.Font.getLineMetrics(Font.java:2283)
    at java.awt.font.TextLayout.fastInit(TextLayout.java:598)
    at java.awt.font.TextLayout.<init>(TextLayout.java:393)
Run Code Online (Sandbox Code Playgroud)

RHEL v7.3的结果是:

sun.font.StandardTextSource@7ba4f24f[start:0, len:1, cstart:0, clen:1, chars:"de00", level:0, flags:0, font:java.awt.Font[family=SansSerif,name=SansSerif,style=plain,size=12], frc:java.awt.font.FontRenderContext@c14b833b, cm:sun.font.CoreMetrics@412ae196]
Run Code Online (Sandbox Code Playgroud)

的更新RHEL v7.4 …

java openjdk redhat awt ibm-jdk

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