- 博客(15)
- 收藏
- 关注
下载Project Euler题目
就要放寒假了,总要给自己找点事做,于是想到要将projecteuler题目下载到本地。我首先想到的是用wget的递归下载,发现projecteuler使用robot.txt阻止了wget下载。看来projecteuler早就想到要防止吾辈这样的小人,但是所谓小人难防,小人自有小人的方法。 我使用的方法就是通过自己编程的方法来实现wget递归下载的功能,当然就不用考虑robot.txt啦。代...
2008-12-10 16:00:46 173
一个简单例子:贫血模型or领域模型
最近taowen同学连续发起了两起关于贫血模型和领域模型的讨论,引起了大家的广泛热烈的讨论,但是讨论(或者说是争论)的结果到底怎样,我想值得商榷。问题是大家对贫血模型和领域模型都有自己的看法,如果没有对此达到概念上的共识,那么讨论的结果应该可想而知,讨论的收获也是有的,至少知道了分歧的存在。为了使问题具有确定性,我想从一个简单例子着手,用我对贫血模型和领域模型的概念来分别实现例子。至于我的理解对与...
2008-12-01 01:04:20 861
答复: 要领域模型干嘛?
robbin 写道这个东西和采用的技术和框架高度相关:1、如果你用的是Spring,没啥说的,必须贫血,你想充血也充不起来;2、如果你用的是RoR,也没啥说的,直接充血,你想贫血也未必贫得下来;3、JBoss Seam其实已经开始从贫血模型向充血模型过渡,我还是比较看好Seam的。如果脱离具体的场景谈抽象的领域模型,没太多可谈的,因为已经无所谓贫血不贫血的,你在抽象的设计阶段一定...
2008-11-28 01:28:16 549
从百度的一道笔试题说线程安全
合租的室友在帮他的一同学做百度笔试题,并拉上我和另一室友一起做。第一题是关于线程安全的: 现代的处理器提供了compare-and-swap原子操作:int compare_and_swap(int * pv, const int cv, const int nv);即比较*pv与cv,如果相等,则把*pv值替换为nv并返回*pv原值,否则返回*pv的值。请利用上述原子操作实现如下...
2008-11-24 10:56:59 212
使用泛型Entity在hibernate中的问题
在hibernate中,如果某个Entity的属性使用泛型,必须为其属性映射加上type属性。 public interface Entity<T> { T getId();}public class BaseEntity<T> implements Entity<T> { protected T id; public T getId() {...
2008-11-20 19:16:26 445
排列(递归与非递归)算法及接口设计
本文我将首先用递归和非递归算法实现对整数数组的全排列,然后通过提炼接口,将这种算法运用到实现对其它数据类型的全排列,对long数组,列表,字符串等。 下面代码是用来实现对整数数组的排列的算法,具体原理见这里。 public static List<int[]> perm(int[] a) { return perm(a, 0, a.length); } public s...
2008-11-06 12:17:14 161
用happen-before规则重新审视DCL
编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(Double Check Lock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线程程序的测试就是不必要的。传统上,对多线程程序的分析是通过分析操作之间可能的执行先后顺序,然而程序执行顺序十分复杂,它与硬件系统架构,编译器,缓存以及虚拟机的实现都有着很大的关系。仅仅为了分析多线程程...
2008-10-31 14:28:01 261
用Java自动检查文件的编码方式
大多数文本编辑器在打开文件时都能够自动检测文件的编码,那它是怎样做到的呢?我虽然没有实现过一个文本编辑器,但是可以猜测的是,它有一个默认的编码集合,然后尝试用每一个编码去解码打开的文件,如果能够解码则表示这就是文件的正确编码。有一些特殊情况,有些编码在文件开头有特殊的标记字节,因而可以很快检测,这里不考虑。现在的核心问题就是如何决定一个编码是否能够解码一个文件,在Java1.4中可以利用nio中的...
2008-10-19 11:41:27 336
javascript在IE和Firefox中兼容性问题
项目要兼容IE和firefox,让我总结JavaScript在IE和Firefox中的区别,在网上到处copy了一些,然后作了一些改动: -、元素查找问题1. document.all[name] (1)现有问题:Firefox不支持document.all[name] (2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。...
2008-10-06 20:42:23 119
一个正则表达式的测试工具
用Java写的一个正则表达式测试工具,对下载的一个工具做了改进。 写这个的初衷是因为项目中要为struts的html标签加上styleId属性,其属性值一般与property属性值相同。由于页面很多手工修改很可能会出差错工作量也很大,虽然这项工作不是由我来做,但是我建议可以用正则表达式替换来做,可以简单很多。写正则表达式的任何就落在我的头上了,这个正则表达式不会很简单,我需要能够快速的测试正则...
2008-10-06 20:37:05 132
Java HotSpot 性能引擎架构
原文:HotSpot Engine Architecture第一章:介绍和概述Java HotSpot虚拟机是Sun公司的Java平台一个高效的虚拟机实现。Java HotSpot技术提供Java标准平台的基础设施,提供对快速开发、部署关键业务的桌面和企业应用程序的解决方案。Java SE可应用在Solaris操作环境、Linux和Windows下,也可以应用在...
2008-07-16 13:54:34 344
自定义Netbeans5生成的build.xml
最近要做一个Swing的程序,要求运行在jdk1.4下,久闻Netbeans的guibuilder的大名,因此想用它做界面设计。从网上下了netbeans5.0的安装程序,之所以装5.0版本是因为它是能够运行在jdk1.4下的最高版本。果然如大家所说它的guibuilder做得相当出色,不过我认为netbeans的速度和编辑功能远不如eclipse,我是拿netbeans5.0和eclipse3....
2008-07-11 22:29:04 448
对Groovy的SimpleTemplateEngine的一点改进
Groovy的SimpleTemplateEngine使得我们很容易用Groovy作为一个模板语言,也可以用它来代替Velocity, Freemarker。SimpleTemplateEngine采用和JSP类似的语法,即中可以嵌入groovy表达式,中可以嵌入groovy代码,其它部分都是普通文本,在普通文本也可以使用${...},就像在双引号字符串中可以使用${...}一样。但我认为Simp...
2008-04-12 21:28:44 732
Ubuntu中不能使用SystemLookAndFeel的问题
环境:Ubuntu 7, Java 6在Ubuntu使用Java来编写Swing应用程序时一个比较大的问题就是不能使用SystemLookAndFeel。[code="java"]import javax.swing.*;public class DesktopApp { public static void main(String[] args) throws E...
2008-03-29 22:24:41 171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人