各位路过的各位编程大侠们 JAVA高手请进 我定义了一个类 并且new 了一个对象 问题在补充那里

这个类存在我们内存中的什么地方new了一个对象之后这个对象它又存放在什么地方我看了网上的什么堆栈我看不懂看的很迷糊这个堆和栈他们有什么关联!高分求!越详细越好... 这个 类存在我们内存中的什么地方 new 了一个对象之后 这个对象它又存放在什么地方 我看了网上的 什么堆栈 我看不懂 看的很迷糊 这个堆和栈 他们有什么关联!高分求!越详细越好 展开
 我来答
yxh015864
2012-04-01 · 超过31用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:77.4万
展开全部
这样跟你说吧,我们一般int i ,那么这个i就放在栈中,是系统自己去分配的,不需要我们管理,而你new integer i,那么new就告诉系统这个系统要放在堆中,系统会在堆(也就是默认的存储区,就是栈之外的空间)中为它寻找合适的空间存放,这种方式是我们程序员管理管理的,比如在c++中我们要用delete去释放这块空间,java因为已经给我们做好了相关的操作,就是垃圾回收器自己回收,所以不需要我们管理。堆与栈的区别还是很重要的,是基本的内存知识,也是笔试面试必考,楼主去学习下~
追问
public class Test1 {static int j=4;int i=3;public void output(){System.out.println("HEllow,world");System.out.println(i);}public static void main(String[] args) {Test1 T=new Test();T.output();}}
在new之前都是存放在栈里面 我可以这么理解吗 除了 这个static 静态就是一开始 就定义在堆里面 我们new 一个对象 T 之后 这个T就存放在堆里面 然后 T.output()就相当于 一个指针引用了这个在栈里面的类?
追答
java内存总体一共分为了 
4个部分(stack segment、heap segment、code segment、data segment)
当我们在程序中,申明一个局部变量的时候,此变量就存放在了 stack segment(栈)当中;
当new 一个对象的时候,此对象放在了heap segment(堆)当中;
而static 的变量或者字符串常量 则存在在 data segment(数据区)中;
那么类中方法的话,是存在在 code segment(代码区)中了。
最后那个理解很ok。
SEC_MOORE
2012-04-01 · TA获得超过613个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:233万
展开全部
首先,类是不存在的,就好像人一样,人存在吗?人只是一个概念,没有哪个个体自己就可以被称作“人”这个概念
然后,new了一个对象,就是有了一个实实在在的人,比如你,你就是一个“人”这个类下的一个对象,而这个对象会有一个名字,就是赋值号左边的名字,赋值号将它们连接在一起,也就是说你的名字和你这个人就联系在一起了
至于你说的它到底存在什么地方,这个在java中不重要,因为java很多时候并不直接操作对象的内存地址,java只是基于对象层面的,就好像我需要找到你只要知道你存在,并知道你的名字和联系方式就好了,不需要知道你的经纬度吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hibo2019
2012-04-01 · TA获得超过509个赞
知道小有建树答主
回答量:481
采纳率:0%
帮助的人:377万
展开全部
堆里。
栈存放局部变量
堆存放各种对象和静态变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0512556600
2012-04-01 · TA获得超过577个赞
知道小有建树答主
回答量:755
采纳率:0%
帮助的人:419万
展开全部
java API都不涉及内存操作的,java帮你已经做好了,你真的喜欢研究实例在内存的什么位置 ,真的要看C 或者C++
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杨杰email
2012-04-02
知道答主
回答量:10
采纳率:0%
帮助的人:4.2万
展开全部
堆和栈:
堆:存放对象及其属性,无序
栈:存放对象引用,有序,遵循后进先出原则
jvm开辟一个内存空间 用于存放堆和栈
例如 StringBuffer str = new StringBuffer("123123");
str 对象的引用 存放在栈中 指向——》堆中的对象123123
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式