Java中内存的问题 15

学java的时候经常会提到内存的问题,总是会搞的我一头雾水(我是学java的,学过c,但是只是对c有一定的了解)怎么补充下关于内存的知识?学汇编行吗?... 学java的时候经常会提到内存的问题,总是会搞的我一头雾水 (我是学java的,学过c,但是只是对c有一定的了解)
怎么补充下 关于内存的知识? 学汇编行吗?
展开
 我来答
青颍之魂
2013-10-18 · TA获得超过129个赞
知道答主
回答量:97
采纳率:100%
帮助的人:46万
展开全部
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。

Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。

栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)和对象句柄

至于内存回收,java是自动管理的一般不需要手动干预,但是还是要注意内存泄露的问题
杰克萧
2013-10-18 · TA获得超过364个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:445万
展开全部
java提到的内存通常是指Java Heap和Stack;和C/C++中的内存的概念完全不一样;想补充的话,多看看JVM的文档,比如GC垃圾回收等概念。汇编如果用不到的话,没必要学;如果你个人喜好,学习汇编长远来看当然会很有好处。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alexxiyang
2013-10-18 · TA获得超过252个赞
知道答主
回答量:119
采纳率:0%
帮助的人:62.2万
展开全部
学java不用考虑太多内存的问题,不用想太多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式