在一个图形化的操作系统中开发程序,都要调用系统中的资源,如图片.字体.颜色等.通常这些资源都是有限的,程序员务必非常小心的使用这些资源:当不再使用它们时,就请尽快释放,不然操作系统迟早会油尽灯枯,不得不重新启动,更严重的会导致系统崩溃.
坏消息是swt并没采用jvm的垃圾回收机制去处理操作系统的资源回收问题,一个关键的因素是因为jvm的垃圾回收机制是不可控的,也就是说程序员不能知道,也不可能做到在某一时刻让jvm回收资源!这对系统资源的处理是致命的,试想你的程序希望在一个循环语句中去查看数万张图片,常规的处理方式是每次调入一张,查看,然后就立即释放该图片资源,而后在循环调入下一张图片,这对操作系统而言,任何时刻程序占用的仅仅是一张图片的资源.但如果这个过程完全交给jvm去处理,也许会是在循环语句结束后,jvm才会去释放图片资源,其结果可能是你的程序还没有运行结束,操作系统已经宕掉. 【程序编程相关:Log4j类图】
swt是用java开发的,java语言本身的一大优势就是jvm的"垃圾回收机制",程序员通常不用理会变量的释放,内存的回收等问题.那么对swt而言,系统资源的操作是不是也是如此?答案是一个坏消息,一个好消息. 【推荐阅读:如何使用PHP中的字符串函数】
但下面的好消息也许会让这个坏消息变得无关紧要.对于swt,只需了解两条简单的"黄金"法则就可以放心的使用系统资源!之所以称为黄金法则,一是因为少,只有两条,二是因为它们出奇的简单.... 下一页