Javaの教科書

Javaといえば、バージョン表記がJDK 8の場合には1.8となっていて、バージョン8じゃないのかと思いきや、そうではないようだ。Java Platform, Standard Edition 8の名前とバージョンにあるように、たとえば、Java SE 8というのは、名前であってバージョンではない。また、Java SEはプラットフォーム名であり、製品名ではない。なかなか奥が深い。

メモリ管理で悩むような(多重実行時にスワップするような)場合には、Oracleドキュメントを参照すると良い。

Eclipse4.4ではじめるJavaプログラミング入門Eclipse4.4Luna対応

Java SE 8に対応した書籍。
Tomcat8についての知識を少し学んでおきたいと思ったが、プログラミング入門というだけあって、肩透かしを食らった感じ。ただ、Java8からGUIがSwingがJavaFXに変わったことを知れて勉強になった。また、Androidプログラミングについても記載されているので、プログラミングの導入には非常に良い本だと感じた。

はじめてのJSP&サーブレット Eclipse 3.7 Indigo+Tomcat 7対応版 (TECHNICAL MASTER 67)

Java SE 8には対応していないが、サーブレットに関する記述が多く、Tomcatについての知識を学ぶ上では良書のように感じた。参考程度だが、JettyやGlassFishについての話題についても触れられてている。少し古いが、Java 最近のアプリケーションサーバー事情(2015年)が参考になる。

詳解 Tomcat

Tomcat8に対応したオライリー社の本。Javaアプリケーションサーバの管理の視点で詳しく知る上では、この本を購入するしかないのかもしれない。書籍を読まれた方のレビュー書籍「詳解Tomcat」を読んでが参考考になる。

設計の仕事ばかりしていると、実務から離れてしまうので少しはAndroidプログラミング等行って手を動かすようにしないといけないなと痛感。。。。

 

サーバーサイドJavaを始めるために

仕事の都合上Java言語をようやく勉強することになった。
大学時代でswingなどを少しやったもののほぼサーバーサイドJavaは知識ゼロの状態である。
インターネットで調べてみるもののつかみが分からない場合には書籍に当たるのが時間を無駄にせずに済む。
いろんな書籍を探してみたが、手っ取り早く勉強するためには、Eclipse WTPではじめるサーバーサイドJava入門―Eclipse 3.3/WTP 2.0対応が分かりやすいように感じていて、今学習を進めている。
Eclipseを日本語化したPleiades 3.5を使っていると書籍のハードコピーと異なる部分があって戸惑うことがあるが、流れをつかんでしまえば体系的に学習できると思う。

Javaで日本語をUnicode処理する

Javaの内部エンコードがUnicodeになっているため、日本語を扱うためにはUnicode処理しなければならない。
たとえば、日本語をUnicode処理して出力する場合、以下のようなコマンドになる。
native2ascii application.txt application.properties
-reverseオプションを利用すれば逆にUnicode処理されたものから日本語得られる。
詳しくは、Javaの道を参考にすると良い。

JSPについて

今日は、JSP(Java Server Pages)について理解を深めたい。
@ITにJSPの連載が載っており、サンプルを実行していきながら理解を深められる。
・JSPとJavaScript
・JSPとアプレット
・JSPのCGI
・JSPとASP
・JSPとサーブレット
について違いが説明されいてわかりやすい。
それからJSPにはBeansというアクセサという仕組みがある。前の職場でアクセサの概念を説明してくれた同僚のyujisさんのおかげですっと理解が出来た。Javaのアクセサは他の言語よりも多くの意味でメリットがありそうだ。

Javaのまとめ

Javaは製品の用語がかなり多くて初めてやろうと思ったらパニくりました。
一応備忘録としてまとめておきます。
JDK(Java SE Development Kit)とは?
JDKはJavaの開発環境であり、従来はJ2SDKと呼ばれていた。
javacコマンドでコンパイルすると.java(ソースファイル)から.classファイル(バイナリ)が生成される。
インストールはこちらからできる。
JRE(Java Runtime Environment)とは?
Javaを実行するための動作環境
J2SE(Java 2 Standard Edition)J2EE(Java 2 Enterprise Edition)とは?
ともに関数群(API)であり、用途が異なる。基本セットのJ2SEとWebサーバーなどのサーバー向けのJ2EE。まだ理解が不十分。
Tomcatとは?
コンパイル済みclassファイルを実行したり、JSPアプリケーションをコンパイルして実行することが出来るアプリケーションサーバー。ダウンロードはこちらからでき、アプリケーションの作成例はこちらを参考にされたい。
僕はWebサーバーは良く親しみがあったが、アプリケーションサーバーという概念が良くわからなかった。まだまだ理解が乏しいので、もう少し理解が進んだら更にまとめることとしたい。
なお、Webサーバーと違って、サイト構成が変更になった場合には必ずアプリケーションサーバーを再起動しなければならない。
ところで、tomcatはインストール時にJAVA_HOMEが設定されていないと以下のようなコンパイルエラーになるので注意が必要だ。JAVA_HOMEをパスに通してあってもこのエラーが出るから厄介である。

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK