Java对象如何存储在内存中?

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)
  •   Java 类和对象

    在Java中,所有对象都是在堆上动态分配的。这与C ++不同,对象可以在Stack或Heap上分配内存。在C ++中,当我们使用new()分配对象时,对象在堆上分配,否则在Stack上如果不是全局或静态的。
    Java对象如何存储在内存中?
    在Java中,当我们只声明一个类类型的变量时,只创建一个引用(内存不分配给对象)。要将内存分配给对象,我们必须使用new()。所以这个对象总是在堆上分配内存。例如,以下程序在编译中失败。编译器给出错误“错误,因为t未初始化”。

    class Test {
    
    // class contents
    void show()
    {
        System.out.println("Test::show() called");
    }
    }
    
    public class Main {
    
            // Driver Code
        public static void main(String[] args) 
        {
            Test t; 
            
            // Error here because t 
            // is not initialzed
            t.show(); 
        }
    }
    
    

    使用new()分配内存使上面的程序工作。

    class Test {
        
    // class contents
    void show() 
    {
        System.out.println("Test::show() called");
    }
    }
    
    public class Main {
        
        // Driver Code
        public static void main(String[] args)
        {
            
            // all objects are dynamically 
            // allocated
            Test t = new Test(); 
            t.show(); // No error 
        }
    }
  •   Java 类和对象
  •   本文标题:Java对象如何存储在内存中? - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/3819.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注