一个简单java类的分析

类是java的核心之一。今天来对简单的java类做一下分析(个人见解,不当之处欢迎指正)。

 1 public class SimpleTest {
 2 
 3     private int count = 2;
 4     private Bird globalBird = new Bird();
 5 
 6     public void run(){
 7         int num = 10;
 8         Bird bird = null;
 9         bird = new Bird();
10         bird.setName("huangli");
11     }
12 
13  private static class Bird{
14 
15      private String name;
16      public void setName(String name){
17          this.name = name;
18      }
19      public String getName(){
20          return this.name;
21      }
22  }
23 }

 

上面是SimpleTest 类,当该类被java虚拟机加载到内存中还没有被实例化对象时,它的信息(域和方法的代码)被存放在jvm中的perm(永久代)区,当用户创建

了一个SimpleTest对象后,jvm会在堆内存为这个对象分配内存空间,主要是全局变量中的基本类型count和globalPara对象的引用(用一块小的内存存放该对象的

真实地址)。若该对象的run()方法被一个用户线程所执行,则基本类型num和bird对象的引用会被放入当前线程的栈内存中存储,这里的引用也是指Bird对象真实

内存位置的地址。因为bird不是用final修饰的,所以如果将bird指向另一个新的Bird对象,则保存bird引用的内存值也会被改写为新的Bird的地址。

posted @ 2016-02-28 20:37  乘风破浪sxg  阅读(479)  评论(0编辑  收藏  举报