Articles of Java的

如何创build一个Linux群集在Java中运行物理模拟?

我正在开发一个用于执行物理模拟的科学应用程序。 所使用的algorithm是O(n3),所以对于大量数据来说,处理需要很长时间。 应用程序在大约17分钟的时间内运行一个模拟,我必须运行大约25,000次模拟。 这大约是一年的处理时间。 好消息是模拟是完全独立的,所以我可以很容易地改变程序在多台计算机之间分配工作。 我可以看到有多种解决scheme来实现这一点: 获取多核心计算机并将其分配到所有内核中。 对于我需要做的事还不够 编写一个连接到多个“处理”服务器的应用程序,并分配负载。 获得一个廉价的linux电脑集群,并让程序把所有东西当作一个单一的实体。 选项2相对来说比较容易实现,所以我不太关心如何实现这个build议(可以通过编写一个程序来等待参数的给定端口,处理值并返回结果作为序列化文件)。 这将是一个很好的网格计算的例子。 但是,我想知道最后一个select的可能性,一个传统的集群。 在linux网格中运行Java程序有多困难? 将所有单独的计算机都视为具有多个内核的单个计算机,这样就很容易调整程序? 有什么好的资源指针可以让我开始? 或者我使这个过于复杂,我更好select2号? 编辑:作为额外的信息,我感兴趣的是如何实现像这篇文章中描述的从有线杂志: 科学取代超级计算机与PlayStation 3的Linux群集 。 确切地说,第二个听起来像是要走的路…但是酷的因素。 编辑2:计算是非常CPU的限制。 基本上在大matrix上有很多操作,比如反和乘。 我试图寻找更好的algorithm进行这些操作,但到目前为止,我发现我需要的操作是0(n3)(在通常可用的库中)。 数据集很大(对于这样的操作),但是它是基于input参数在客户端上创build的。 我现在看到,我对Linux下的计算机群如何工作有误解。 我假定它的工作原理似乎是所有计算机上的所有处理器都可用,就好像您拥有一个具有多个内核的计算机一样,但似乎并非如此。 似乎所有这些超级计算机的工作方式都是由执行由某个中央实体分配的任务的节点,并且有几个不同的库和软件包允许轻松地执行这种分配。 所以这个问题真的变成了,因为没有第3个这样的东西,那么创build一个集群的java应用程序的最好方法是什么?

用于Ubuntu 10.10的Eclipse 3.6 Helios

我有我的戴尔工作室笔记本电脑上安装的Ubuntu 10.10networking版本。 我下载helios的日食网站,但是当我无法运行它。 我已经从突触包pipe理器下载了eclipse 3.5,但是我无法将eclipse 3.5更新到eclipse 3.6。 是否有任何其他方式来更新eclipse? Eclipse 3.6支持HTML 5。 请让我知道,多谢提前

用Eclipse创build一个java可执行文件

这是一个完全新手的问题。 我在Ubuntu上运行Eclipse。 我创build了一个testing项目,我想编译成一个可执行文件(相当于Windows的.exe文件)。 这里是我的程序的内容: public class MyTest { public static void main(String[] args) { System.out.println("You passed in: " + args[0]); } } 我想知道如何编译它,然后如何从命令行执行它。 谢谢!

docker工人:合并多个图像

Docker是否可以将两个图像合并为一个? 像这样: genericA — \ —> specificAB / genericB — 例如,有一个Java图像和一个MySQL图像。 我想要有一个Java 和 MySQL的图像。

在Tomcat上部署war文件

有没有办法在Tomcat服务器上部署一个给定的战争文件? 我想这样做,而不使用Web界面。

永久设置CLASSPATH

为了设置我的类path环境variables,我正在运行以下命令: export CLASSPATH=/path/to/appropriate/dir 为了检查这个设置是否正确,我会input echo $CLASSPATH 并返回/path/到/适当/目录。 但是,当我在terminal打开一个新的标签或窗口 echo $CLASSPATH 什么也不返回 这里发生了什么?

