JAVA单体模式 Singleton

liujun3512159 2009-02-06 09:38:35

一个java类 进行new一个实例的时候,必然涉及到分配内存的问题
其中的" 方法"是怎么分配内存入口的?一旦分配了入口地址,是不是后面的这个对象的实例就不用再给这些方法分配入口地址了?
还有
static变量是怎么分配内存的?
当static变量一旦初始化后,是不是以后再new这个对象的时候,不再给static变量分配内存?
...全文
135 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningandjin 2009-02-06
  • 打赏
  • 举报
回复
对象的reference放在stack中,对象放在heap中,static成员变量放在RAM(只读内存)中,---摘自(TIJ)
所以static成员变量只初始化一次,在new一个对象的时候是不会再分配内存。
xian_hf 2009-02-06
  • 打赏
  • 举报
回复
方法是放在方法区

Object obj (1) = new Object();(2)

第(1)步,在栈中声明了一个obj的引用;
第(2)步,在堆中分配了obj的空间,并把栈中的引用指过来;

静态的东西,放在池中,大家共用一份,一般不new,new了没测试过是否会新开辟空间
csgdseed 2009-02-06
  • 打赏
  • 举报
回复
标题错了
liujun3512159 2009-02-06
  • 打赏
  • 举报
回复
呵呵,不好意思,标题搞错了
bzwm 2009-02-06
  • 打赏
  • 举报
回复
这好像和Singleton模式没什么关系吧。

当static变量一旦初始化后,是不是以后再new这个类的对象的时候,不再给static变量分配内存。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