4

Java でキャッシュ アプリを使用しており、サイズの異なるオブジェクトをキャッシュに入れる必要があります。問題は、カスタムオブジェクトのサイズを数える方法が本当にわからなかったので、ライブラリを使用するという解決策を見つけたことです: http://mvnrepository.com/artifact/com.googlecode.sizeofag/sizeofag/ 1.0.0。ライブラリを使用してプログラムを実行するには、コマンドライン引数 -javaagent を指定する必要があります。では、mavenを使用している場合、どうすればよいですか???


プログラムは簡単です:

protected static Boolean b;
public static void main( String[] args )
{
    System.out.println(SizeOfAgent.sizeOf(b));
}

これは出力です:

0
Can not access instrumentation environment.
Please check if jar file containing SizeOfAgent class is 
specified in the java's "-javaagent" command line argument.


PS私は知っています、そのような質問はすでに存在しますが、適切な答えはありません.

4

1 に答える 1

6

Linux/Unix マシンでは、「mvn」コマンドはシェル変数「MAVEN_OPTS」を使用してオプションを渡します。これは、Maven にメモリを追加したい場合に便利です。.profile または .bash_profile に次のような行を追加します。

export MAVEN_OPTS=-javaagent

Windows の場合:

シェル (cmd.exe) で「set MAVEN_OPTS=...」と入力します。

また

環境に MAVEN_OPTS を追加します

NetBeans の場合:

~/.netbeans/6.5/ で、etc/netbeans.conf を作成します。そこに環境変数を追加します。たとえば、次のようにします。

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"

于 2013-03-18T02:14:01.987 に答える