org.seasar.framework.unit
クラス UnitClassLoader

java.lang.Object
  拡張java.lang.ClassLoader
      拡張org.seasar.framework.unit.UnitClassLoader

public class UnitClassLoader
extends java.lang.ClassLoader

S2FrameworkTestCaseを使用した単体テスト等で使用するクラスローダです。

アスペクトが適用されたクラスを大量に使用するテストを連続して実行する際に、 OutOfMemoryError の頻発を回避する目的で使用します。

クラスは通常、 システムクラスローダによりVMのパーマネント領域にロードされますが、 新たにクラスをロードする領域がなくなると、 OutOfMemoryErrorが発生します。 S2FrameworkTestCaseでは、 テストメソッド毎に、 このUnitClassLoaderを生成、 使用、 消滅させることにより、 アスペクトが適用されたクラスがGCされることで、 パーマネント領域が不足する問題を回避しています。

作成者:
higa, belltree, goto

コンストラクタの概要
UnitClassLoader(java.lang.ClassLoader parent)
          親クラスローダを指定してUnitClassLoaderを構築します。
 
クラス java.lang.ClassLoader から継承したメソッド
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

UnitClassLoader

public UnitClassLoader(java.lang.ClassLoader parent)
親クラスローダを指定してUnitClassLoaderを構築します。

パラメータ:
parent - 親クラスローダ


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.