■Debian Wheezyにopenjdk-7を導入する
$ apt-cache search openjdk-7-*
java-package - Utility for creating Java Debian packages
openjdk-7-dbg - OpenJDK ベースの Java ランタイム (デバッグシンボル)
openjdk-7-demo - OpenJDK ベースの Java ランタイム (デモおよびサンプルファイル)
openjdk-7-doc - OpenJDK 開発キット (JDK) ドキュメント
openjdk-7-jdk - OpenJDK 開発キット (JDK)
openjdk-7-jre - OpenJDK Java ランタイム - Hotspot JIT 版
openjdk-7-jre-headless - OpenJDK Java ランタイム - Hotspot JIT 版 (ヘッドレス)
openjdk-7-jre-zero - Zero/Shark を用いた OpenJDK 用の代替 JVM
openjdk-7-source - OpenJDK 開発キット (JDK) ソースファイル
openjdk-7-jre-lib - OpenJDK Java runtime (architecture independent libraries)
$ sudo apt-get install -y openjdk-7-*
■バージョン
$ whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
$ /usr/bin/java -version
java version "1.6.0_32"
OpenJDK Runtime Environment (IcedTea6 1.13.4) (6b32-1.13.4-1~deb7u1)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
$ /usr/lib/jvm/java-7-openjdk-amd64/bin/javac -version
javac 1.7.0_65
$ export PATH=/usr/lib/jvm/java-7-openjdk-amd64/bin:$PATH
$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-2~deb7u1)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
$ javac -version
javac 1.7.0_65
$ echo 'export PATH=/usr/lib/jvm/java-7-openjdk-amd64/bin:$PATH' | \
tee -a ~/.bashrc > /dev/null
■単に「Hello World」を表示するだけの使えないプログラム。
「class」に「public」を付けると、1つのソースファイルにクラスは1つだけ。
ファイル名は「クラス名.java」の形式とする。
「println」は最後に改行が入る。
$ cat Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println( "Hello World!" );
}
}
$ javac Hello.java
$ java Hello
Hello World!
■シェルのechoのような「Jecho」
$ cat Jecho.java
public class Jecho {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++)
System.out.print(args[i]);
System.out.println();
}
}
$ javac Jecho.java
$ java Jecho "Hello World"
Hello World
$ java Jecho Test
Test
■「echo」同様、パイプの場合は「xargs」で渡す。
$ echo "Hello World" | xargs java Jecho
HelloWorld
$ echo "日本語" | xargs java Jecho
日本語
■確認
$ man java | xargs -0 echo > sample1
$ man java | xargs -0 java Jecho > sample2
$ diff -s sample[12]
ファイルsample1とsample2は同一
$ wc -l sample[12]
370 sample1
370 sample2
740 合計