2014年1月14日

摘要: 上一篇博文中我自己试着用了下泛型类,昨天看java编程思想一书,发现里面有这么一段话:使用参数化方法而不是用参数化类的方便之处在于:你不必为需要应用的每种不同类型都使用一个参数去实例化这个类,并且你可以将其定义为静态的。当然,你不能总是选择使用参数化方法而不是参数化类,但是它应该成为首选。 这句话有三层意思: 1)参数化类每次实例化的时候都需要调入每种类型。 2)参数化方法可以定义成静态的。作为一个初学者我是这么理解的,能被参数化的方法必定是getXXX之类的这种,而且在调用方法的时候会传参进来,所以不会对类中的域产生影响,所以可以定义为静态的,方便调用。 3)参数化方法虽然是首选... 阅读全文
posted @ 2014-01-14 09:51 Raining Days 阅读(937) 评论(0) 推荐(0) 编辑

2014年1月10日

摘要: 如果有多个类,而且他们其中有一些方法是相同的,我是选择在每个类中都把这些方法实现一遍呢,还是选择泛型。我今天自己花了一点时间看了看泛型,实践了一下。Holder.javapackage regexp;import java.util.Collection;import java.util.Iterator;import java.util.Set;public class Holder { private T a; public Holder(T a) { this.a = a;} public void set(T a) { this.a = a;} ... 阅读全文
posted @ 2014-01-10 13:55 Raining Days 阅读(211) 评论(0) 推荐(0) 编辑

2014年1月8日

摘要: HashMap和TreeMap是Map接口的两种实现,ArrayDeque和LinkedList是Queue接口的两种实现方式。下面的代码是我今天学习这四个数据结构之后写的。还是不熟悉,TreeMap中的其余构造方法我还没有实现,真搞不懂同样的数据结构用java却写的这么麻烦。。package regexp;import java.util.Collection;import java.util.Comparator;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedList;import j.. 阅读全文
posted @ 2014-01-08 17:29 Raining Days 阅读(278) 评论(0) 推荐(0) 编辑

2014年1月3日

摘要: Tuple 是不可变的 list。一旦创建了一个 tuple,就不可以改变它。这个有点像C++中的const修饰的变量。下面这段话摘自Dive Into Python:Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。Tuples 可以在 dictionary 中 阅读全文
posted @ 2014-01-03 16:19 Raining Days 阅读(182) 评论(0) 推荐(0) 编辑
摘要: List的定义:li = ["one" , "two" , "three" , "four"]List是一个有序的集合,这点不同于Dictionary(Dictionary是无序的)。(1)索引和切片索引有正负之分,正索引下标从0开始,负索引下标从-1开始。比如:>>> li[0]'one'>>> li[3]'four'>>> li[-1]'four'>>> li[-4]'one' 阅读全文
posted @ 2014-01-03 16:14 Raining Days 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1.查看函数XXX的doc string。Python的函数是有属性的,doc string便是函数的属性。所以查看函数XXX的属性的方法是模块名.XXX.__doc__2.模块的属性每个模块都有一个内置属性__name__,一个模块的 __name__ 的值取决于您如何应用模块。如果 import 模块,那么 __name__ 的值通常为模块的文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序一样直接运行模块,在这种情况下 __name__ 的值将是一个特别的缺省值是__main__。3.Python中的内置数据类型Dictionary Python中的Dictionary定义了键 阅读全文
posted @ 2014-01-03 16:13 Raining Days 阅读(304) 评论(0) 推荐(0) 编辑

2013年11月20日

摘要: route上面的html标签我用下面的正则表达式来匹配总是不成功:\w+)\s*(\w+).\"\/\w+\">.*>可是如果我不指定组名的话就可以了,像这样:.*不知道为什么?刚开始看正则还是要慢慢消化呀。还是不清楚为什么,指定组名真的是匹配不出来。后来我去正则表达式吧提问了,一位吧友给了我热心的解答。还给我提供了一个网站,http://regex101.com/#用来测试正则表达式。这个网站真心不错,不仅有匹配结果还有解释,谢谢他了。 阅读全文
posted @ 2013-11-20 16:08 Raining Days 阅读(125) 评论(0) 推荐(0) 编辑

2013年11月19日

摘要: 使用load data装载本地文件到表中,文件每行一条记录,列值之间用tab分隔,并按照次序一一列出,对于无值或丢失的情况可以使用\N。但是在使用insert into插入的时候不能使用\N,而应该是NULL。load data local infile 'path/*.txt' into table tab1line terminated by '\n'; 比如某一列名为val,那么在查询中使用val is not null 和使用 val != null 是不同的。因为null是特殊的值,不能用普通比较符来比较。在mysql中0和null意味着假而其他值是真 阅读全文
posted @ 2013-11-19 16:04 Raining Days 阅读(308) 评论(0) 推荐(0) 编辑

2013年11月7日

摘要: 今天写python脚本的时候发现这样一个问题:import os , string , datetime ,pymongo;conn = pymongo.Connection("127.0.0.1",27017);db = conn.nn;coll = db.nn_res;value = dict(name="user1",num="1");coll.save(value);coll.insert(value);View Code 执行脚本之后会发现,save和insert只执行了一条,而且跟insert和save出现的先后顺序没有关 阅读全文
posted @ 2013-11-07 11:40 Raining Days 阅读(883) 评论(0) 推荐(0) 编辑

2013年7月9日

摘要: 今天想找几天前写的存储过程的源码看看,发现自己熟悉的命令怎么都不好使,要不提示标示符错误要不就是提示未选定行,通过baidu得知type跟name变量要弄成大写的。。 select text from user_source where name='存储过程名(大写)' and type='PROCEDURE'; 要按照上面那么写,因为自己一直是很不习惯用大写,以前也听说过oracle内部所有的信息都是大写,但是无论如何也想不到会出现今天这样的问题,如果把单引号内部的内容换成小写,就会提示未选定行,提示标示符错误,是因为我之前是从user_procedures中 阅读全文
posted @ 2013-07-09 11:50 Raining Days 阅读(1133) 评论(0) 推荐(0) 编辑

导航