`
lifethinker
  • 浏览: 71202 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
就要放寒假了,总要给自己找点事做,于是想到要将projecteuler 题目下载到本地。我首先想到的是用wget的递归下载,发现projecteuler使用robot.txt阻止了wget下载。看来projecteuler早就想到要防止吾辈这样的小人,但是所谓小人难防,小人自有小人的方法。   我使用的方法就是通过自己编程的方法来实现wget递归下载的功能,当然就不用考虑robot.txt啦 。代码见下,主要是downPage方法,步骤是: 得到绝对URL,如果这个URL不属于projecteulr.net域或者已经下载了就直接返回,否则将这个URL添加到下载集合中。 如果这个URL是不是HT ...
最近taowen同学连续发起了两起关于贫血模型和领域模型的讨论,引起了大家的广泛热烈的讨论,但是讨论(或者说是争论)的结果到底怎样,我想值得商榷。问题是大家对贫血模型和领域模型都有自己的看法,如果没有对此达到概 ...
robbin 写道 这个东西和采用的技术和框架高度相关: 1、如果你用的是Spring,没啥说的,必须贫血,你想充血也充不起来; 2、如果你用的是RoR,也没啥说的,直接充血,你想贫血也未必贫得下来; 3、JBoss Seam其实已经开始从贫 ...
合租的室友在帮他的一同学做百度笔试题,并拉上我和另一室友一起做。第一题是关于线程安全的:   现代的处理器提供了compare-and-swap原子操作: int compare_and_swap(int * pv, const int cv, const int nv); 即比较*pv与cv,如果相等,则把*pv ...
在hibernate中,如果某个Entity的属性使用泛型,必须为其属性映射加上type属性。   public interface Entity<T> { T getId(); } public class BaseEntity<T> implements Entity<T> { protected T id; public T getId() { return id; } } public class Forum extends BaseEntity<Long> { // ... } 在泛型DAO经常会看到这样的代码。   ...
本文我将首先用递归和非递归算法实现对整数数组的全排列,然后通过提炼接口,将这种算法运用到实现对其它数据类型的全排列,对long数组,列表,字符串等。   下面代码是用来实现对整数数组的排列的算法,具体原理见这里 。 public static List<int[]> perm(int[] a) { return perm(a, 0, a.length); } public static List<int[]> perm(int[] a, int fromIndex, int toIndex) { List<int[]> result = new ...
编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(Double Check Lock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线程程序的测试就是不必要的。传统上,对多线程程序的分析是通过分析操作之间可能的执行先后顺序,然而程序执行顺序十分复杂,它与硬件系统架构,编译器,缓存以及虚拟机的实现都有着很大的关系。仅仅为了分析多线程程序就需要了解这么多底层知识确实不值得,况且当年选择学Java就是因为不用理会烦人的硬件和操作系统,这导致了许多Java程序员不愿也不能从理论上分析多线程程序的正确性。虽然99%的Java程序员都知道DC ...
大多数文本编辑器在打开文件时都能够自动检测文件的编码,那它是怎样做到的呢?我虽然没有实现过一个文本编辑器,但是可以猜测的是,它有一个默认的编码集合,然后尝试用每一个编码去解码打开的文件,如果能够解码则表示这就是文件的正确编码。有一些特殊情况,有些编码在文件开头有特殊的标记字节,因而可以很快检测,这里不考虑。现在的核心问题就是如何决定一个编码是否能够解码一个文件,在Java1.4中可以利用nio中的Charset来解决这个问题。   /** * 测试输入字节流是否能够使用指定的字符集解码。 */ public static boolean canDecode(InputStream i ...
项目要兼容IE和firefox,让我总结JavaScript在IE和Firefox中的区别,在网上到处copy了一些,然后作了一些改动:   -、元素查找问题 1. document.all[name]   (1)现有问题:Firefox不支持document.all[name]   (2)解决方法:使用getElementsByName(name),g ...
用Java写的一个正则表达式测试工具,对下载的一个工具做了改进。   写这个的初衷是因为项目中要为struts的html标签加上styleId属性,其属性值一般与property属性值相同。由于页面很多手工修改很可能会出差错工作量也很大,虽然 ...
用java实现了算法导论中从第1章到26章的算法。
原文:HotSpot Engine Architecture 第一章:介绍和概述 Java HotSpot虚拟机是Sun公司的Java平台一个高效的虚拟机实现。Java HotSpot技术提供Java标准平台的基础设施,提供对快速开发、部署关键业务的桌面和企业应用程序的解决方案。Java SE可应用在Solaris操作环境、Linux和Windows下,也可以应用在其它通过Java技术认证的平台下。 Java平台已经成为软件开发和部署的主流工具。拥有成千上万的开发者和用户,java平台在如下许多方面增长迅速:从信用卡到无线设备,从桌面机到 ...
最近要做一个Swing的程序,要求运行在jdk1.4下,久闻Netbeans的guibuilder的大名,因此想用它做界面设计。从网上下了netbeans5.0的安装程序,之所以装5.0版本是因为它是能够运行在jdk1.4下的最高版本。果然如大家所说它的guibuilder做得 ...
Groovy的SimpleTemplateEngine使得我们很容易用Groovy作为一个模板语言,也可以用它来代替Velocity, Freemarker。SimpleTemplateEngine采用和JSP类似的语法,即<%= %>中可以嵌入groovy表达式,<% %>中可以嵌入groovy代码,其它部分都是普通文本,在普通文本也可以使用${...},就像在双引号字符串中可以使用${...}一样。但我认为SimpleTemplateEngine有一些限制,来看下面的例子: <%def list = [ "item1", "it ...
环境:Ubuntu 7, Java 6 在Ubuntu使用Java来编写Swing应用程序时一个比较大的问题就是不能使用SystemLookAndFeel。 import javax.swing.*; public class DesktopApp { public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); JFrame frame = new JFrame(" ...
Global site tag (gtag.js) - Google Analytics