うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

Javaの開発環境を高速にする方法

").prependTo(".entry-content"); } //スクロールを滑らかにする $('.sectionList a').on("click", function() { $('html,body').animate({scrollTop: $(this.hash).offset().top}, 600); return false; }); });

Javaのと書いてありますが、僕はNetBeansユーザーなので、NetBeansを高速にする方法です。
まぁ体感的にですけど、NetBeansの方が速いと思います。そのうち時間とか計ってみますが。
基本的にはあらかじめJavaをインストールしておく必要もありません。
NetBeansをダウンロードして、ダブルクリックしてインストールウィザードを進めたら完了です。


で、NetBeansを高速化する方法として僕が思いついたのは2つです。
1.NetBeansで使用するメモリ量の調整する。
2.NetBeansで実際に使う機能以外を無効化する。


2に関しては6.9以降で設定できる内容が細かくなっているので特に理由がない限りは6.9をオススメします。


1.NetBeansで使用するメモリ量の調整する。
netbeans.confというテキストファイルを書き換えます。
netbeans.confの場所はインストールしたディレクトリの直下のetc配下にあります。
例えば次のような感じ

C:\Program Files\NetBeans 6.9\etc\netbeans.conf
で、このファイルの5行目あたりから次のような文字列が並んでいる行をいじります。
この行↓
# command line switches:
netbeans_default_options="-J-client ...."


で、-J-client の続きに-J-Xms256m -J-XX:MaxPermSize=512m
などのように使用するメモリ量を指定します。
実際には僕は次のように書いています。
netbeans_default_options="-J-client -J-Xss12m -J-Xms256m -J-XX:PermSize=128m -J-XX:MaxPermSize=512m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true"


それぞれの意味
J-Xms256m
この場合、NetBeansは256MBのメモリを取得して起動します。

  • J-Xmsの多めに指定しておくことで、GCの頻発やメモリの拡張を未然に防ぎます。
  • J-XX:MaxPermSize=512m

この場合、NetBeansは最大512MBのメモリを使用することができます。
J-Xmsの指定は起動時に取得するメモリ量の指定ですが、
こちらはメモリ不足などにより、メモリが拡張されていったときの最大値になります。
この数値があまりに低いと、NetBeansが使用するメモリを拡張できないため、メモリが枯渇したときにGCが連発します。




2.NetBeansで実際に使う機能以外を無効化する。
メニューバーから[ツール]→[プラグイン]を選択。
ダイアログで[インストール済み]のタブを選択。
詳細を表示のチェックボックスにチェックを入れる。


こうすると、NetBeansの機能の一覧が表示されます。
アクティブの列のアイコンが緑になっているものが、現在ロードされている機能になります。
NetBeansはエルゴノミクス機能を実装していて、
プラグインの読み込みを必要になるまで遅延させます。つまり、必要になったらそのときにプラグインをロードします。
なので、使わないプラグインはどんどん無効化して、ロードするプラグインを少くすることで起動や動作が軽快になります。
この無効化する単位が6.8まではもっとおおまかな機能単位だったので実際には必要のないプラグインまでロードしてしまっていたのですが、
6.9以降だとプラグイン単位なのでより細かくロードする・ロードしないを選択できます。


無効化の方法は
1.対象のプラグインのチェックボックスをチェックしていく
2.無効化ボタンをクリック
3.表示されるダイアログで無効化ボタンをクリック
です。
NetBeansの再起動を促される場合もあります。その場合は再起動をするまでは無効化が反映されません。
プラグインはそれぞれに依存関係を持っているものもあって、他のプラグインが対象のプラグインに依存している場合は、それらのプラグインも無効化してよいか聞かれます。
適当に試しながら無効化してください。
例)「EJBおよびEAR」は「Java Web アプリケーション」に依存しているので、「Java Webアプリケーション」を無効化する際には「EJB および EAR」も無効化することになる。