A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 神马 中级黑马   /  2014-5-8 15:14  /  805 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 神马 于 2014-5-8 15:15 编辑

先是我对于JAVA的栈和堆有一些疑问,开始在网上查阅一些资料,这一查,竟然发现很多以前看到的了解到的东西都是错误的。比如栈的数据是可以共享的之类。


介绍一篇博文从“关于Java堆与栈的思考”一帖看错误信息的传播。帖子的作者比较反感转载,我也没征得他的同意,大家点链接去看吧,顺便给我回个帖就行了。链接:http://zangxt.iteye.com/blog/440330#comments



我觉得关于底层的一些知识,是需要了解深层的JVM原理以及JAVA编译原理的情况下才能有结构化的了解。但是关于一些基础的原理性的东西,不理解心中始终有个疙瘩。现在居然发现,一些错误的知识却像真理一样广泛传播,一时竟有些不知道该相信谁的感觉,不过,即使如此,这些错误的知识却不至于造成什么大的错误,照样编程。这也算不幸中的万幸了。另外的一点感想是,要好好锻炼一下英文了,英文原版书的可信度还是比较高的。



评分

参与人数 1黑马币 +2 收起 理由
╰つ + 2 山寨

查看全部评分

2 个回复

倒序浏览
Java没有指针,只有引用
你不可能操作到内存,
局部变量是存在栈中的,一个方法对应一个局部变量栈
而new的是存在堆中,Java会自动管理,所以Java程序员根本不用管变量的释放
回复 使用道具 举报
奇迹 发表于 2014-5-9 02:37
Java没有指针,只有引用
你不可能操作到内存,
局部变量是存在栈中的,一个方法对应一个局部变量栈

恩,JAVA把内存跟寄存器都用栈、堆这样的概念封装起来了,限制了灵活性的同时提高了安全性和易用性。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马