Playを触っていると謎のClassNotFoundExceptionが発生することがあります。 もしかしてそれはDEVモードだけで起きてはいないでしょうか? 先日、開発中のPlayアプリケーションで、ある依存ライブラリからClassNotFoundExceptionが発生するという現象にあたりました。 そのClassNotFoundExceptionはObjectInputStream.readObjectを呼び出した時に起きるのですが、なぜこのようなことが起きるのでしょう。 それではここでPlayのソースコードにある深イイコメントを見てみましょう。 /* * We need to do a bit of classloader magic to run the Play application. * * There are seven classloaders: * * 1. buil
よく見かけるこの記述は、oracle.jdbc.driver.OracleDriverというクラスを、現在のクラスを定義するクラスローダーを使ってロードしています。 簡単なクラスローダーを作る 指定したディレクトリをクラスパスに追加するクラスローダーを作ります。 public static ClassLoader createClassLoader(String dirname) throws java.io.IOException { java.net.URL[] url = new java.net.URL[1]; java.io.File file; if (dirname.endsWith("/")) { file = new java.io.File(dirname); } else { // ディレクトリは最後にスラッシュが必要 file = new java.io.File(
先日、こんな問題を見かけたのだけども、JavaのGCにはあまり詳しくないので答えがわからなかった。 OutOfMemoryErrorが発生しました。(中略)ヒープメモリは足りているようです。原因として何が考えられますか? http://d.hatena.ne.jp/iad_otomamay/20130318/1363596244 なんでだろうなぁと思っていたところid:moriyoshiが「Permanent領域があふれたんじゃないの」と一言。「Permanent領域」で検索してみると、なるほど、そういうことなのかー。 というわけで早速それを再現させるコードを書いてみた。ヒープの大部分ががら空きなのにPermanent領域だけ99%になっているのがわかるかと思う。 Exception in thread "main" [Full GC [Tenured: 515K->515K(56896K
1. クラスローダ 「クラスローダ」とは、クラスのロードやリソース(ファイル)の検索を担当するオブジェクトで、「java.lang.ClassLoader」を継承したクラスのインスタンスです。全てのクラスはクラスローダによってアプリケーションにロードされる事になっており、各クラスは自身をロードしたクラスローダへの参照を保持しています。そのクラスローダは「java.lang.Class」の「getClassLoader」メソッドで取得することができます。 クラスローダはツリー構造をしており、関連する親クラスローダを1つ所有しています。ツリー構造の大元に位置するクラスローダを「ブートストラップ・クラスローダ」と呼びます。これはJava仮想マシンに組み込まれており、Javaアプリケーションの起動時に、最初に読み込まれるものです。ブートストラップ・クラスローダはJava標準のライブラリや、Java
これはJ2EE Advent Calendarの25日目の記事です。昨日の記事はnobuokaさんによるJava Persistence API (JPA) 実践入門でした! 本記事の趣旨は、developerWorksのクラスローダーとJ2EEパッケージング戦略を理解するに書いてあることをコードで確かめようというものです。昨今はOSGiの登場などによりあまり目立たなくなったのかもしれませんが、未だにクラスローダはJ2EEアプリケーションの実装・運用において重要な役割を担っています。本記事がクラスローダの理解に役立てば幸いです。 はじめに:クラスローダとは? クラスローダとは、クラス定義をclassファイルから読み込んでくれるものです。 通常のJavaアプリケーションではJVMが用意する複数の基本クラスローダが存在し、このクラスローダがJREのクラスとCLASSPATHにあるクラスを読み込
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く