我想知道是否有人知道是否有一些基准比较以下的jvms.
sun jvm vs. openjdk jvm vs. rockit jvm vs. j9 jvm vs. apache harmony.
哪一个有最好的表现?
我有一个带有点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可能不是多项式曲线(我不确定它们是否是).
如何动态+有条件地调用类的方法?
(类最终不在类路径中)
让我们说,我需要这个类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: :
任何人都可以请澄清其中 …
刚刚安装了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"),但这引发了同样的错误.似乎是一些非常重要的工作,所以我认为我们必须做错事.
我的笔记本电脑上安装了一个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.
有没有人知道如何使这项工作?
我正在开发一个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,所以我认为它们不同,对吧?
亲切的问候
如何更新OpenJDK的时区信息?Oracle推出了tzupdater,但这受到了许可证的约束,因此我不想使用它.我正在寻找一个开源替代方案,这将允许我只更新时区信息而不是整个JRE.
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) OpenJDK代码java.util.HashMap
包括以下行:
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
Run Code Online (Sandbox Code Playgroud)
为什么1 << 4
在这里使用,而不是16
?我很好奇.
我们刚刚将服务器升级RHEL v7.3
为v7.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 …