1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Javaについて

Last updated at Posted at 2022-12-18

はじめに

Javaの案件に参加することになったため、
Javaを理解するために概要を調査しました。
ゆくゆくは環境構築するようことを目標にします。

記載内容に間違いがあればご指摘ください。

Javaについて調査

下記に基本的な内容をまとめます。

Javaの概要

Oracle公式サイト
参考サイト
主にOracleが提供するオブジェクト指向の言語です。
日本では業務システムによく使われていることは知っていましたが、
Web系システムやAndroidアプリにも使われているようです。

Java SEとJava EEやJava ME

Java SEとは

https://www.sejuku.net/blog/12902
Java SEとは、Java Platform, Standard Edition の略。
Javaの基本機能をまとめたもの。
さらに拡張したものにはJava EE(Java Enterprise Edition)などがある。

JVMとは

https://www.javadrive.jp/start/install/index5.html
JVMとは、Java Virtual Machine の略。
Javaアプリケーションを動かすための仮想マシンであり、Java仮想マシンとも呼ばれる。
OSによって専用のJVMをインストールする必要あり。

JREとは

https://www.javadrive.jp/start/install/index5.html
JREとは、Java Runtime Environmentの略。
Java のプログラムを実行するためのセットとなっている。
JREの中にJVMやJavaSEなどがセットになっている。
Java SEのバージョンに合わせて、JREのバージョンがつけられている。

JDKとは

https://www.javadrive.jp/start/install/index5.html
JDKとは、Java Development Kitの略。
JREやJVMなどが含まれるJava開発環境。コンパイルやでバックも可能。
こちらもJava SEのバージョンに合わせて、JDKのバージョンがつけられている。
OracleJDKやAdoptOpenJDKなど複数種ある。
JDKをインストールすれば、Javaの開発環境が作れる見込み。

Javaのフレームワークについて

Spring Framework、Play Framework、Apache Strutsなど多数存在するようですが、
今回はSpring Frameworkのみ記載します。

Spring Frameworkとは

https://camp.trainocate.co.jp/magazine/spring-framework/
https://camp.trainocate.co.jp/magazine/whats-aop-programming/
DI(Dependency Injection)とAOP(Aspect Oriented Programming)に優れたアプリケーションフレームワーク。
DIとは「依存性の注入」と呼ばれ、クラス同士が疎結合(独立)して保守性や再利用性に優れる。
AOPとは「アスペクト指向プログラミング」と呼ばれ、共通処理を入れ込むことができる仕組みです。
(AOPについてはあまり理解できませんでした。。。)

Spring Boot

Webアプリケーションに特化したSpringというイメージ。
Spring Frameworkは環境設定が複雑でああるが、Spring Bootはそれらを簡略化したフレームワーク。

Javaの問題点

調査中に面白いと思った問題点がありました。下記に記載します。

参照型変数のNull

https://atmarkit.itmedia.co.jp/ait/articles/1803/15/news012.html
参照型変数(=オブジェクト型)に対してNullが入っているエラーになる様子。
参照型変数はオブジェクトのアドレスを指しているため、C言語のポインタに近い概念のようです。

ライセンス問題

Oracle JDK
AdoptOpenJDKは無料

どのバージョンがいくらかかるのか?が分かりにくいです。
OracleJDKやAdoptOpenJDKなど使用するものによって料金外形が変わってくる。
基本的に個人利用は無料のようです。

まとめ

JavaはPythonやPHPに比べて覚える専門用語が多く、ハードルが高い言語と感じました。
しかし、専門用語の意味するところは難しくないため、覚えてしまえば使いこなせそうです。
また、文法などに細かい制約が多く扱いにくい面があり、開発時は注意する必要がありそうです。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?