ぐろーでぃあのTechブログ

ゆるりとTechブログをPostしていきますよと。。

まずは Java への入り口理解をリスタートしてみるというお話し

タイトルのとおり、Java という技術キーワードからだいぶ遠ざかってしまっている現状ですので、過去の拙い知識知見を元に、まずはということで、Java の入り口理解のリスタートをしてみます。

(小声: 筆者は10数年前に SJC-P を取得した程度の Java Beginner です。)

一旦ですが、個人的に把握を行いたいトピックに絞ってみます。

千里の道も一歩から。。

Java SE

Java SE ってなんでしたっけ、、というレベルからリスタートです。

EE とかも確かあったよなと。SE/EE の違いは何だったっけ、など。

www.oracle.com

Java SE Development Kit 19.0.2 downloads

最新バージョンでは19。自分が触って頃は Java SE 8 とかでしたので、クラスや機能はだいぶ増えたということですよね。

EE はサーバサイド Java のパッケージも含まれる開発キットということで、つまりは SE はサーバサイド関連のパッケージが含まれないエディション、ということですか。

Java 開発キットの基本は、Java コンパイラ(たしか javac ...)と、バイトコード(中間コード?)を実行するための処理系(java.exe で合ってるのか)が含まれた開発キット/ツールの集合という理解。

なので、この Java SE に JDK が含まれるということ。だよな。

そうだ、J2SE なんていう呼ばれ方してましたよね当時。

Java EE

Enterprise Edition。

サーバサイド Java によるアプリケーション開発のパッケージを含むエディション、と理解。

エンタープライズ Java、なんていう表現もありましたでしょうか。

サーバサイド Java アプリケーション開発とはなんだ、というところですが、ServletJSP によるサーバサイドアプリの実装、なイメージです。

では ServletJSP って何する人でしょうか。

当時このあたり多少触れたことはありましたが、そもそもなんなのかについてさっぱり理解できてなく、改めて調べてみよう。

Java Servlet

Servlet は、MVC モデルにおける Controller を担うクラスを提供する、とあります。

1. MVCモデルとは?

  • ユーザーからの入力を受けて処理をModelに振り分けたり出力のViewに返したりするJavaServletのController

なるほど、MVC のコントローラーだったんですね Servlet って。

少し昔に Ruby on Rails で簡単な Web アプリケーションを作ったことがありまして、なんとなくですが MVC についての理解はありました。

JSP

  • 入出力を担当するJSPで作るView

では JSP は、ですがこれは View とのこと。ほう、MVC の V ですね。

MVC モデルにおける View は、個人的にはイコールでテンプレートエンジンの印象を持ってます。

Rails で言うところの ERB でしょうか。


となると、残る Model 部分のソフトウェアはサーバサイド Java アプリケーション開発において何があるのか。

調べたところ、Java Beans なるキーワードが!

当時 Beans のキーワードを目にする機会があったのですが、用途・目的がさっぱりでしたね。

ようやくふんわりな理解に至りました。

OpenJDK

そのままの理解でいけば、JDK 開発のオープンソースコミュニティですよね。

Java って当時はサン・マイクロシステムズにて開発が進められていて、その時点ではまだプロプライエタリなソフトウェアであったと記憶してます。

それがどこかのタイミングでオープンソースに移行したということなのか。

ja.wikipedia.org

2006年11月13日、サンはJava仮想マシンであるHotSpotJavaコンパイラGNU General Public Licenseフリーソフトウェアとしてリリースし、JDKの残りの部分(Javaランタイム環境など)も2007年3月までにGPLでリリースする予定だが、

オープンソース化はこのタイミングだったんですね。

オープンソース化されたことで、Linux (Linuxカーネル/GNUソフトウェア群)のように、各所のベンダやコミュニティによるディストリビューション展開がなされること想像つきますね。

news.mynavi.jp

神様みたいな記事がありました。ありがたやありがたや~。。

この神様記事の最終更新は2020年と数年経過はしていますが、OpenJDK ディストリビューションにおけるポイントをいくつかピックしてみます。

ディストリビューションはまだ他にありますが、さすが巨大ソフトウェアである、、といったところでしょうか。

当方これまで Linux を扱った仕事をそれなりに結構まあまあやってきたこともあり、Java も同様に、オープンソースプロジェクトからディストリビューション展開されている流れはすんなり理解出来ましたね。

最後に

gihyo.jp

みんなのJava OpenJDKから始まる大変革期!

これ購入しました!読み込みます!