日期:2014-05-20  浏览次数:20699 次

为了帮助J2SE学习过程中的理解,我想找些稍微涉及底层的阅读材料,还望前辈们推荐
我非工科的学生,会一点点的PHP,出于兴趣月初开始看马士兵老师的J2SE视频教程,我相信马老师已经讲的很好了,但不少问题我感觉还是知其然不知其所以然:

譬如我知道new出来的东西都要分配在堆上,但为什么呢?

又譬如我觉得比较头疼的一个问题就是各种数据类型之间的转换,有时候必须需要加上强制转换符,不然就要出错,为什么非得转换呢?

因此我想找点从java出发介绍一些计算机底层实现的阅读材料,譬如《Java Programming: An Introduction to Computer Science》一类的

p.s. 我之前听别人推荐,跑去看Computer Organization and Design: The Hardware/Software Interface, Third Edition,结果看得云里雾里的,特别是硬件/电路部分,完全看不懂,因此我想找那种“深入但不要太深入...能站在java的角度将java语言中的高层实现的底层机理较为通俗易懂的解释出来”的材料...贪心了些...-_-!!

谢谢前辈们了!

------解决方案--------------------
譬如我知道new出来的东西都要分配在堆上,但为什么呢? 

堆不同于栈 是可以动态分配内存空间的 运行期的对象创建显然是动态的 所以只能分配在堆上

又譬如我觉得比较头疼的一个问题就是各种数据类型之间的转换,有时候必须需要加上强制转换符,不然就要出错,为什么非得转换呢? 
函数的参数 操作符的操作数 都对数据类型有要求 不符合的话就无法进行下一步的操作
------解决方案--------------------
楼主凌晨发帖学习的精神深深地打动了我
初学JAVA 就能想这些问题 我觉得你的学习能力一定很好
坚持下去就可以了
我老师说过 搞 计算机 是最不要求智商的

------解决方案--------------------
你的思维很清晰,感觉也对语言很感兴趣。 相信你会学好
感觉你还是先过一遍《JAVA2核心技术》 
先整体有个大概了解,再慢慢深入点 这样更有利于整体的了解
也容易形成自己对编程思想的感觉和理解
祝你成功!
------解决方案--------------------
不知道楼主对计算机哪方面更感兴趣,硬件还是软件?作为一个刚刚接触Java语言的人,很多东西你肯定听不明白,有些东西你不要急于弄的一清二楚,和它打交道多了,你自然而然的就会明白它的含义,加油吧,贵在坚持!