Sub*_*med 2 java memory runtime xml-parsing
我编写了一个小程序来解析java中的XML(SAX解析器)文件,只是为了检查我的程序消耗了多少内存.我在循环中添加了以下代码行.
System.out.println(Runtime.getRuntime().maxMemory()-Runtime.getRuntime().freeMemory()+" = used memory");
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
<CATALOG>
243919216 = used memory
<CD>
243919216 = used memory
<TITLE>
243919216 = used memory
<ARTIST>
243919216 = used memory
<COUNTRY>
243919216 = used memory
<COMPANY>
243919216 = used memory
<PRICE>
243919216 = used memory
<YEAR>
243919216 = used memory
Run Code Online (Sandbox Code Playgroud)
由于我是这些记忆概念的新手,我想知道:
- 此输出的单位是多少(243919216 =已用内存)?
它是一个给出字节数的long值
- 应用程序的最佳消耗内存是多少?
答案因应用程序而异.
- 这是检查内存使用情况的正确方法吗?
不.这不能给你正确的答案.使用分析器获取此信息.您可能还需要更换maxMemory()与totalMemory()得到一个有点接近实际的答案.