是否可以在cygwin上安装任何版本的Sun JDK或Open JDK.
我正在寻找这个选项的原因是:有很多工具(例如jStack,jMap)可以在JDK的unix版本中使用,但不能用于windows版本.如果可能的话,我需要在我的Windows机器上使用Cygwin.
我有这个代码:
package org.optimization.geneticAlgorithm;
import org.optimization.geneticAlgorithm.selection.Pair;
public abstract class Chromosome implements Comparable<Chromosome> {
public abstract double fitness();
public abstract Pair<Chromosome> crossover(Chromosome parent);
public abstract void mutation();
public int compareTo(Chromosome o) {
int rv = 0;
if (this.fitness() > o.fitness()) {
rv = -1;
} else if (this.fitness() < o.fitness()) {
rv = 1;
}
return rv;
}
}
Run Code Online (Sandbox Code Playgroud)
每次我运行此代码时,我都会收到此错误:
Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835)
at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453)
at java.util.ComparableTimSort.mergeCollapse(ComparableTimSort.java:376)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:182)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
at …Run Code Online (Sandbox Code Playgroud) 我在OpenJDK 1.7上运行我的播放应用程序.在我尝试部署到仅支持OpenJDK 1.6的heroku之前,一切都很顺利.我修复了在OpenJDK 1.6上运行的语法,但是当我去运行它时,我收到以下错误:
erin@bob:/src/playtest$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
erin@bob:/src/playtest$ play run
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.2.4, http://www.playframework.org
~
~ Ctrl+C to stop
~
Listening for transport dt_socket at address: 8000
22:13:21,806 INFO ~ Starting /src/playtest
22:13:21,811 …Run Code Online (Sandbox Code Playgroud) 由于这个错误,我一直在阅读和测试并在墙上撞了一天多一天.
我在类中有一些Java代码Listener,看起来像这样
ExecutorService executor = Executors.newFixedThreadPool(NTHREADS);
boolean listening = true;
int count = 0;
while (listening) {
Runnable worker;
try {
worker = new ServerThread(serverSocket.accept()); // this is line 254
executor.execute(worker);
count++;
logger.info("{} threads started", count);
} catch (Exception e1){
//...
}
}
Run Code Online (Sandbox Code Playgroud)
我一直在调整JVM设置-Xmx(从1到15G -Xss不等)和(从104k到512M).服务器有24 GB的RAM,但还必须运行支持该程序的数据库.
在创建了2-20个线程之后(程序中的其他地方也存在了几十个),我得到了错误
Exception in thread "Thread-0" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:657)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1325)
at xxx.Listener.run(Listener.java:254)
Run Code Online (Sandbox Code Playgroud)
$java -version 收益率:
java version "1.6.0_24" …Run Code Online (Sandbox Code Playgroud) 那么是否有可能在Windows 7机器上进行Java守护进程(Apache守护进程)的所有开发,然后在安装了OpenJDK的Ubuntu服务器上安装服务(仍然需要搜索如何操作)?
如果是,我如何在两个系统上识别兼容的Java版本?我的意思是如果我在Windows上使用Java 1.6,那么在Ubuntu服务器上应该具有的兼容性最差的OpenJDK版本是什么?
我hava安装了oracle-jdk,所以想要完全删除openjdk以确保每个基于java的应用程序都使用oracle jdk,但是当我尝试运行"sudo apt-get remove openjdk-6- "时,ubuntu会删除openjdk-6但是尝试自动同时安装openjdk-7-.那么,如何删除openjdk-6并停止ubuntu同时安装openjdk-7.
如何使用mercurial克隆OpenJDK存储库?
我想从那里克隆Java源代码,以了解他们在JDK8中开发的内容,并希望尽可能合作.
是什么区别openjdk-7-jre-headless和openjdk-7-jre。
当我java在 Ubuntu 中输入终端时,它建议openjdk-7-jre-headless不要openjdk-7-jre
多年来,我们一直使用Java来构建我们的企业软件(非嵌入式),并将JRE重新分配给我们的客户.最近,Oracle代表在提供服务的贸易展上与我们联系.在与我们的工程师打了几次电话之后,他们开始声称我们需要为Java支付费用,因为我们的软件不是"通用".
那么,有几个问题:
提前致谢,
标记
刚刚安装了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"),但这引发了同样的错误.似乎是一些非常重要的工作,所以我认为我们必须做错事.