トップ / 用語集

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章から読む