`
piperzero
  • 浏览: 3495014 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

创建一个对象都在内存中做了什么事情?

 
阅读更多
1:先将硬盘上指定位置的Person.class 文件加载进内存。
2:执行main 方法时,在栈内存中开辟了main 方法的空间(压栈-进栈),然
后在main 方法的栈区分配了一个变量p。
3:在堆内存中开辟一个实体空间,分配了一个内存首地址值。new
4:在该实体空间中进行属性的空间分配,并进行了默认初始化。
5:对空间中的属性进行显示初始化。
6:进行实体的构造代码块初始化。
7:调用该实体对应的构造函数,进行构造函数初始化。()
8:将首地址赋值给p ,p 变量就引用了该实体。(指向了该对象)
分享到:
评论

相关推荐

    JAVA内存溢出问题总结

    在使用对象时,应该避免在经常调用的方法中创建对象,以免内存溢出。 监听器类型的资源注册后没有注销,而且要保证在 finally 块中进行注销,保证在异常情况下也会注销,否则一直都会驻在内存。 在使用监听器时,...

    你必须知道的495个C语言问题

    1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 *1.26 main的正确定义是什么...

    《你必须知道的495个C语言问题》

    1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 14 *1.26 main的正确...

    详解Javascript中new()到底做了些什么?

    和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中分配一个实例对象。 但在 javascript 中,万物皆对象,为什么还要通过 new 来产生对象? 本文将带你一起来...

    Java的六大问题你都懂了吗

    在多线程的操作中,一个对象会被多个线程共享或修改,一个线程对对象无意识的修改可能会导致另一个使用此对象的线程崩溃。一个错误的解决方法就是在此对象新建的时候把它声明为final,意图使得它"永远不变".其实那是...

    C语言FAQ 常见问题列表

    o 7.1 我在一个源文件中定义了 char a[6], 在另一个中声明了 extern char *a 。为什么不行 ? o 7.2 可是我听说 char a[ ] 和 char *a 是一样的。 o 7.3 那么, 在 C 语言中 ``指针和数组等价" 到底是什么意思 ? ...

    在C++中创建持久对象

    把对象写入一个文件并在以后重建之,或者把对象传送到一台远程机器,就是这样的例子。对持久性的支持并不象第一眼看上去那样简单,同一对象的大小和内存布局在不同的平台上可能并不相同,而不同的字节次序使事情更加...

    Java初学者都必须理解的六大问题

    在这段代码中,s原先指向一个String对象,内容是"Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个String对象,内容为"Hello ...

    二十三种设计模式【PDF版】

    很简单一个模式,就是在内存中保留原来数据的拷贝. 设计模式之 Interpreter(解释器) 主要用来对语言的分析,应用机会不多. 设计模式之 Visitor(访问者) 访问者在进行访问时,完成一系列实质性操作,而且还可以扩展. ...

    C#23种设计模式_示例源代码及PDF

    3、FACTORY METHOD —请 MM 去麦当劳吃汉堡,不同的 MM 有不同的口味,要每个都记住 、 是一件烦人的事情,我一般采用 Factory Method 模式,带着 MM 到服务员那儿,说“要一个 汉堡”,具体要什么样的汉堡呢,让 ...

    QUALCOMM平台BUIW开发文档

     为什么创建对象总是失败 31 程序架构基本规范 31  程序结构标准化的需要 31  主程序结构不合理 31  窗口参数结构传递不合理 32  应用释放所有窗口过程不合理 33  主程序数据结构 34  窗口独立数据...

    Spring面试题

    在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。 在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们...

    javase知识总结

    A:一个对象的内存图 B:二个对象的内存图 C:三个对象的内存图 (8)Java程序的开发,设计和特征 A:开发:就是不断的创建对象,通过对象调用功能 B:设计:就是管理和维护对象间的关系 C:特征 a:封装 ...

    第五章python面向对象基础详解

    编程就是设置事物做什么事情。 二、类和对象 对象是类的实例,类是一个抽象的概念 开发中先有类在有对象 创建类的语法 class 类名(): //类名命名规则为大驼峰   代码 创建对象的语法 对象名 = 类名() self//指的是...

    用Delphi实现Word文件的预览

    要创建自己的图像,最灵活的方法是用一个 BufferedImage 对象,它是 Image 类的一个子类,它把图像数据存储在一个可以被访问的缓冲区中。它还支持各种存储像素数据的方法:使用或不使用 alpha 通道、不同种类的颜色...

    2022年Java堆的管理--垃圾回收Java教程.docx

    为了解决堆碎片问题,基于tracing的垃圾回收汲取了Compacting算法的思想,在清除的过程中,算法将全部的对象移到堆的一端,堆的另一端就变成了一个相邻的空闲内存区,收集器会对它移动的全部对象的全部引用进行更新...

    Windows消息大全易语言版

    消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中...

Global site tag (gtag.js) - Google Analytics