
Memory
YukiCEO
成功并非一夜之间能产生的
同样,失败也是!
展开
-
//用JAVA实现一个栈操作
.原创 2009-06-10 12:57:00 · 535 阅读 · 0 评论 -
JAVA中垃圾收集器相对于以前的语言有什么优势?
以前的语言要求程序员显式地分配内存和释放内存,这样做虽然灵活,但很容易会造成“内存泄漏”。JAVA是利用垃圾收集器来管理内存的,当一个对象不再使用时,就达到可回收的标准,但不代表垃圾收集器会立即收走该部分内存,垃圾收集器是一条优先级较低的线程,由于引入了垃圾收集机制,使JAVA程序员从手工收集内存的繁重工作中解脱出来,专心关注自已的业务逻辑。...原创 2009-06-10 12:55:00 · 685 阅读 · 0 评论 -
内存泄漏是由什么引起的?都有哪些情况?
内存泄漏是由于分配的内存没有释放,就会造成内存泄漏。 主要的情况有: 1:全局的集合:对象加入到集合后,用完了没有在集合中删除;(用完清除,周期性地清除,反向链接计算清除) 2:缓存:没有对缓存中的结果进行移除;(移除缓存中最久的结果) 3:ClassLoader: ClassLoader 本身的复杂性以及它可能关联到其他一些对象或静态的方法。原创 2009-06-10 12:55:00 · 779 阅读 · 0 评论 -
什么是JAVA的内存泄漏?
1:对象是可达的;2:对象对程序是无用的。此时内存就泄漏了。原创 2009-06-10 12:56:00 · 487 阅读 · 0 评论 -
JAVA是如何管理内存的?
JAVA的内存管理就是对象的分配的释放的问题,所有的对象都在堆中分配内存空间,对象的释放是由GC来决定的执行的,GC为了能够正确地释放对象,必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等,GC都需要监控,监控对象状态是为了能够更准确,及时地释放对象,而释放对象的根本原则就是该对象不再被引用。原创 2009-06-10 12:54:00 · 490 阅读 · 0 评论 -
说明 Heap 与 Stack 的区别?
Heap 是堆,Stack 是栈,堆和栈都是程序用来在内存中存放数据的地方,程序员不能直接操作堆栈。 JAVA的堆是一个运行时数据区,类的对象从堆中分配空间,堆是由垃圾回收机制来管理的,堆的优势是可以动态的分配大小,生存期也不用事先告诉编译器,因为它是动态分配内存的,垃圾收集器会自动收走不再使用的数据,缺点是由于动太分配内存,存储速度比栈要慢; 栈主要存放一些基本数据类型变量和对象的句柄,栈的原创 2009-06-10 12:56:00 · 549 阅读 · 0 评论 -
JAVA有指针吗?
JAVA是有指针的。事实上JAVA每一个对象(除了基本数据类型以外)都是一个指针,在JAVA当中称之为“句柄”。它们的使用受到了严格的限制和规范。可以把它们想像成为一种“安全指针”。原创 2009-06-10 12:55:00 · 2542 阅读 · 2 评论