转眼作程序员已经四年了,自己也算是这一行的老人了。回头看看,自己做过的东西不算少,从应用程序到内核驱动,从普通程序到Web应用,从Windows到Linux。市面上流行的开发工具语言也都用过,VC,V
转眼作程序员已经四年了,自己也算是这一行的老人了。回头看看,自己做过的东西不算少,从应用程序到内核驱动,从普通程序到Web应用,从Windows到Linux。市面上流行的开发工具语言也都用过,VC,V
学习.NET的过程中,发现大多数的书都讲到了装箱(boxing)和拆箱(unboxing)的概念,至于为什么要理解装箱和拆箱?则总是一句话带过:优化程序的性能云云。至于为什么会对程序的性能产生影响,如
看过.NET基础的朋友可能对这个装箱和拆箱的概念并不陌生。首先,我们必须明确一点,在Java中,有两种截然不同的数据类型:值类型和引用类型。值类型的数据不是对象,因而所占的内存和资源都相对较少,但是不
我们平常写程序很少自己去写资源管理的,除非写非常大型的应用程序,或者大公司自己的sdk。看到过PGP源代码的一定知道,PGP的SDK就实现了自己的内存管理。自己管理内存烦恼实在多多,忘记释放了,释放了
大部分开发技术和环境都定义了自己的代码执行和资源所有的范围。操作系统是以进程为范围的,IIS, ASP,JSP是以一个虚拟目录(Virtual Directory)为范围的。而.NET的公共语言运行时
这篇文章接着上一次的来,继续讨论无用资源回收的其它一些话题。 l WeakReference(弱引用) 我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的。我们能不能
l Finalize 在上一篇文章中我分配使用资源一共五步,我们已经知道了GC是如何释放无用对象的内存了。但是它怎么实现第四步清空资源使用状态、释放利用到的一些非内存的系统资源呢?.N
这篇文章接着上一次的来,继续讨论无用资源回收的其它一些话题。 l WeakReference(弱引用) 我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的。我
l Finalize 在上一篇文章中我分配使用资源一共五步,我们已经知道了GC是如何释放无用对象的内存了。但是它怎么实现第四步清空资源使用状态、释放利用到的一些非内存的系统资源呢?