Java
ほとんどの場合、例外をキャッチするかどうかなんて使う側の要件による。IO関連とかとか、システムリソースを使うにしても基本的に try{ //リソースを使う } finally { //リソースを開放する。 } でおkだし。 キャッチしてもどうしようもない例外は Thread.…
既存のPOJOインターフェースをRemoteインターフェースとして公開しようとしたときにおもわぬところで問題となったのが”リモートインターフェースメソッドは、throws RemoteExceptionを定義しなければならない"という制約。 RMIでオブジェクトを公開するには…
http://d.hatena.ne.jp/jawagenjin/20080606/1212679738の続き。 前回の例ではJEditorPaneを使ってテキストをハイライトしていたが、JEditorPaneが使っているDefaultEditorKitのAPIドキュメントにあった下記の記述が答えのようだ。 ドキュメントがメモリー内…
Highlighterと、HilightPainterを使ってエディタ上の文字列から指定された正規表現にマッチした文字をハイライトする処理を書いてみたが、どうも対象の文字列が\r\n(CRLF)を含む場合にハイライトがずれてしまう現象を確認。 正規表現のMatcherは正確なインデ…
テキストエディタ等でよくある、Undo(Ctrl-z)とRedo(Ctrl-y)をSwingで実現する。 主な構成要素 javax.swing.undo.UndoableEdit UndoRedoが行える編集作業そのものを表すインターフェース。メソッドundo(),redo()を持つ javax.swing.event.UndoableEditListen…
Javaで使える正規表現のメタ文字をメモ。 文字クラス . 任意の一文字 [abc] abcのどれか1文字 [^abc] 否定(どれにもあてはまらない、他の文字。空白行にはマッチしない。) [a-z] 範囲指定("-"は先頭であればリテラル、先頭でなければ範囲指定子となる) …
ほとんどAPIドキュメントのままだが… 置換文字列に戻り読み指定の$1とか、$2がそのまま使えるのはありがたいな。 //置換元文字列 String source = "Javaで正規表現" + "\nJavaなんかよりもPerlで正規表現" + "\nJavaなんかよりもRubyで正規表現"; //行頭の"J…
いろいろと調査中。とりあえずのメモ。詳しいことは後日書く予定 既存java.ioパッケージの補完 プリミティブ型のバッファ郡を定義 ヒープ外のメモリをアロケート可能(アロケートのコストは高い) ノンブロッキングI/Oのためのインターフェースがある(マルチ…
http://d.hatena.ne.jp/jawagenjin/20080126/1201345648で書いたGroupLayoutの考え方の具体例。 ポイントは、水平方向のレイアウトを管理するHorizontalGroupは、水平方向のアライン(右詰めか、左詰め)を管理し、垂直方向のレイアウトを管理するVerticalGr…
NetBeansとかGUIビルダでレイアウトする為に作られて、Java SE 6から標準クラスライブラリの仲間入りをしたSwingのレイアウトマネージャ"GroupLayout"だが、手でコーディングしようとするともうほとんど頭の体操に近い状態で、難しいので自分がわかるように…
プロジェクトによって使うJREが違う事は最近多々ある(個人プロジェクトは最新のJREで、仕事はまだJRE1.4が多いのかも)ので、環境変数のJAVA_HOME,PATHとか、システムの公開JREの設定に頼ってeclipseを起動しようとすると、JREのバージョンの違いからトラブ…
http://d.hatena.ne.jp/jawagenjin/20080117/1200545621で書いた起動に失敗するエラーの回避とhttp://d.hatena.ne.jp/jawagenjin/20080125/1201223939で書いたjreの埋め込みをあわせると、結局-vmオプションで、eclipse内部のjre\bin\javaw.exeを指定したバ…
Windows XPとSunのJREで確認した。eclipse.iniに記述してあるデフォルトのヒープサイズ -Xms40m -Xms256mを下記のように変更 -Xms128m -Xms768mすると、eclipseが起動しなくなる。 回避方法 コマンドラインで-vmオプションを使ってデフォルトで使われるパブ…
久しぶりにSwingに触れてみた。 JDK6になって、GroupLayoutとか便利になってるし。 体感速度もかなり速くなってるのでちょっと感動した。 実用域だと思う。
セキュリティ上の理由で、ディレクトリ表示をやめたい場合に、Apacheだと、httpd.confにOptions Indexes で設定するけど、Tomcatだとどうやるかという話。 まず、Tomcatは、全アプリケーション共通の設定を$TOMCAT_HOME/conf/web.xmlに持っているのでここが…
ブログで晒す用としては向いてないよなぁ… こんなこと言うとあれだけどやっぱRubyとかP言語とか… いやいや。 まだだ、まだ終わらんよ!><
ちょっと前に会社の後輩に出した課題。 自分でもやってみた。 import java.io.*; import java.util.*; public class Tree { private static final String ONE_NODE = "├─"; private static final String END_NODE = "└─"; private static final String CONTI…
Javaでバッチとか、同一コネクション上で、同じSQL(Preparedな)を大量に発行している場合、且つ、生成したPreparedStatementをSQL発行の度にcloseしているような実装が既に存在しており、ロジックの変更はしたくないといった場合のやっつけパフ…