トップ / 用語集
GLOSSARY
用語集
Javaの会話で出てくる言葉を、ひとこと解説でまとめました。右側の「第◯章」から、その言葉を学べる章に飛べます。打合せの前後に、辞書代わりにお使いください。
基本・仕組み
- Java(ジャバ)第1章
- 1995年に登場したプログラミング言語。「言語」と「実行基盤」の2つの意味で使われる。業務システム・金融・Androidなど「見えないところで大量のデータを正確に処理する」場面で使われている。
- JavaScript(ジャバスクリプト)第1章
- Javaとは全く別の言語。主にWebブラウザの中で画面の動きを作る。名前が似ているのは歴史的な経緯によるもの。
- ソースコード第2章
- 人が書いたプログラムの文章。Javaではファイル名の末尾が
.java。「設計図」にあたる。 - コンパイル/コンパイラ第2章
- ソースコードを機械寄りの形(Javaではバイトコード)に翻訳すること。翻訳と同時に文法の検査も行う。「コンパイルエラー」は翻訳が通らない状態。
- バイトコード第2章
- コンパイルでできる、OSに依存しない中間形式。
.classファイルに入っている。JVMが受け取って実行する。 - JVM(Java仮想マシン)Java Virtual Machine第2章
- バイトコードを実際に動かすソフトウェア。OSごとに用意されていて、同じバイトコードをどのOSでも動かせる。Javaの「どこでも動く」の正体。
- JDKJava Development Kit第2章
- Javaの開発一式。コンパイラなどの道具と、JRE(実行環境)を含む。「Javaをインストールする」はふつうJDKを入れること。
- JREJava Runtime Environment第2章
- Javaの実行環境。標準ライブラリとJVMを含む。動かすだけなら本来これで足りるが、現在はJDKを入れるのが一般的。
- Write once, run anywhere一度書けば、どこでも動く第2章
- Javaのキャッチフレーズ。バイトコードとOSごとのJVMの組み合わせで実現している。
- ガベージコレクション(GC)第2章
- 使い終わったメモリをJVMが自動で片付ける仕組み。安定性に貢献するが、片付けの瞬間に処理が一瞬止まることがある。
- ヒープ第2章
- JVMがデータを置くために確保するメモリ領域。使い切ると OutOfMemoryError(メモリ不足)が起きる。
- JITコンパイラJust-In-Time第2章
- JVMの中で、よく実行される部分をその場で機械語に変換して速くする仕組み。長時間動くサーバー用途でJavaが速い理由。
コードの読み方
- クラスclass第3章
- プログラムの部品をまとめる箱であり、オブジェクト指向では「ひな形(設計図)」。1ファイルに1つの公開クラス。名前は大文字始まり。
- メソッドmethod第3章
- 処理のかたまり(手順書)。名前を付けて呼び出せる。「何を受け取り(引数)、何を返すか(戻り値)」で性格が決まる。
- main メソッド第3章
- JVMがプログラム起動時に最初に実行する入口。
public static void main(String[] args)は決まり文句。コードを読むときはまずここを探す。 - 文(ステートメント)statement第3章
- 1つの命令。末尾に
;(セミコロン)を付ける。日本語の「。」にあたる。 - ブロック第3章
{と}で囲まれた範囲。クラス、メソッド、if や for の中身を示す。入れ子になる。- コメント第3章
//や/* */で書く、人間のためのメモ。プログラムの動きには影響しない。非エンジニアがコードを読むときの最大の手がかり。- 変数variable第4章
- 値を一時的に入れておく、名前の付いた箱。
int count = 3;のように型・名前・初期値で宣言する。 - 型(かた)type第4章
- 変数に入れられる値の種類を示すラベル。
int(整数)、double(小数)、boolean(真偽)、String(文字列)など。 - 静的型付け第4章
- すべての変数に型を付け、合わない値の代入をコンパイル時に止める性質。ミスの早期発見・意図の伝達に効く。Javaの大きな特徴。
- BigDecimal(ビッグデシマル)第4章
- 10進数の小数を正確に扱う型。
doubleは近似値になるため、金額・税率の計算には BigDecimal を使うのが定石。 - 代入第4章
=で「右の値を左の箱に入れる」こと。「等しい」ではない。等しいかの比較は==(文字列は.equals())。- if 文/switch 文第5章
- 条件によって処理を分ける構文。if は上から順に判定し、最初に当てはまった1つだけ実行。switch は1つの値で多方向に分ける。
- for 文/while 文第5章
- 繰り返しの構文。for は回数や一覧に対して、while は条件を満たす間。バッチ処理の正体は巨大なループ。
- 配列第5章
- 同じ型の値を順番に並べた入れ物。
int[]のように[]が目印。数え始めは 0。 - 引数/戻り値ひきすう/もどりち第5章
- メソッドの入口と出口。引数は呼び出し時に渡す値、戻り値は
returnで返す結果。voidは「何も返さない」。 - 例外(Exception)第5章
- 実行中に起きた想定外の事態(ファイルがない、数値に変換できない等)。
try / catchで受け止める。障害報告の「〜Exception」はこの記録。
オブジェクト指向
- オブジェクト指向第6章
- 関係するデータと処理を「ひとまとまりのもの(オブジェクト)」として扱うコードの整理術。大規模なコードを管理するために広まった。Javaの土台。
- インスタンス/オブジェクト第6章
- クラス(ひな形)から
newで作られた個々の実体。「記入済みの書類」にあたる。 - フィールド第6章
- クラスが持つデータ(欄)。インスタンスごとに値を持つ。例:請求書クラスの「請求番号」「金額」。
- コンストラクタ第6章
newでインスタンスを作るときに1回だけ動く初期化の手順。クラス名と同じ名前を持つ。- カプセル化第6章
- フィールドを
privateにして外から直接さわれなくし、変更を公開メソッド経由に限定すること。「台帳を勝手に直させない」統制の考え方と同じ。 - 継承extends第6章
- 共通部分を親クラスにまとめ、子クラスは違う部分だけ書く仕組み。「〜の一種」の関係。現代では控えめに使う傾向。
- インターフェースinterface第6章
- 「このメソッドを持つこと」だけを約束する取り決め。「〜ができる」の関係。
implementsで守る。システム間連携の API も広い意味で同じ発想。 - static(スタティック)第6章
- 個々のインスタンスではなく、クラス(ひな形)そのものに属するメソッドやフィールド。main に付いているのは、起動直後にひな形から直接呼ぶため。
- パッケージ/import第6章
- パッケージはクラスを分類する棚(フォルダ)。
importは「この棚のこのクラスを使う」宣言。冒頭の import を見れば何を使っているか当たりが付く。
道具・現場の言葉
- フレームワーク第7章
- アプリケーションの骨組みと共通部品をまとめて提供するもの。エンジニアは業務固有の処理だけを書き足す。
- Spring/Spring Bootスプリング第7章
- Javaの業務システムで事実上の標準となっているフレームワーク。Web・DB接続・トランザクション・認証などの面倒を見る。Spring Boot はすぐ使える形にしたもの。
- ライブラリ第7章
- よく使う機能をあらかじめ作ってまとめた部品。JDK付属の「標準ライブラリ」と、外部から取り込む「外部ライブラリ」がある。
- Maven/Gradleメイブン/グレイドル第7章
- 部品を集め、コンパイルし、1つに固める「ビルド」を自動で行う道具。設定ファイル(pom.xml / build.gradle)に使用部品の一覧がある。
- JAR/WARジャー/ウォー第7章
- ビルドの成果物。コンパイル済みクラスを1つに固めたファイル。「JARを配置する」「WARをデプロイする」はこれをサーバーに置くこと。
- JUnit(ジェイユニット)第7章
- Javaのテストフレームワーク。「この入力ならこの結果」という検査をコードで書き、自動で実行する。テストの有無は改修コストに直結する。
- アノテーション@〜第7章
@Test、@Serviceのように@から始まる印。クラスやメソッドの役割をツールやフレームワークに知らせるラベル。- LTSLong-Term Support第7章
- 長期サポート版。Java 8・11・17・21・25 が該当。企業はLTSからLTSへ数年おきに移行する。非LTS版は半年で修正提供が終わる。
- OpenJDK/Oracle JDK第7章
- OpenJDK はオープンソースで開発されるJava本体。Oracle JDK は条件により有償。Eclipse Temurin、Amazon Corretto など各社のOpenJDK配布版を使うのが主流。
- Tomcat(トムキャット)第7章
- JavaのWebアプリを動かすサーバーソフト。Spring Bootでは内蔵されていることが多い。
- IDE(統合開発環境)第7章
- エンジニアがコードを書く作業机となるソフト。Javaでは IntelliJ IDEA と Eclipse が代表的。
- Kotlin(コトリン)第7章
- JVM上で動く別の言語。Javaより簡潔で、Javaの部品をそのまま使える。Android開発では主流。
- 三層構造第8章
- 業務Webシステムの基本構成。画面(フロントエンド)・業務ロジック(バックエンド)・データベース。Javaは真ん中の業務ロジック層を担当。
- デプロイdeploy第8章
- ビルドした成果物(JAR/WAR)をサーバーやクラウドに配置して動かすこと。「本番にデプロイする」=本番環境へ反映。
- CI/CD第8章
- テスト→ビルド→デプロイを自動化する仕組み。整っていると小さな改修を素早く安全に出せる。
- ステージング環境第8章
- 本番と同じ構成の、リリース前確認用の環境。受入テスト(UAT)はここで行う。業務目線の確認を怠ると本番で問題が発覚する。
- ログ/スタックトレース第8章
- ログはプログラムの動作記録。スタックトレースは例外発生時に「どのクラスのどのメソッドの何行目か」を呼び出し順に並べた記録。障害調査の出発点。
- バッチ処理第8章
- 夜間などに大量データをまとめて処理する仕組み。中身は巨大なループ。途中停止時の再実行ルール(二重計上を防ぐ仕組み)が論点になる。
言葉の意味は分かったけれど、つながりが見えないときは、最初から通して読むのがおすすめです。
第1章から読む