隔叶黄莺 The Blog of Unmi

〖隔叶黄莺三四声,挂壁飞瀑千万尘。若是人间无净土,此处为何妙语真! 隔叶黄莺四字,本非取自此句,而有寄寓他意,因见妙语,亦与予心合!〗

BlogJava 首页 新随笔 联系 聚合 管理
  209 Posts :: 84 Stories :: 392 Comments :: 0 Trackbacks

03 2008 档案

     摘要: 小时候,大人们的谆谆教诲:做人要诚实。并真以此为做人原则。长大后才知道何谓社会。譬如530,再如艳照门,风声乍起之时,有人辟谣;直东窗事发后,道貌岸然者有之、恬不知耻者亦有之。原本成功就不属于规矩之人。纵观,无玄武门之血腥,何来一代宗皇;老毛若不有理而造反,一味守规矩,或为一介书匠耳。雅各一碗红豆汤便谋得以扫的长子权,再行骗去亚伯拉罕的祝福,并顺理成章让耶和华与他同在,可见上帝之“贤明”?。高等教育中有一句,顺利的是骗子,倒霉的是傻子,我是?不还有企业家的原罪吗?有时竟被社会所放任?

1. 前面讲的自定义类型转换器是基于 OGNL 的 DefaultTypeConverter 类并实现 convertValue() 方法,两个转换方向的逻辑都写在这一个方法中。而 Struts 2 为我们提供了一个 DefaultTypeConverter 的抽象子类 StrutsTypeConverter 来继承,并实现其中两个抽象方法 convertFromString() 和 convertToString(),这要简单易懂。对比 Struts 1 的转换器是要实现 org.ap  阅读全文
posted @ 2008-03-30 03:52 隔叶黄莺 阅读(1316) | 评论 (3)  编辑

     摘要: 四. 为 CronTrigger 使用起迄日期

Cron 表达式是用来决定一个 Trigger 被触发执行一个 Job 的日期和次数。当你创建一个 CronTrigger 实例,假如没为它指定一个开始时间,这个 Trigger 当然就会假定是在依赖于 Cron 表达式尽早的被触发。例如,如果你用这个表达式

0 * 14-20 * * ?

这个 Trigger 会在每天的从下午 2 点到下午的 7:59 间的每分钟触发一次。一旦你运行了这个表达式的 CronTrigger,假如当前是下午 2 点后(不能超过 7:59 PM--译者注),它将会立即触发。它会在每天无限期的被触发。

另一方面,倘若你希望这个计划直到下一天才开始,并且只执行两天,你就可以用 CronTrigger 的 setStartTime() 和 setEndTime() 方法来形成一个 "定时箱" 来触发。代码 5.2 描述了限定 CronTrigger 仅触发两天的例子。  阅读全文
posted @ 2008-03-29 11:19 隔叶黄莺 阅读(1080) | 评论 (7)  编辑

     摘要: 多线程下载由来已久,如 FlashGet、NetAnts 等工具,它们都是依懒于 HTTP 协议的支持,首先能读取出请求内容 (即欲下载的文件) 的大小,划分出若干区块,把区块分段分发给每个线程去下载,线程从本段起始处下载数据及至段尾,多个线程下载的内容最终会写入到同一个文件中。

只研究有用的,工作中的需求:要把多个任务分派给多个线程去执行,这其中就会有一个任务列表指派到线程的策略思考:已知:1. 一个待执行的任务列表,2. 指定要启动的线程数;问题是:每个线程实际要执行哪些任务。

策略是:任务列表连续按线程数分段,先保证每线程平均能分配到的任务数,余下的任务从前至后依次附加到线程中--只是数量上,实际每个线程执行的任务都还是连续的。如果出现那种僧多(线程) 粥(任务) 少的情况,实际启动的线程数就等于任务数,一挑一。这里只实现了每个线程各扫自家门前雪,动作快的完成后眼见别的线程再累都是爱莫能助。

实现及演示代码如下:由三个类实现,写在了一个 java 文件中:TaskDistributor 为任务分发器,Task 为待执行的任务,  阅读全文
posted @ 2008-03-26 00:27 隔叶黄莺 阅读(939) | 评论 (3)  编辑

     摘要: 今儿,想起来昨儿,解决的一问题,贴出来大家学习下,由于工作需要,学习,哈哈~!

手头的一个任务,是个java的SWT做的桌面应用程序,有一需求是,程序只能启动一个实例,二次启动会提示启动失败!网上转了一大圈几天也没找到比较理想的解决方法,在CSND等专业程序员网站上查找过,也没有找到!我正要放弃的时候,哈哈,被我找到了!

找了一写方案,总结起来就是,系统单一实例,就是查看共用资源,如果被占用,说明已经启动!有人说用单例模式,那是没有作用的!  阅读全文
posted @ 2008-03-24 19:54 隔叶黄莺 阅读(154) | 评论 (0)  编辑

     摘要: 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。

目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程序而言,这些还远远不够。

与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很少,许多编程需求需要我们自己去实现,例如Javascript没有哈西表Hashtable,这样的话在处理键值方面就很不方便。

本文讲述自定 JS 对象的创建及应用,您可以藉此创建自己的 JS 对象库,像 Prototype、JQuery、Ext 等等著名的 JS 库那样。  阅读全文
posted @ 2008-03-24 01:34 隔叶黄莺 阅读(159) | 评论 (0)  编辑

     摘要: 我们有些程序会想要托盘处显示程序图标,最小化到系统栏;关闭按钮不关闭程序,也是最小化到系统栏;点击托盘图标激活窗口,通过托盘图标的弹出菜单来退出程序。

本段代码就是要完成这样的功能,是 SWT 来实现的。

* SWT 3.0 开始引入了 Tray,可以在系统栏放置你的程序图标了
* 本程序实现的功能有四:
* 1. 点击窗口的最小化或关闭按钮都是隐藏窗口--任务栏里不显示,不退出程序
* 2. 窗口隐藏时,任务栏无图标,系统栏有图标;窗口处于显示状态时则恰好相反
* 3. 窗口隐藏时可通过单击系统栏图标或点击系统栏的 "显示窗口" 菜单显示窗口
* 4. 程序只能通过点击系统栏的 "退出程序" 菜单项退出,窗口的 X 按钮无效  阅读全文
posted @ 2008-03-23 16:05 隔叶黄莺 阅读(1081) | 评论 (3)  编辑

     摘要: 之前整一星期忙得不可开交,关于技术已无暇顾及,这个星期总算有朝向正常化的迹象了。回到网络上多紧跟着技术变化的步伐,拣自认为好的东西摘记下来。

ZeroTurnaround的JSPWeaver是一个实时JSP解释器,它旨在消除因为服务器从JSP标记中创建和编译后台servlet而造成的“一回生(译者注:即第一个访问Web应用的JSP页面的人,响应时间会比别人长)”。

这个产品的配置很简洁。把jspweaver.jar放到你的Web应用的\WEB-INF\lib目录下,在web.xml文件中添加几行基本的配置信息,表明将使用这个解释器来处理*.jsp这样的URL:   阅读全文
posted @ 2008-03-11 00:23 隔叶黄莺 阅读(168) | 评论 (0)  编辑