据说基本数据类型是在堆栈里生成的.
而类对象是在堆里建立的...
是这样吗?
而类对象是在堆里建立的...
是这样吗?
解决方案 »
- 字符串转换成整数数组问题
- 关于正则,如何解释?
- 关于数组的一个符号问题
- 哪里可以下到myeclipse的Matisse插件呀!
- 如何设置AbstractAction的字体!
- jms不是有点对点.的发送和订阅发送么?也就是说有一个发送方,一个接收方,能否实现,发送方同时能发送也能接收,接收方,同时能接收也能发送
- 你散,俺也散,大家都散,为什么?(见里面 ^^)
- 请详细解释javamail里的“收件人类型”的CC,TO,BCC的意义???
- 菜鸟来送分了!
- Javamail收邮件转存到数据库里面去。要求支持各种mail格式,请问数据结构该如何定义?有人有源程序么?
- 请教:安装了1.6的JDK,后来安装了JBUILDER9在命令行下运行JAVA命令时报错怎么办??
- 那位大侠指导一下这种代码应该如何改善?
new 出来的都是存放在堆内存
我想是这样的:
如果是在方法中定义的,那么分配在堆栈;
如果是在类中定义的,当生成类的实例时,它作为对象的数据成员分配在堆中;
如果是在类中定义而且是static的,那么分配在静态存储区中.
对于没有GC的语言来说,分配在堆上的无疑是比较恐怖的,因为用完要记得释放它,不然会引起内存泄漏.
Java好像除了DB,Socket等比较重量级的资源需要自己手动close之外,其他都有GC帮你搞定.
原始类型封装类包括:
boolean -->Boolean
char --->Character
byte -->Byte
short -->Short
int -->Integer
long -->Long
float -->Float
double -->Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。同时为了面向对象操作的一致性,这些基本类型都有相应的封装类型:Integer、Short、Long、Byte、Float、Double、Character等。 因为封装类型是对象,所以可以进行相应的很多对象能力函数操作,这样就可以提供很多基本类型难以完成的工作的完成和实现。
"int a = 3;"这种变量创建方式是非引用的“自动”变量,其是直接存“值”,置于栈中。