java代码执行内存分析 java内存使用

如何分析java的内存占用情况

hi:

创新互联公司是一家集网站建设,岗巴企业网站建设,岗巴品牌网站建设,网站定制,岗巴网站建设报价,网络营销,网络优化,岗巴网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

虚拟机的内存情况查看,使用Runtime类进行。如下:

//虚拟机内存使用量查询

class RamRun implements Runnable{

private Runtime runtime;

public void run(){

try{

runtime=Runtime.getRuntime();

System.out.println("处理器的数目"+runtime.availableProcessors());

System.out.println("空闲内存量:"+runtime.freeMemory()/ 1024L/1024L + "M av");

System.out.println("使用的最大内存量:"+runtime.maxMemory()/ 1024L/1024L + "M av");

System.out.println("内存总量:"+runtime.totalMemory()/ 1024L/1024L + "M av");

}catch(Exception e){

e.printStackTrace();

}

}

}

java内存分析(栈堆)

首先SuperWords a1=new SuperWords();

SubWords a2=new SubWords();

分别在栈中产生了一个内存块a1指向堆中的SuperWords和一个内存块a2指向堆中的SubWords!因为SubWords是继承SuperWords的!所以它在内存中的图形为SuperWords内存块中有个SubWords的内存块!

a1.set_words1("cool");

在a1指向的堆块new出来的内存中的属性words1值赋为cool!

a2.set_words2("beautiful");

在a2指向的堆块中new出来的内存中的属性words2的值赋为beautiful!

a1.show_message1();

调用 System.out.println("The whole words is "+words1+" "+words2); 打印

因为words2没有赋值所以输出为:The whole words is cool null

a2.show_message2();

调用System.out.println("The whole words is "+words2+" "+words1); 打印

因为word1没有赋值所以输出为:The whole words is beautiful null!

java 怎么分析内存?哪里能看到对象的所有属性和方法?

你的思考已经深入到了JVM的内部如何执行,看哪里的解说都不如官方文档来的可信,毕竟Java怎么执行还是Java官方说了算嘛。

所以我觉得,可以研读一下Java官方的JVM规范文档

Java虚拟机规范官方文档

java内存分析

很简单,构造时候就已经"Hello World"做了临时存储了

String temp = "Hello World";

String str = new String(temp)


当前题目:java代码执行内存分析 java内存使用
本文URL:http://scyanting.com/article/dojijod.html