Java
初めに 複数の言語やツールのバージョンを一元管理できるバージョンマネージャー「asdf」をWSLのUbuntu環境に導入しました。 本記事はWSLのUbuntu環境の構築とHomeBrewのインストールが前提となっています。 rms-099.hatenablog.jp rms-099.hatenablog.jp as…
Java の class ファイルを逆アセンブルするコマンドとして javap というものが JDK に用意されています。 https://docs.oracle.com/javase/jp/8/docs/technotes/tools/windows/javap.html class ファイルはバイトコードなのでテキストエディタで開いても分か…
Java アプリケーションを実行する場合、大体、こんなコマンドを打つことになるけど、、、 java -cp foo.jar xxx.yyy.zzz.Bar (引数1) (引数2) ... (引数N) 特にクラスの階層が深いと文字入力するのが面倒になってくるので、やっぱりこのようなイメージで実行…
おまけ。 readResolve メソッドというのは、Serializable インタフェースを実装しているクラスであれば、そのメソッドを定義することによって、もしそのクラスのインスタンスが直列化されている場合、それを復元する直前に呼び出されるメソッドのようだ。 re…
JComboBox は、キー入力された文字とコンボボックスの要素名の先頭の文字が一致すれば*1、その要素を選択するのがデフォルトの動作のようだ。 その辺の動作は JComboBox のインナークラスである DefaultKeySelectionManager が制御している様子。 で、コンボ…
Eclipse(Indigo) でメソッドの呼び出し元を検索していると、*.java ファイルを一通り検索した後、*.jsp ファイルを検索しに行く訳ですが、 検索中に"Waiting for JSP Index Manager"というメッセージがさり気なく表示されたまま、一向に検索処理が終わらない…
数年前に開発したWebアプリケーションをテストするために、試しに SoapUI というツールを Eclipse にプラグインとしてインストールしましたが、殆ど使わないままお蔵入りになっていました。 で、久々に Eclipse をバージョンアップしようと思い、以前の Ecli…
最近、Eclipse が起動中にフリーズするようになった。 直接的な原因は、Eclipse が起動した Java プロセスによって確保されたパーマネント領域が不足していたためだった。 けれども、設定ファイル(eclipse.ini)でパーマネント領域を最大で 256MB 確保するよ…
Eclipse 3.7.1 (Indigo) で jad.exe と JadClipse を使い、class ファイルをデコンパイルしようとしたら、エラーメッセージが表示された。 パッと見、原因が分からず、調査に時間がかかりそうなので、代わりに jad.exe を再帰的に実行することにした。 コマ…
Javaの道>掲示板(SWTでマウスクリックを無効化するには) Text text = new Text(自分のShell, SWT.BORDER); text.setMenu(new Menu(自分のShell, SWT.POP_UP)); menu が null だと OS標準の右クリックメニューが表示されるようだ。
以前、Eclipse TPTP を使ってコードカバレッジを調べてみたが、 Eclipse TPTP 4.3 - 量産メモカバレッジ単位がコード行毎ではなくメソッド毎だったので、結局、Maven を使って調べることにした。 Maven 1.x では JCoverage というものがあったが、2.0.x では…
http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/GraphicsContext.html
Java1.6 だと"[Ljava.lang.String;"の名前解決ができない話があちこちで見受けられる。 Bug ID: JDK-6434149 (cl) ClassLoader.loadClass() throws java.lang.ClassNotFoundException: [Ljava.lang.String; in JDK 6.0 http://jira.jboss.com/jira/browse/JB…
IBM developerWorks 日本語版 : WebSphereべからず集 「RequestDispatcher#forward()の前後でのクライアントへの出力」 「データベース・コネクションの確保、利用、クローズがコード中に分散している」 「Exceptionのコンストラクタに処理を記述する」 「外…
Java Programming Tips:java.lang.ref パッケージの利用方法(SoftReference/WeakReference/PhantomReference) Java弱参照メモ(Hishidama's Java Weak reference Memo) Javaの理論と実践: 弱参照でメモリー・リークを塞ぐ (作成中・・・)
久々に Ant でコードを書いてみたが、途中でループ処理の必要性を感じて、どうやって書くんだろうと少し調べた結果、 どうも標準の Ant はループ処理をサポートしていないことに気づいた。 その代わり、ant-contrib というライブラリを使えばループ処理を書…
pom.xml の dependency タグを使って、WARファイルにクラスパスを通すのは無理っぽいので、WARファイルをビルドする時、JARファイルもビルドするようにして、それにクラスパスを通すようにした。 まず、参照される側のモジュールは、plugin ノードの attachC…
たまに必要になるが、やり方を忘れてしまうのでメモを残しておく。 コマンドプロンプトを開いて、以下の3つのコマンドを実行する。 jps -lm jmap -dump:format=b,file=java.hprof (JavaプロセスのPID) jhat java.hprof jhat の起動に成功すると、コンソール…
Java の技術文書を読むと、Java アプリケーションがネットワークに接続する時やファイルを読み込む時のタイムアウトは、デフォルトで"-1"(無制限?)になっているようです。 ネットワークのプロパティ
仕事の都合でPythonを勉強する必要に迫られて、そういや今どれぐらい人気があるんだろう?と思い、プログラミング言語のランキングを紹介しているサイトを幾つか調べて、軽くまとめてみました。
Linux 上で動作している Java プロセスが DB にアクセスする時に処理遅延が起きた場合、この引数を指定すると問題が解決することがあります。
Stack Overflow に解答が載っていました。 java - Httpclient 4, error 302. How to redirect? - Stack Overflow DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient.setRedirectStrategy(new DefaultRedirectStrategy() { public boolean…
これ、自分もハマったことがある。 Oracle 10g standardへのJDBC接続にてDatabaseMetaData.getTablesメソッドが上手く機能しません。 | JavaのQ&A【OKWave】 確かに第二引数(スキーマ名)に null を指定すればテーブル名を取得できる。 しかし、Oracle の場合…
7年前に C# を勉強した時のメモを今更だけどアップロードしておく。 JavaC# JVM (Java Virtual Machine)CLR (Common Language Runtime) バイトコードMSIL (Microsoft Immediate Language) キーワードディレクティブ パッケージ名前空間 (namespace) クラスフ…
PC のメモリの空き容量が不足気味なので、一番メモリを喰っている Eclipse のヒープメモリを調整してみた。 最適化前のパラメータとヒープメモリの推移: -Xms40m -Xmx1024m -XX:MaxPermSize=256m
既出の記事があるけど、これはいつも忘れてしまうので、メモさせていただく。 http://d.hatena.ne.jp/waman/20080504/1209861294 Java アプリケーションを実行しているディレクトリ上のリソースを読み込む場合 (引数は相対パス形式) FileInputStream(java.la…
XMLファイル名が"pojos.xml"、ルート要素が"PojoRoot"という前提で、以下の様な感じで行ける。 List loadFromXml() throws Exception { Unmarshaller unmarshaller = JAXBContext.newInstance(AnyNameWillDo.class).createUnmarshaller(); JAXBElement eleme…
こんな感じで行けた。 void saveToXml(List pojoList) throws Exception { Pojo[] pojos = pojoList.toArray(new Pojo[0]); Marshaller marshaller = JAXBContext.newInstance(pojos.getClass()).createMarshaller(); marshaller.marshal(new JAXBElement(ne…
Java だと、これで問題なく拡張できる。 public class Base { } public class Sub extends Base { } C++ の場合、以下のように書いても拡張できるようだが、親クラスと子クラスの変数に対する参照が入れ替わったりして、おかしな事になったりする。 class Ba…
Java の場合、あるメソッド内部のローカル変数が、そのメソッドの戻り値として返されても、メソッドを呼び出した側は、受け取った変数を参照することができる。 public static String getString() { String str = "Value of local variable"; return str; } …