ソフトウェア
中級

Java (1995年)(ジャバ)

Javaは1995年Sun Microsystems James Gosling が開発したオブジェクト指向プログラミング言語で「Write Once Run Anywhere」(WORA・JVM 上での移植性) ・Garbage Collection・スタックベース仮想機・後Spring/Hadoop/Android (2008年)・現代エンタープライズシステムの中核となった言語。

0 回閲覧
0 いいね
2026/5/13 更新
関連タグ
java
1995
james-gosling
sun-microsystems
write-once-run-anywhere
jvm
oracle
spring
hadoop
android
programming-history
enterprise-language

Java (1995年)

概要

Javaは1995年5月Sun Microsystems James Gosling (1955-・カナダ出身・後Oracle Sun 買収 2010年で退社) が開発したオブジェクト指向プログラミング言語で「Write Once Run Anywhere」(WORA・JVM 上での移植性・1980-1990年代 のC++ 移植問題解決) ・Garbage Collection (Smalltalk Lisp 由来) ・スタックベース仮想機 (Java Virtual Machine・JVM) ・「Coffee」コードネーム (後 Java は James Gosling のコーヒー由来) ・C++ 文法ベース (ポインタ廃止・Operator Overloading 廃止で安全化) ・Multi-Threading 標準 (Thread/Runnable・後Concurrency Utility java.util.concurrent 1.5)・後Spring (2003年・現代企業システム標準) /Hibernate (2001年・ORM) /Hadoop (2006年・Big Data・後Spark 2014年)/Android (2008年Dalvik VM 2014年ART) ・現代エンタープライズシステムの中核となった言語。Oracle JDK/OpenJDK で継続改良・Java 23 (2024年9月) 最新。

主な特徴・仕組み

  • 発表: 1995年5月23日Sun Microsystems
  • コードネーム: Oak (1991年・Java 元代名は James Gosling のコーヒー由来)
  • 言語パラダイム: OOP (純粋ではない・プリミティブ型あり) ・後関数型機能 (Lambda Java 8 2014年)
  • 型付け: 静的型付け (Strong)
  • コンパイル: ソース→Bytecode (JVM 用) →ネイティブ実行 (JIT コンパイル・HotSpot VM 1999年)
  • GC: Garbage Collection 標準 (Concurrent Mark-Sweep・G1 (2009年・現代主流) ・ZGC (2018年・低レイテンシ))
  • C++ からの簡素化: ポインタ廃止・Multiple Inheritance 廃止 (Interface のみ) ・Operator Overloading 廃止
  • JVM: HotSpot (1999年Sun)・Oracle JRockit・IBM J9 (現Eclipse OpenJ9)・Azul Zulu・Amazon Corretto
  • OS 対応: Windows・Linux・macOS・Solaris・全主要OS 完全対応

Java 主要バージョン (1995-2024年)

バージョン年主な追加機能
Java 1.01995初代・JDK 1.0
Java 1.42002regex・NIO・assert
Java 52004Generics・autoboxing・annotation・enum・enhanced for
Java 62006パフォーマンス改善
Java 72011try-with-resources・diamond operator
Java 8 LTS2014Lambda・Stream API・Optional・Date and Time API
Java 92017Module System (Project Jigsaw)
Java 102018var (local variable type inference)
Java 11 LTS2018HTTP Client・var Lambda・廃止Java EE/CORBA
Java 142020switch 式・records preview
Java 162021records 標準・改良Pattern Matching
Java 17 LTS2021sealed classes・Pattern Matching for instanceof
Java 21 LTS2023Virtual Threads・Pattern Matching for switch
Java 232024Stream Gatherers・Class-File API

WORA (Write Once Run Anywhere) 革命

1995年Java の主要革新:

  • 動作: ソースコードをBytecode にコンパイル→任意のJVM (Windows/Linux/Mac/Solaris) で実行
  • 対比 C++: ソースコードを各OS でネイティブコンパイル・移植困難
  • 競合: .NET CLR (2002年Microsoft) ・並走・Windows 中心
  • 後継: Android Dalvik VM (2008年) /ART (2014年) ・Kotlin (2011年JVM)・Scala (2004年JVM)

Garbage Collection 進化 (1995-2024年)

1995年から30年継続改善:

  • Serial GC (1995): 単一スレッド・小規模アプリ向け
  • Parallel GC (1999): マルチスレッド・スループット重視
  • CMS (Concurrent Mark-Sweep・2000年代): 低レイテンシ・Java 9 で廃止予告・14 で削除
  • G1 (2009年Java 7・現代主流): Region ベース・大規模ヒープ向け
  • ZGC (2018年Java 11): 超低レイテンシ (10ms 未満) ・TB 級ヒープ
  • Shenandoah (2019年Java 12 OpenJDK): Red Hat・低レイテンシ
  • 後継: Generational ZGC (Java 21 2023年・更に高効率)

