- 浏览: 54610 次
- 性别:
- 来自: 上海
文章列表
有3个人去投宿,一晚30元。 三个人每人掏了10元凑够30元交给了老板。后来老板说今天优惠只要25元就够了,拿出5元命令服务生退还给他们, 服务生偷偷藏起了2元, 然后,把剩下的3元钱分给了那三个人,每人分到1元。这样,一开始每人掏了10元,现在又退回1元,也就是10-1=9,每人只花了9元钱。3个人每人9元,3 X 9 = 27 元 + 服务生藏起的2元=29元,还有一元钱去了那里???
- 2009-02-07 10:36
- 浏览 1241
- 评论(2)
最近开发程序时发现了一个循环引用的bug,想了解下到底是否需要避免对象的循环引用?(完整代码见附件,eclipse编写)
由单例模式说起
首先是懒汉法(用到时再创建对象)代码如下
public class SingletonLazy1 {
private static SingletonLazy1 m_instance = null;
private SingletonLazy2 s2 = null;
public static synchronized SingletonLazy1 getInstance(){
if(m_instance == null){
m_in ...
下面是html代码,包括了css和js及测试的html标签,在ie6和ff3下测试通过,附详细注释以及源文件下载
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE> New Do ...
算法描述
引用内容:
根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064 ...
- 2008-10-16 16:11
- 浏览 1289
- 评论(0)
问题
对于java应用中的一些配置文件每次都需要重新启动服务才能重新加载,非常麻烦,故做了一个动态加载资源的程序。
可选方案
使用监听线程监听文件变化,当文件变化时通知程序重新加载配置文件,用到了事件委托模型和观察者模式类似,如下
公共部分
1.Listener接口
package com.hrtc.monitor;
/**
* 监听器接口
* Jul 30, 2008 3:02:28 PM
*/
public interface IMonitorListener {
public void update(MonitorEvent event);
}
2.Event监听事件顶层 ...
- 2008-07-30 17:10
- 浏览 3037
- 评论(2)
目标:
当class重新编译后无需重启JVM就能加载更新过的类
术语:
目标类:指需要动态更新的类
对于目标类的限制:
构造函数不能有参数
必须实现一个接口
只对实例方法有效(因为接口中不能有静态方法)
没有考虑全局变量(可以在重新加载时复制原对象的成员,不过目前没实现)
测试代码:
ClassManager manager = new ClassManager();
String className = "com.hrtc.test.Test";//可换成符合上述约束的类
ITest t = (ITest) manager.getInstanceProxy(cla ...
- 2008-07-14 11:14
- 浏览 10781
- 评论(3)
原理及特点
特点:大小仅9k,没有用额外包,jdk1.4环境开发通用性强,配置简单
原理:利用filter拦截请求的jsp,如已生成静态页面且没到刷新时间则重定向静态页面,否则生成静态页面。
* 生成策略:当前时间与上次修改时间的差值大于间隔时间则重新生成 * 定向策略:如果是拦截的页面并且已经生成静态页面则重定向到静态页面 * 静态页面文件名生成策略:源文件名+参数的md5码
配置方法
1.引入所需包(见附件dynamictostatic_0.8.jar)
2.web.xml里配置filter,如下
<?xml version="1.0" e ...
- 2008-06-25 18:27
- 浏览 3093
- 评论(6)
基础 L]d@D0.Z
1.java2核心卷抽 L\NZDkd
X5Y
`(/V
这本看完,就上手java了
2.java语言规范 4q13xX
这本完全讲java语言规范,可谓内功心法,进国际性外企必看(指没工作经验的人),外语加这个就ok了。 b$O_L4CP
(YHvGGr
面向对象 zN+*R;Ds
1.java与模式 .3<IOtD=
看完这本你就正真了解了面向对象,但有可能会看不懂,看不懂是因为时机未到,别人告诉我的,不过我觉得蛮有道理的。 `%M-7n9Y
2.gof 设计模式 vM7v�f6
这 ...
- 2008-06-04 17:07
- 浏览 4250
- 评论(2)
最近搭建了一个websphere5.1+spring2.0+struts2+hibernate3的框架,因为jdk1.4加websphere5.1环境中间碰到一些问题,网上的解决方案也不全,今天搞了一整天总算搞定了,现与大家分享下。
开发工具myeclipse6,先在tomcat4 jdk4上测试,然后部署到websphere5.1上测试通过。
步骤:
1.设置编译环境为jdk1.4
2.把自己代码中所有1.5的特性都改成1.4
3.web.xml改成servlet2.3规范的
4.lib包不要配缺了就行
spring和hibernate的包都是jdk1.4编译的,不需要修改,其中cglib用的 ...
- 2008-05-25 16:43
- 浏览 4594
- 评论(6)
3.10 创建应用程序的Web站点
既然你已经经过了构建,测试,部署Proficio的过程,是时候让你看一下怎样为应用程序创建web站点。对于像Proficio的应用程序来说,建议在顶层目录创建源代码目录来存储资源以此生成web站点,这是默认的情况。如果你看一下,你将会发现如下的结构:
proficio
----proficio-api
----proficio-cli
----proficio-core
----proficio-model
----proficio-stores
--------proficio-store-me ...
- 2008-04-10 18:55
- 浏览 2128
- 评论(0)
第三章 用Maven创建应用程序
3.1 介绍
现在你将钻研的更深一些,在这部分你将学习通过一个管理FAQ应用程序的真实例子学习Maven的最佳实践和高级应用。这个应用程序名字叫Proficio,该名字来自于拉丁语帮助的意思。
3.2 建立应用程序目录结构
Proficio的模块组成
Proficio API
Proficio的应用程序接口
Proficio CLI
提供命令行接口
Proficio Core
接口实现
Proficio Mode ...
- 2008-04-10 18:50
- 浏览 2990
- 评论(1)
主要是翻译一下Better Builds with Maven这本书,尽量精简,做个笔记而已,初学maven有不对的地方请指正。所以也不敢说有什么体会,看一章写一章。
第一章 Maven介绍
Maven是什么
Maven包括一系列构建标准:一个产品库模型,一个管理和描述项目的软件引擎。定义了构建、测试、部署项目产品的标准生命周期。提供了一个简单实用符合Maven标准的通用构建逻辑。是一个在Apache软件基金会下的开源项目,是一个声明式项目管理工具(通过项目对象模型Project Object Model),用来简化软件项目管理过程的框架。
Maven好处
一致(Coherence)
...
- 2008-04-02 20:54
- 浏览 4146
- 评论(3)
看完《征服Ajax - Web20开发技术详解试读版》感觉这本书全是精华,最后的例子也作为我看完此2章的学习总结练习
1.frame操作
1)父框架到子框架的引用
window.frames["frameName"].frames["frameName2"];
2)子框架到父框架的引用
window.parent
3)兄弟框架间的引用
<frameset rows="50%,50%">
<frame src="1.html" name="frame1" />
< ...
看了《征服Ajax - Web20开发技术详解试读版》第六章 发现写得很好,总结如下,很多是原书中的也增加了自己理解的部分
1.创建数组快捷方式
例子:
<script language="JavaScript" type="text/javascript">
<!--
var arr1 = new Array(1,2);//方式一
var arr2 = [1,2];//方式二
alert(arr1);
alert(arr2);
-->
</script>
以上两种创建数组的效果相同
2.使用方括号([ ...
//===== Task.java =====import java.util.TimerTask;public class Task extends TimerTask ...{ private
- 2008-02-23 19:52
- 浏览 3981
- 评论(0)