Articles of Java的

JavaFileLock是一个POSIX顾问(fcntl)锁

我有一个C ++程序使用POSIX咨询锁来locking文件。 也就是说,它使用POSIX fcntl系统调用进行locking操作。 我想要一个Java程序与C ++程序互操作,所以我希望我的Java程序也使用POSIX咨询锁。 Java中的文件locking应该使用标准的FileLock类。 但是API文档对于如何实现locking是可以理解的: 这个文件lockingAPI旨在直接映射到底层操作系统的本机locking工具。 因此,无论程序写入的语言如何,文件上的锁应该对所有有权访问该文件的程序都可见。 如果我在POSIX操作系统,或更具体的GNU / Linux系统上运行Java(Oracles,Open JDK)的通用实现,假设Java FileLock类使用POSIX通知locking是否安全?

为什么在使用waitFor的情况下查杀JVM也会终止它的subprocess呢?

如果不使用waitFor ,则杀死JVM对其subprocess没有影响。 这是一个例子。 Bash脚本: #!/usr/bin/env bash echo "Sleeping…" > 'log' sleep 30 echo "Wake up" >> 'log' Java代码: public class Code { public static void main(String[] args) throws Exception { Process process = Runtime.getRuntime().exec("./child.sh"); // process.waitFor(); } } Java Code发布后,JVM立即终止。 和ps -ef | grep 'child.sh' | grep -v grep ps -ef | grep 'child.sh' | […]

如何设置java时区?

我的系统时间不同于java的新Date()告诉(+4小时), 所以我认为这是因为一些Java设置。 我怎样才能让java时间像我的Linux系统时间一样? (通过编辑一些configuration文件)

如何将邮箱拆分为单个文件?

我想通过bash命令将我的收件箱分成不同的文件(每个消息一个文件),或者可能是Java中的简单程序。 我该怎么做? WBR,Thanx。

错误:在构buildMaven 3.0.4时无法find或加载主类org.codehaus.classworlds.Launcher

我用apt-get install maven2来安装maven2.2.1 。 为了编译hadoop 2.1.0源程序,我需要升级maven版本,但是不能再次使用apt-get ,因为maven2.1.0是lib中的最新版本。 我从官方网站下载了tar apache-maven-3.0.5-bin.tar.gz ,在path/usr/local运行tar apache-maven-3.0.5-bin.tar.gz ,并把apache-maven链接apache-maven-3.0.5 : lrwxrwxrwx 1 root root 18 Dec 8 11:26 apache-maven -> apache-maven-3.0.5 drwxr-xr-x 6 root root 1024 Dec 8 11:12 apache-maven-3.0.5 export the order in the terminal like this: export M2_HOME=/usr/local/apache-maven export PATH=$PATH:$M2_HOME/bin input命令“导出”来标识: ……………………………………… declare -x M2_HOME="/usr/local/apache-maven" declare -x MANDATORY_PATH="/usr/share/gconf/ubuntu.mandatory.path" declare -x […]

WebDriver for Firefox:浏览器启动/空页面,挂起2分钟,重新启动,然后testing运行。 为什么?

我正在尝试更新我的Javatesting套件以使用Selenium 3和geckodriver。 但是,我在执行testing命令时看到了这个非常奇怪的行为: Firefox打开了一个空白页面。 它停留约2分钟。 它closures,然后立即重新启动。 testing运行并通过。 我使用Selenium 3.0.1,Geckodriver 0.11.1,64位Linux上的Firefox 50.0。 我得到这样的FirefoxDriver: DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette", true); return new FirefoxDriver(capabilities); 我在我的Maven conf中设置系统属性webdriver.gecko.driver : <webdriver.gecko.driver> ${basedir}/src/test/resources/geckodriver </webdriver.gecko.driver> 我可以错过什么? 非常感谢您的帮助! 我的testing的控制台日志(有三个不同的计时组): 下午3点54分左右 完整日志: https : //justpaste.it/10qn9 主要片段: Configuring TestNG with: TestNG652Configurator [VerboseTestNG] RUNNING: Suite: "Surefire test" containing "1" Tests (config: null) [VerboseTestNG] INVOKING CONFIGURATION: "Surefire test" […]

什么决定了Tomcat Java进程的当前工作目录?

我的生产服务器使用System V风格的初始化脚本运行Linux。 通过以root用户身份运行service tomcat6 start Tomcat( service在cwd /下运行init脚本)。 然后Tomcat提供一个网页来写入new File(".").getAbsolutePath() ,它显示/usr/share/tomcat6/. 但Tomcat初始化脚本( /etc/init.d/tomcat6 )没有提及CWD,也没有任何cd命令。 鉴于Java本身不能改变当前的工作目录,那么/usr/share/tomcat6成为Tomcat的当前工作目录呢? 在启动过程中哪里改变了cwd? 有问题的Linux是CentOS6。

JVM由于SIGSEGV而崩溃

我们的服务器因SIGSEGV错误而挂起 Java运行时环境检测到致命错误: SIGSEGV (0xb) at pc=0x00007ff5c7195aaa, pid=262778, tid=140690480097024 JRE version: 6.0_35-b10 Java VM: Java HotSpot(TM) 64-Bit Server VM (20.10-b01 mixed mode linux-amd64 compressed oops) Problematic frame: C [libdtagentcore.so+0xb7aaa] long double restrict+0x506f6 我很想知道这可能是什么原因? 任何帮助,高度赞赏..谢谢..

在Linux中,如何使用外部jar文件执行Java jar文件?

在Linux中,如何使用外部jar文件执行Java jar文件?

找不到适合jdbc的驱动程序:postgresql://192.168.1.8:5432 / NexentaSearch

我写了下面的Java程序 import java.io.*; import java.util.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.*; public class Sample { public static void main (String[] args) throws IOException { int CountComputers; FileInputStream fstream = new FileInputStream( "/export/hadoop-1.0.1/bin/countcomputers.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); String result=br.readLine(); CountComputers=Integer.parseInt(result); input.close(); fstream.close(); Connection con = null; […]