当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 垃圾收集解决所有的内存问题 对于java程序员而言,垃圾收集功能是一个非常大的帮助,同时也是使用java语言的一个非常大的优势。
 

 

 ·oracle数据库几种关闭方式    »显示摘要«
    摘要:1、shutdown normal 正常方式关闭数据库。 2、shutdown immediate 立即方式关闭数据库。 在svrmgrl中执行shutdown immediate,数据库并不立即关闭, 而是在oracle执行某些清除工作后才关闭(终止会话、释放会话资源), 当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 3、shutdown......
 ·一些有趣的unix csh/sh命令    »显示摘要«
    摘要:一些有趣的unix csh/sh命令 有人收集的有些版本的unix或linux的上敲命令的异常返回。aix和unixware的返回和bsd不太一样,所以看不到了。 $ \(-(-: command not found. $ rm godrm: god nonexistent $ ar t godar: god does not exist $ ar r godar: creating god $ ......


破除java神话(一) 垃圾收集解决所有的内存问题
垃圾收集解决所有的内存问题 对于java程序员而言,垃圾收集功能是一个非常大的帮助,同时也是使用java语言的一个非常大的优势. 然而,实际情况应该是不能因为垃圾收集可以清除无用的内存就不去考虑内存问题.这里要指明的是, 如果忽略这个问题,那么就会导致问题.首先,在不同的jvm上垃圾收集算法是不同的,因此,如果你想你的程序能够很好的运行在不同的jvm上,那么就不能依赖垃圾收集的特定行为.垃圾收集是一个非常活跃的研究问题,更好.更快并且更精确的收集器总在实现中.然而很多现代的垃圾收集器都有着同样的问题.其中一个是当他们运行时并非总是释放所有那些可以被收集的对象. 分析表明java编程中大多对象的生存期是短暂的,因此,对于需要提高性能的收集器而言,他们会减少检查那些具有较长生命的对象的频度,这个是依据大多对象具有较短的生存期,而那些生存期较长的对象往往会被继续引用,因此,没有必要在每次检查时都去检查这样的对象是否可以被回收.要释放特定的对象的内存可能需要多次调用垃圾收集.你可以通过调用system.gc方法建议(注意是建议)垃圾收集器运行.请求这个方法的结果通常导致垃圾收集器进行一次完整的收集.通常这个比vm调用垃圾收集要更彻底与完全,也会尽可能快的完成.如果程序员显式的调用system.gc,那么推论是有更多的时间做更多的工作(请注意是有更多的事情做更多的事情,这意味着将进行大量的检查,还记得刚才的有关对长短生命期对象的检查的频度的变化吗?而不是真正彻底的清除).在任何一种情况下(显式调用垃圾收集与vm调用垃圾收集)都不要假设所有可以被收集的对象会真正的被收集.显式的调用system.gc有更大的机会完成彻底的收集,但不是保证会完成.另一个程序员会遇到的麻烦是他们往往保持对那些不再需要的对象的引用.这将阻止垃圾收集器释放该对象.这种情况在你自己管理列表的时候会发生.
...   下一页
 ·c#-对称加密的一个例子    »显示摘要«
    摘要:这个小程序,算不上什么.为了节省时间.请看代码! using system;using system.drawing;using system.collections;using system.componentmodel;using system.windows.forms;using system.data;using system.security.cryptography;using sy......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE