Articles of Java的

用shell脚本启动和杀死java应用程序(Debian)

我是UNIX的新手。 我想用这样的脚本启动我的Java应用程序: #!/bin/sh java -jar /usr/ScriptCheck.jar & echo $! > /var/run/ScriptCheck.pid 这应该是工作。 它确实运行了应用程序,它确实写入了pid文件。 但是当我尝试用包含以下内容的不同脚本来停止进程: #!/bin/sh kill -9 /var/run/ScriptCheck.pid 控制台给了我这个错误: bash: kill: /var/run/ScriptCheck.pid: arguments must be process or job IDs 我最好的猜测是,我没有在停止脚本中写入正确的代码,也许没有给出正确的命令来打开.pid文件。 任何帮助将非常感激。

JDK可以使用apt-get install吗?

我一直在使用一台Linux机器不到两个星期,所以我对Linux非常陌生。 我也想安装Java开发工具包。 这应该怎么做? 有没有apt-get命令,还是只要点击Sun网站上的下载button? 我确信有多种方法可以做到这一点,这可能没有太大的关系,但是在安装PHP和MySQL时apt-get install工作的顺利性给我留下了深刻的印象,所以如果有正确的做法这个,我想知道。 我正在使用Ubuntu版本9.04

如何在C和Java中产生cpucaching效果?

在Ulrich Drepper的论文中,每个程序员应该知道关于内存的知识 ,第三部分:CPU Caches,他显示了一个图表,显示了“工作集”大小和每个操作(在本例中为连续读取)消耗的CPU周期之间的关系。 图中有两个跳转指示L1caching和L2caching的大小。 我写了自己的程序来重现c中的效果。 它只是从头到尾依次读取一个int []数组,并且我尝试了不同的数组大小(从1KB到1MB)。 我将数据绘制成graphics,没有跳跃,graphics是一条直线。 我的问题是: 我的方法有问题吗? 产生cpucaching效果的正确方法是什么(查看跳转)。 我在想,如果是连续读取,那么它应该像这样操作:当读取第一个元素时,它是一个caching未命中,并且在caching行大小(64K)内,会有命中。 在预取的帮助下,读取下一个caching行的延迟将被隐藏。 即使工作集大小超过L1高速caching大小,它也会连续读取数据到L1高速caching中,它将驱逐最近最less使用的数据,并继续预取。 因此,大部分caching未命中都将被隐藏,从L2获取数据所消耗的时间将被隐藏在阅读活动之后,这意味着它们同时运行。 assosiativity(在我的情况下是8)将隐藏从L2读取数据的延迟。 所以,我的程序现象应该是正确的,我错过了什么? 是否有可能在java中获得相同的效果? 顺便说一下,我在linux中这样做。 编辑1 感谢Stephen C的build议,这里有一些额外的信息:这是我的代码: int *arrayInt; void initInt(long len) { int i; arrayInt = (int *)malloc(len * sizeof(int)); memset(arrayInt, 0, len * sizeof(int)); } long sreadInt(long len) { int sum = 0; struct timespec tsStart, tsEnd; […]

Locale.getDefault()总是返回en

unix机器上的服务器总是使用en作为默认语言环境。 以下是区域设置输出 LANG=en_US LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL=C 我只是不明白,如果LANG设置正确,那么为什么服务器以en语言环境启动。

收集Linux命令输出

我现在在一台linux机器上。 我有一个Java程序,可以运行一些Linux命令,例如ps , top , list或free -m 。 在Java中运行命令的方式如下所示: Process p = Runtime.getRuntime().exec("free -m"); 我怎么能通过Java程序收集输出? 我需要处理输出中的数据。

是否有任何Java库来操作像http.conf的Unixconfiguration文件

有非常好的Perl库(例如Apache :: Admin :: Config )来操作传统的Unixconfiguration文件,如httpd.conf。 任何人都知道有没有好的Java库来做类似的任务? 我知道有一个叫做Augeas和Java绑定的ac库。 有没有人使用过? 谢谢!

无法运行程序“mvn”错误= 2,没有这样的文件或目录

我正在做我的Ubuntu 14.04 LTS,但我得到以下几点: Started by user anonymous Building in workspace /var/lib/jenkins/workspace/videovixx > /usr/bin/git rev-parse –is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > /usr/bin/git config remote.origin.url https://bitbucket.org/mdennis10/videovixx.git # timeout=10 Fetching upstream changes from https://bitbucket.org/mdennis10/videovixx.git > /usr/bin/git –version # timeout=10 using .gitcredentials to set credentials > /usr/bin/git config –local credential.helper store — file=/tmp/git6236060328558794078.credentials # […]

Linux上的JDK 1.8缺lessJNI包含文件

我正在编译下面的项目: https://github.com/entropia/libsocket-can-java 我总是得到这个错误信息? 有谁知道如何解决这个问题,是否可能是Linux上的JDK 1.8.0.11(x64 Debian Wheezy)中的错误? In file included from jni/de_entropia_can_CanSocket.h:2:0, from jni/cansocket.cpp:23: /opt/jdk1.8.0_11/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory #include "jni_md.h" ^

用Java来强制虚惊一场

这个问题不是关于虚假的唤醒是否真的很开心,因为这已经在这里全面讨论了: 虚假的唤醒是否真的发生? 因此,这也不是关于,为什么我必须围绕我的wait声明。 这是关于什么的: 我想构build一个虚构的唤醒事件。 我在上面提到的问题中学到的是: 如果一个Linux进程发出信号,它的等待线程将每个都享受一个很好的,热的虚假唤醒。 所以看来,这只会工作在一台Linux机器,实际上我有Ubuntu 11.04 – 64位。 我已经写了一个Java程序,其中有一个线程正在等待一个条件,但是没有循环,而另一个线程正在等待并由另一个线程得到通知。 我认为在一个JVM中启动所有三个线程将强制上述情况,但似乎并非如此。 有没有人有另一个想法如何在Java中构build这样的情况?

我怎样才能诊断我们的Java IP多点传送应用程序?

出于某种原因,我运行的每个组播例子(计算机运行OpenSUSE Linux)都可以工作。 客户都静静地坐着。 如何找出为什么组播被阻止/忽略? 一些例子: 例1 http://www.roseindia.net/java/example/java/net/udp/UDPMulticastServer.java 例2 http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html (使用这些文件:) http://docs.oracle.com/javase/tutorial/networking/datagrams/examples/MulticastServer.java http://docs.oracle.com/javase/tutorial/networking/datagrams/examples/MulticastServerThread.java http://docs.oracle.com/javase/tutorial/networking/datagrams/examples/MulticastClient.java http:// docs.oracle.com/javase/tutorial/networking/datagrams/examples/one-liners.txt