技術のメモ箱

Java/環境

Javaプラットフォーム

Javaプラットフォームは、Javaプログラムを開発または実行する為のソフトウェア群の総称のこと。
エディションによってJava実行環境とJava開発キットに含まれるツール構成に違いがあり、
またクラスライブラリとAPIの構成内容も異なる。


エディション

名前概要
Java SE (Standard Edition)Java VMや標準的なAPIをまとめた、標準的なエディション。
Jakarta EE
(旧名Java EE (Enterprise Edition))
Webサービスやサーバ間通信など、サーバアプリケーションの開発向けのエディション。
Java ME (Micro Edition)組み込みシステム、マイクロコントローラ向けのエディション。
Java Cardスマートカード(ICカード)、小型メモリデバイス上で運用されるプログラムを開発するためのエディション。

実行の仕方

JDKインストール

Javaの開発はOpenJDKというプロジェクトでオープンソースで開発されている。
Javaを使うにはビルドされた配布パッケージ(ディストリビューション)が必要で、Oracleを始め複数の会社や団体が提供している。
それぞれのディストリビューショはアップデート期間や有償サポートの有無などが異なる。
個人のローカル環境であれば、Oracle JDKでよいだろう。

また、JDKは半年に一度新しいバージョンがリリースされ、3年ごとにLTS(Long Term Support)が設定される。
現在の最新LTSバージョンはJava 17で、その前はJava 11、更にその前はJava 8である。
次のLTSバージョンは2023年9月にリリース予定のJava 21。


統合開発環境(IDE)

代表的なのはEclipse、IntelliJ IDEA、NetBeans、Visual Studio Code(VS Code)。


コンパイルと実行

Hello.java

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

javacコマンドでコンパイル、javaコマンドで実行。もしくはIDEを使う。

C:\Project\Java\work>javac Hello.java

C:\Project\Java\work>java Hello
Hello World!
 

REPL

jshellで起動する。詳細モードがお薦めらしい。-vオプションを付ける。

jshell -v

JShellコマンドは/で始まる。終了コマンドは/exit。

jshell> /exit
|  Goodbye

コメント

// 単一行コメント
/*
 複数行
 コメント
*/

JavaDocの書き方

ドキュメントは主にAPIを使用する人のために記述する。
通常はpublicかprotectedのメソッド、フィールドに対して記述する。

/**
 * JavaDocの書き方
 * クラスやメソッドの説明
 * @param string 名前
 * @return 戻り値
 * @throws Exception 発生条件など
 * @since バージョン情報
 */

パラメータに関して書くと良いこと
・nullが渡せるか。渡すとどうなるか。
・空文字が渡せるか。渡すとどうなるか。
・サイズ0のリストや配列を渡すとどうなるか。
・渡せる数値の範囲。負の数は渡せるか。
・渡したオブジェクトが変更されるかどうか。

戻り値に関して書くと良いこと
・nullが返ってくるかどうか。
・空文字や空リストが返ってくるかどうか。
・返ってくる値の範囲。負の値が返ってくるかどうか。
・コレクションの場合にソートされているかどうか。

その他全般的なこと
・スレッドセーフかどうか。
・副作用があるかどうか。
・例外が発生する条件。
・似たようなメソッドとの使い分け。

pagetop