Android Java (2008-2024年)

Java の最大ユースケース:

  • Android 1.0 (2008年9月): Dalvik VM (JVM 派生・モバイル最適化)
  • Android 5.0 (2014年Lollipop): ART (AOT コンパイラ・Dalvik 後継)
  • Java 言語: Android アプリ開発の主流言語 (2008-2017年)
  • 2017年Google Kotlin 公式採用: Android アプリ開発で Kotlin 推奨化 (Java から段階移行・現代Kotlin 主流)
  • 2010年Oracle vs Google 訴訟: Java API 著作権訴訟・10年継続・2021年Google 勝訴 (米国最高裁・Fair Use 認定)

Spring (2003年-) と Java エンタープライズ

2003年Java 企業システム革命:

  • Spring Framework (2003年Rod Johnson): 軽量・DI (Dependency Injection)・現代企業システム標準
  • Spring Boot (2014年): マイクロサービス標準・後発のNode.js/Go/Python を凌駕
  • 採用: Netflix (動画配信)・Amazon (AWS)・Microsoft Azure・Google Cloud・LinkedIn・Twitter (X) ・大手金融機関 (JP Morgan・Goldman Sachs・Mizuho・MUFG)

Hadoop / Big Data (2006年-)

Java Big Data 帝国:

  • Hadoop (2006年Doug Cutting・Yahoo): MapReduce 並列分散処理・大規模データ
  • HBase (2007年): NoSQL DB
  • Hive (2008年Facebook): SQL on Hadoop
  • Spark (2014年・後Scala/Java 主流): Hadoop 後継・現代Big Data 主流
  • 採用: Facebook (旧主要)・Netflix・Uber・Airbnb・全大手データ分析企業

採用システム (1995-2024年)

  • エンタープライズ: 金融 (JP Morgan・Goldman Sachs・MUFG・Mizuho) ・通信 (NTT・KDDI)・小売 (Amazon・Walmart)
  • クラウド: AWS (一部) ・Google Cloud Java SDK・Microsoft Azure Java SDK
  • ビッグデータ: Hadoop・Spark・Kafka (LinkedIn 起源)
  • モバイル: Android (2008-2024年・後Kotlin 主流)
  • Web: Spring Boot・Jakarta EE (旧Java EE)
  • IoT/組込み: Java Card (スマートカード)・Java ME (旧モバイル)
  • 科学技術: Apache Spark・MATLAB Java integration

関連技術との違い

項目C++ (1985)Java (1995)C# (2002)Kotlin (2011)
移植性各OS でリコンパイルWORA (JVM)Windows 主体 (後.NET Core 全OS)JVM (Java 互換)
GC手動+smart pointersありあり (CLR)あり (JVM)
ポインタあり**なし (Reference のみ) **なしなし
用途システム/ゲーム/Office企業システム/Android/Web/Big DataWindows/.NET アプリAndroid (Java 後継)
標準化ISO C++11/17/20/23JDK Releases (LTS 17/21)ECMA-334JetBrains 主導

よくある質問 (FAQ)

Q1: なぜJava が30年エンタープライズ標準を維持しているか? A: (1) WORA で OS 非依存・企業の長期運用に最適・(2) Spring エコシステム・(3) Oracle/IBM/Red Hat 等の企業サポート・(4) 大量のJava 開発者 (世界1,000万人+) ・(5) 静的型付け+OOP で大規模システム保守容易・(6) JVM 最適化30年で性能高 (C++ に近い)・全要因で「企業システム = Java」確立。

Q2: Java と Kotlin どちらが推奨か? A: Android 開発: Kotlin 推奨 (Google 公式 2017年-)・JetBrains 主導で現代化・Null Safety・拡張関数等。サーバサイド: Java 17/21 LTS が依然主流・Spring エコシステム巨大。新規プロジェクトはKotlin (Android) or Java (サーバ) ・既存資産はJava 継続が合理的。

Q3: 現代でJava 学ぶ価値は? A: 大いにあり。(1) 企業システム (金融・小売・通信・公的機関) でJava 需要圧倒的・(2) Android 開発でJava 知識必要 (Kotlin と共に)・(3) Big Data (Hadoop/Spark/Kafka) で Java/Scala 必須・(4) Java 開発者は高給職 (世界平均年収$80,000-$150,000)・(5) Spring Boot で現代マイクロサービス開発・新卒/転職市場で安定した選択肢。

まとめ

  • 1995年Sun Microsystems James Gosling 開発
  • Write Once Run Anywhere (WORA)
  • JVM・Garbage Collection
  • C++ 文法ベース (ポインタ廃止)
  • Spring/Hadoop/Android で現代企業中核
この記事について
カテゴリーソフトウェア
難易度中級
作成日2026/5/13