Java – 设置首选项backingstore目录

我需要在我的Java应用程序中创build一个持久存储,以便所有用户都可以访问它。 所以我正在研究java.util.prefs.Preferences和使用systemRoot()在我的Windows上工作正常,保存在registry的数据。 但是我真的在Linux(Ubuntu)上面临一些问题。 我想使用其他应用程序已经使用的目录:/ usr / share /。 所以,我试图在运行时将systemRoot默认目录redirect到/ usr / share。 这是我的代码: System.setProperty("java -Djava.util.prefs.systemRoot", "/usr/share/myfolder"); Preferences pref = Preferences.systemRoot().node("/usr/share/myfolder"); 根据这个网站 ,我必须在执行这个命令行之前创build.systemPrefs文件夹,并且它隐含地说systemRoot()将会使用它。 当我执行我的程序,我得到以下警告: java.util.prefs.FileSystemPreferences syncWorld WARNING Couldn't flush system prefs: java.util.prefs.BackingStoreException: /etc/.java/.systemPrefs/usr create failed. 所以我假设System.setProperty不工作。 任何build议? 提前致谢!

用于基于文件的进程通信的Java文件locking机制

我有两个Java进程(JAR),每隔1分钟向一个文本文件写入数据,另一个正在读取该文件并调用Web服务以将数据存储在数据库中。 有什么办法来locking文件,当它在写模式? 我已经观察到,当wvdial拨号调制解调器时,它创build/var/lock/ttyUSB0..LOCK我想locking文件。 我想要一个这样的程序,如果文件处于写入模式,另一个进程可以等到写入完成。 写入过程后可以读取文件内容。 请指导我解决我的问题。 谢谢

某些Unix命令在通过使用JSch的Java执行时(即使启用了setPty)也会以“… not found”失败

我正在创build一个android应用程序,将命令发送到设备上的linuxterminal。 当使用“ls”命令时,我能够得到正确的输出,但是当我使用“ifconfig”或“iwconfig”时,设备不会给出任何输出。 使用Tera Term,我已经validation了这些命令的工作。 我试过包括((ChannelExec)channel).setPty(true); 为了解决这个问题,terminal仍然看不到命令​​。 添加这行代码还会将“ls”命令的输出更改为我无法识别的内容。 这是我的JSch代码: package com.example.riot94.whizpacecontroller; import android.os.AsyncTask; import android.util.Log; import java.io.IOException; import java.io.InputStream; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; /** * Created by riot94 on 1/6/2017. */ public class JSchConnectionProtocol extends AsyncTask<String, Void, String>{ private String host; private String user; private String password; public JSchConnectionProtocol(String h, […]

java.lang.UnsatisfiedLinkError:java.library.path中没有xuggle-xuggler

我使用Ubuntu 11.04和Eclipse。 我成功地安装了Xuggler,我已经在他们的FAQ中检查了环境variables和与linux有关的所有东西: http://wiki.xuggle.comFrequently_Asked_Questions#What.27s_up_with_java.lang.UnsatisfiedLinkError.3F 我也根据他们的教程设置Eclipse: http : //xuggle.wordpress.com/2009/01/23/how-to-write-your-first-xuggler-application-in-eclipse/ 每当我尝试运行任何使用Xuggler的代码,我得到以下错误: 2011-09-14 14:17:30,093 [main] ERROR com.xuggle.ferry.JNILibraryLoader – Could not load library: xuggle-xuggler; version: 3; Visit http://www.xuggle.com/xuggler/faq/ to find common solutions to this problem Exception in thread "main" java.lang.UnsatisfiedLinkError: no xuggle-xuggler in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681) at java.lang.Runtime.loadLibrary0(Runtime.java:840) at java.lang.System.loadLibrary(System.java:1047) at com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:265) at com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:168) at com.xuggle.xuggler.XugglerJNI.<clinit>(XugglerJNI.java:19) at com.xuggle.xuggler.IContainer.<clinit>(IContainer.java:1457) at […]