请给我解释下 栈与堆?它们在内存里氏怎么存放和调用的,最好用图来给我解释下,谢谢了!!! 还有一个问题,Java程序设计为什么要用分层,现在我们学分层,听得迷茫,有什么办法能学会? 还有工厂模式和单列模式使用它们的好处是什么?这一点也很迷茫,求方法!! 谢谢!!!
解决方案 »
- 空指针异常求解
- 恩 绝对菜鸟问题?
- ORA-03115: unsupported network datatype or representation
- 一道经典的面试题、寻求高手解答
- 转让培训机构内部视频培训录像(JAVA+Oracle)和相关书籍,要的进啊~~~
- Invalid path, \bin\javac.exe -classpath
- JCreator的一个问题
- 如何判断鼠标点击的坐标,如是否在(50,50)和(80,80)组成的矩形里。高分
- 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?
- 請問applet中如何改變字體?
- 实现接口时报错,请问为什么会报错。
- MyEclipse 6 java中文开发教程
java的堆是一个运行时数据区,类的对象在堆中分配空间,这些对象通过new运算符创建,它们不需要程序代码来显式的释放内存空间,堆是由java垃圾回收器负责管理的;
堆的优势在于可以动态的分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,java垃圾回收器会自动回收,不再使用数据,但缺点是由于要在运行时动态分配内存,存取速度较慢;
栈的优势在于存取速度比堆快,仅次于寄存器,栈数据可以共享,但缺点是存在栈中的数据大小与生存期必须是确定的,缺乏灵活性,栈主要存放一些基本数据类型变量和对象句柄。工厂模式::
http://blog.csdn.net/cjjky/article/details/7346893
单例模式:
http://blog.csdn.net/cjjky/article/details/7318506
分层是为了更加灵活,一方面系统能够分开维护,升级,修改;另一方面利于分工
工厂模式的好处是扩展性好,可以自由地添加新功能而无须较大的修改;单例模式主要是用来维护一个全局变量。