Java
実装中にAPIの使い方に迷ったりするとサンプルコードがほしくなる。そんなときにはコード検索エンジンが便利だ。様々なオープンソースプロジェクトのコードを検索できるため、秀逸なコードやアルゴリズムを参照することができる。このコード検索エンジンは幾…
テキストファイルにある大量のデータを解析したかったがファイルの読み込みが面倒だったので、データをJavaプログラム内にコピペした。こんな感じ。 static int[] data = { 234, 222, 123, … }; こんなエラーがでた。 「static イニシャライザーのコードが 6…
最初にJDKのソースコードを入手します。JavaSEをインストールしている場合には、JavaSEインストールディレクトリにsrc.zipというファイル名でソースコードがあります。 なければ、Java SE - Downloads | Oracle Technology Network | Oracleからソースコード…
Javaの文法を覚えた程度の初心者が次に読むべきJava言語の本。Effective Java プログラミング言語ガイド作者: Joshua Bloch,ジョシュア・ブロック,柴田芳樹出版社/メーカー: ピアソン・エデュケーション発売日: 2001/12/03メディア: 単行本購入: 5人 クリッ…
0埋めの文字列に変換する。 String.format("%04d", num); 数値を16進数で表現する。 String.format("%x", num); 小数点の桁数を指定する。 String.format("%8.3f", num); 詳しくはAPIを参照のこと Oracle Technology Network for Java Developers | Oracle T…
Top Ten Performance Problems and Their Solutions - DZone Java 一部だけ和訳。10) GregorianCalendar このクラスは遅く、しかもsynchronizedされていない。もし可能ならばGragorianCalendarの使用をやめ、 Joda-Time - Java date and time API - Homeを使…
eclipse.exeと同じディレクトリにあるeclipise.iniを下記のように設定し、Eclipseを再起動する。 -vmargs -server -Xms256m -Xmx512m -XX:+UseLargePages -XX:+UseParallelGC -XX:PermSize=32m -XX:MaxPermSize=256m -XX:ParallelGCThreads=30
intやlongなどの保持可能な範囲はラッパークラスにて取得できる。 System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE);System.out.println(Long.MAX_VALUE); System.out.println(Long.MIN_VALUE); 実行結果はこちら 2147483647 …
エントリーを誤って削除してしまったが、復活できた。 日本Ruby会議2008の最首氏は「アジャイル開発がしやすい、プロトタイピングが容易」「学習曲線が早い」ことを挙げているが、「学習曲線」については違和感がある。 10年後でも「つまらない」と言われな…
いくつかの事に気をつけてコードレビューを実施するだけで、効率的にコードの品質を高めることができる。効果的なコードレビュー方法をまとめてみた。 (1)複数の有識者でレビューを実施する レビューアも人間なのでレビューが面倒になってしまうときもあ…
@Deprecatedアノテーションによって非推奨とされたクラスやメソッドなどを使用すると「〜は使用すべきではありません。」と警告される。 通常であれば、非推奨となった理由を理解し、推奨される方法での実装をすべきだが、回避する必要がない時や回避不可能…
Javadocに下記のオプションをつけることで文字化けを解消できる。 charset UTF-8 -docencoding UTF-8 オプションの意味は「-charset」がHTML文字セット。「-encoding」がソースファイルのエンコーディング名。EclipseでJavadocオプションを指定するには、メ…
通常のブレイクポイントでは実行行に来るたびに中断してしまう。特定の条件のときのみ発生する不具合を解析する場合には、通常のブレイクポイントでは目的の箇所に到達するのに時間がかかってしまう。 そのようなときは、ブレイクポイントに条件を指定するこ…
Make an Installer for your Java Applications http://javabyexample.wisdomplug.com/java-concepts/34-core-java/63-make-an-installer-for-your-java-applications.html今度つかってみる。
会社での開発はTracでプロジェクトを管理していたが、Trac上に飲み会の連絡とか書く輩がいて orz そこで社内のサーバにプロジェクト共有ブログを導入して、Tracが開発の情報を管理し、共有ブログでそれ以外の情報を管理していました。インターネットに公開し…
Generics(ジェネリクス)関連の警告。Genericsを使ったコレクションの型にキャストした場合などに警告される。 Set set = new HashSet(); 非Genericsのコードが自前のコードであれば、型パラメータ付のコードに変換すれば解決する。 Set set = new HashSet(…
1.ショートカットキー一覧を表示する Ctrl+Shift+L すべてのショートカットキーを覚えるのは難しいし現実的ではない。Ctrl+Shift+Lを使えばいつでもショートカットキーを確認することができる。 2.クイックフィックス Ctrl+1 コンパイルエラーの解決方法が示…
通常の参照が強参照。弱参照と強参照の違いはガベージコレクトのタイミングにある。 オブジェクトの生成コストを減らすためHashMapなどにメモリキャッシュする場合があるが、一定期間のみ生存するオブジェクトをメモリキャッシュした場合には、必ずキャッシ…