本站首页 返回顶部 关于博主

让程序只能加载一次

很多时候,我们只允许某个程序加载一次。也就是说,不允许这个程序的两个进程同时运行。 要实现这个功能中,该怎么做呢?本文将讨论Java中是如何实现的。 我找到了如下几个备选方案。
 
1.在临时文件中标记程序的状态。
此方法提出者的观点是这样的:当程序运行时,在某个文件临时文件中写一个标记1;在程序退出时把这个标记改成0。在程序加载时,检查这个文件中的标记值 是什么,如果是0,则意味这系统中没有程序的运行实例。此时可以继运行。如果是1,那就意味着程序已经加载了一个实例,这时就可以直接退出了。 理论上似乎是可以的,但现实往往没那么完美。假设,当程序运行时,临时文件中的标记已经改为1了,这个时候程序异常退出,或者此时强行关掉Java虚拟机呢?程序显然会终止运行,但是临时文件中的标记却停留在了1,而不是期望中的0。当再次加载程序时,显然它会错误地认为已经有一个实例在运行了。 所以,这条路走不通。 阅读全文 »

The SWT FAQ中文(4)

英文原文:http://www.eclipse.org/swt/faq.php  版本:Version 1.0

The SWT FAQ

7.问: 怎样为我的平台编译Eclipse执行文件?
答:Eclipse是被二进制可执行文件加载。执行二进制文件后,它弹出进度画面,加载虚拟机。对于不同的窗口系统、操作系统和硬件构架,我们必须为之编译不同的二进制文件。要么从CVS代码库编译,要么从下载的eclipse SDK编译。 阅读全文 »

用AutoIt自动安装和卸载程序

  由于代码每天都会更新,编译组每天晚上会针对当天的代码编译出一个新的Build(除非编译不通过),而测试组第二天早上都会安装前一天晚上编译出的Build进行测试。
  一直以为测试组每天都手动地重复着这些枯燥无味的卸载、安装工作,直到同组的一个同事告诉我,测试组每天的卸载和安装工作都是通过脚本自动实现的,无需人为干预。 阅读全文 »

笔记:自己做WordPress语言包

  利用Wordpress(v2.9.1)构建了Bus Line之后,从官方网站下载了一个语言包zh_CN.mo,上传到目录/wp-content/languages中,然后修改wp-config.php文件,把define (‘WPLANG’, ”);修改成define (‘WPLANG’, ‘zh_CN’);阅读全文 »

数独的解决方案

  坐在可颂坊休息的时候,她问我有没有做过数独,我说做过。
  她竟然掏出一本书,说感兴趣的话做做看。挑了一个,做了十来分钟,无果。算了,不做了,本来就是通过穷尽的方式来达到解答的目的,既然能用机器去做,我实在是不愿动脑子。于是,向她许诺回去后写个可以解决数独问题的程序。 阅读全文 »