こんにちは、KiYOです。
システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。
新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。

今回はJavaについて紹介します。
スマホやWebなど幅広く利用されているオブジェクト指向言語Javaを解説します。
- Javaの特徴
- Javaの歴史
- Javaの利用シーン
今回はこの本を参考に、私の独断と偏見で記事を書いています。
言語を5点中評価
容易性 | 容易に言語習得できるか? | 4 |
将来性 | 将来性があるか? | 4.5 |
普及度 | 普及しているか? | 5 |
保守性 | 保守性が高いか? | 4 |
中毒性 | ハマるか? | 3 |
20.5 |

Javaの特徴

Javaはあらゆる分野で利用されるユーザも多い王道の言語です。
- Javaはオブジェクト指向の最も代表的な言語
- 開発当時(1995年発表)、先進的なオブジェクト指向を取り入れた
- プラットフォーム非依存を目標として高性能な仮想マシン上で稼働(JVM)
- マルチスレッドを言語仕様に含み並列計算を可能とした

Javaの歴史

開発者 | Sun Microsystems James Arthur Gosling(ジェームズ・アーサー・ゴスリン) Bill Joy(ビル・ジョイ) JavaCommunity Process |
誕生 | 1995年に発表 |
公式サイト | https://java.com/ |
分類 | 静的型付け、オブジェクト指向 |
影響を受けた言語 | C C++ Eiffel Smaltalk Objective-C C# |
影響を与えた言語 | C# Scala Kotlin D Dart Clojure Groovy Haxe PHP Python JavaScript TypeScript Processing |
言語の歴史
1995年 | Sun MicrosystemsでJames Goslingを中心に開発 |
1997年 | JDK1.1リリース(日本語対応、JDBC、JavaBeans) |
2002年 | J2SE 1.4 (オープンな開発体制) |
2018年 | JavaSE10以降、半年に1度のリリースサイクル切り替え |
- Javaはクラスベースのオブジェクト指向言語
- C++やSmalltalkと比べると比較的記述がわかりやすい
- 静的型付けとオブジェクト指向の代表的な言語として、多くの言語に影響を与えている
- サーブレットとJavaServerPage(JSP)は、Webサーバ上で動くアプリを作るのに便利
- サーブレットはWebページを動的に生成できる技術
- JSPはサーブレットをHTMLテンプレート上に書ける技術
- これらを動かすのに使われるソフトウェアがApacheTomcat
- Javaのプログラムは、Javaバイトコードにコンパイルされ、JRE(Java実行環境)上で実行されます。
- javacというjavaソースコードをバイトコードにコンパイルするコマンドがある
- javaというバイトコードを実行するためのコマンドがある
Javaの特徴はクラスベースのオブジェクト指向を採用した点です。オブジェクト指向に従って整然としたプログラムを作成できるため、大規模システムの開発においても威力を発揮します。
有効にオブジェクト指向を扱うには、ただJavaを使うだけではいけません。オブジェクト指向への基本的な理解が求められます。
オブジェクト指向で開発を行う際の代表的なパターンを集めた「デザインパターン」などを学んでおきたいところです。
業務で開発をする場合には、エンジニアの教養として、Java言語だけでなくオブジェクト指向に精通することが求められることもあります。
Javaの利用シーン

スマートフォンアプリ(Android)、Webアプリを中心に幅広い分野で使われています。大規模システムでの実績が多く、セキュリティにも配慮されているため、業務システムでこので利用されます。
- Androidアプリの開発では主にJavaが使われている
- Androidの登場でJavaがリッチなスマホアプリ向け言語として認識される
- Androidのシェアはスマートフォン市場で75%を超えている(2020年時点)
- JVMはJava Virtual Machine(Java仮想マシン)の略で、Javaのプログラムを動かすために必要なソフトです。
- JREがJava実行環境を包括的に言い表す
- JVMはJavaバイトコードとして定義された命令セットを実行するスタック型の仮想マシンのこと
- JVMは実行速度に優れていることで知られています
- JVM上で動作するプログラミング言語の開発も進みました。Scala、Groovy、Kotlinなどが代表的
- Web開発でもJavaは人気が高い
- JavaにはWeb開発を容易にするため、様々なフレームワークが用意されている
- Spring、PlayやJava EE後継のJakarta EEなどのフレームワークがある
まとめ:Androidアプリシェア70% Java圧勝

今回はJavaについて解説しました。
新人時代にJavaの勉強して先輩に色々しごかれたなぁ〜って、思い出しました。
あの時は徹夜徹夜で辛かった😭 いい思い出です。
- 1995年に発表された言語でユーザ数が多く、案件数も多い
- AndroidアプリやWeb開発など幅広く開発で利用できる
- フレームワークやライブラリも豊富で開発効率がいい
やりたいことを実現するために、Javaの使い方をマスタしましょう。
何事も覚えることに遅いことはありません。今日が一番若い日です。行動していきましょう!
以上です。KiYOでした!
今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になりました。
Udemyというオンライン講座でもプログラミング学習はできます。 再生速度を早めてみたり、何度も見返すことができるのでおすすめです! 私も色々なプログラムをここで学習しています。
[affi id=2]
まとめページで、他のプログラミングも紹介していますので、ご覧ください。

コメント