Java

Java(JRE)カレンダー和暦(令和対応)について

JDK8(Oracle JDK 8u211以前)を使用していてハマったので備忘録。 $ echo 令和 | native2ascii \u4ee4\u548c この値と令和の省略文字"R"、JST時間2019年5月1日9:00(GMT2019年5月1日0:00)のミリ秒(1556668800000)を jre/lib/calendars.propertiesに追記。 $ ca…

WSL2上のLinux(Ubuntu)にJava8, Eclipse, Pleiadesを入れてみた

WSL2のLinux(Ubuntu)にEclipse,Pleiadesプラグインを入れてみた。ただし、 Java8が欲しかったのでEclipseはPhotonをOpenJDK-8をインストールした。 OpenJDKをインストール $ apt-cache search openjdk インストールパッケージを確認する。 $ sudo apt-get up…

eclipse 4.8 Photon(pleiades)へのTomcat Pluginインストール

eclipse 4.8 Photon(pleiades)にはTomcat Pluginがインストールされていない。 なので、メニュー「ヘルプ」の「Eclipseマーケットプレース」からインストールする。 通常 Eclipseマーケットプレース画面で、tomcatで検索すると Tomcat Pluginが表示されるの…

eclipseで複数ファイルの一括置換

左ペインで一括対象のフォルダを選択 「検索」->「ファイル」を選択 置換したいテキストを入力(正規表現あり・なしも選択する) 「ファイル名のパターン」に該当パターン(.java, .jspとか)を入力 「スコープ」で「選択されたリソースを選択」を選択して「置…

java.lang.Class.getMethod()とリフレクション

Javaのリフレクションとは変数に格納した「文字列」を使ってクラスを生成したりメソッドを呼び出したりできる機能。 リフレクション使ってメソッドをコールした場合、そのメソッドの例外はinvoke()でInvocationTargetExceptionでラッピングされて例外発生す…

Javaのオートボクシング

プリミティブ型とラッパークラスの変換を自動で行ってくれる仕組み Java 5からの機能で便利なのかもしれないけどコードレビューしていると結構嫌よね。 public void foo() { Integer iObject = new Integer(10); int i = 0, j; iObject = i; // オートボクシ…

javaのHashMap初期化

Java.util.HashMapの初期化方法。すぐ忘れるので備忘録。 package com.foobar.console; import java.util.HashMap; import java.util.Map; public class Test01 { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>() { {put("fooKey", "fooV</string,></string,>…

eclipseにspringプロジェクトを構築

以下のqiitaの記事を参考にして自分も構築してみた。 Eclipse4.6 + Spring MVC うちでは4.5なので一応ログっておく。 ソフトウェア バージョン eclipse eclipse pleiades 4.5 MARS Java 1.6 or 1.7 or 1.8 Tomcat 1.8 まずはプラグインのSpring Tool Suite (…

Javaスレッドで異なるインスタンスでも同期するためには

Javaでスレッドで同期するにはsynchronizedを使用するが、 synchronized public void foo() { .... } や public void foo() { synchronized (this) { .... } } とした場合、同じインスタンスでの同期となる。 スレッドが異なるインスタンスを使用して同期し…

Mapの値(value)の中身でソート

自身で作成したクラスのインスタンスの中身でソートさせたい場合おおよそ以下のようにする。 Map.EntryセットをListに突っ込む。 ListをCollectionを使ってソート。ここで自身で作成したクラスのインスタンスの値を使って比較する。 MyClass.java $ cat MyCl…

nginxとjettyの連携

jettyはpure javaのWebサーバ、サーブレット。spdyやwebsocketも対応。nginxからtomcatという連携もあるが、ならapache使えよと思わなくもないのでjettyにしてみた。 jetty http://download.eclipse.org/jetty/ からリリース版をダウンロードしてインストー…

java備忘録

ArrayListについて。 // J2SE5.0から新しく導入されたGenerics機能 // このArrayListにどのような型(クラス)を格納するのかを指定 // http://www.javadrive.jp/start/arraylist/ ArrayList<String> list = new ArrayList<String>(); //ArrayList list = new ArrayList(); lis</string></string>…