我在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.
P.S.我知道,这样的问题已经存在,但没有正确答案。
答案 0 :(得分:5)
在Linux / Unix机器上," mvn"命令将使用shell变量" MAVEN_OPTS"传递选项。如果你想给Maven更多的内存,这很有用。在.profile或.bash_profile中添加如下行:
导出MAVEN_OPTS = -javaagent
在Windows上:
在shell(cmd.exe)中输入"设置MAVEN_OPTS = ..."
或
将MAVEN_OPTS添加到您的环境
在NetBeans上:
在〜/ .netbeans / 6.5 /中,创建etc / netbeans.conf。在那里添加你的环境变量,例如:
导出MAVEN_OPTS =" -Xmx512m -XX:MaxPermSize = 128m"