Loading

摘要: [原文链接] TreeMap 和 TreeSet 是 Java Collection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的常用实现类,而 TreeSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但 TreeSet 底层是通过 TreeMap 来实现的,因此二者的实现方式完全一样。而 TreeMap 的实现就是红黑树算法。 TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeM.. 阅读全文
posted @ 2014-03-27 09:00 dai.sp 阅读(178) 评论(0) 推荐(0) 编辑
摘要: [原文链接]有效和正确定义hashCode()和equals()每个Java对象都有hashCode()和equals()方法。许多类 Override 这些方法的缺省实施,以在对象实例之间提供更深层次的语义可比性。在Java理念和实践这一部分,Java开发人员Brian Goetz向您介绍在创建Java类以有效和准确定义hashCode()和equals()时应遵循的规则和指南。您可以在讨论论坛与作者和其它读者一同探讨您对本文的看法。(您还可以点击本文顶部或底部的讨论进入论坛。)Brian Goetz, 首席顾问, Quiotix Corp虽然Java语言不直接支持关联数组 -- 可以使用任 阅读全文
posted @ 2014-03-27 08:58 dai.sp 阅读(155) 评论(0) 推荐(0) 编辑
摘要: [原文链接]HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,HashSet 和 HashMap 之 阅读全文
posted @ 2014-03-27 08:57 dai.sp 阅读(132) 评论(0) 推荐(0) 编辑
摘要: [原文链接]了解一个流行人工智能搜索算法的 Java 实现了解启发式搜索领域及其在人工智能上的应用。本文作者展示了他们如何成功用 Java 实现了最广为使用的启发式搜索算法。他们的解决方案利用一个替代的 Java 集合框架,并使用最佳实践来避免过多的垃圾收集。Matthew Hatem, Senior Software Engineer, IBMEthan Burns, Software Engineer, GoogleWheeler Ruml, Associate Professor, University of New Hampshire通过搜寻可行解决方案空间来解决问题是人工智能中一项名 阅读全文
posted @ 2014-03-27 08:55 dai.sp 阅读(816) 评论(0) 推荐(0) 编辑
摘要: 1、将java.util.Date转换为java.sql.Datejava.sql.Date sd;java.util.Date ud;//initialize the ud such as ud = new java.util.Date();sd = new java.sql.Date(ud.getTime());2、若要插入到数据库并且相应的字段为Date类型可使用PreparedStatement.setDate(int ,java.sql.Date)方法其中的java.sql.Date可以用上面的方法得到也可以用数据库提供TO_DATE函数比如现有udTO_DATE(new Simpl 阅读全文
posted @ 2014-03-27 08:48 dai.sp 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 道学苑清和道人博客2014-03-07 17:03我要分享18道教以“重人贵生”为重要特征,不主张人们离弃社会生活而修道。道教中人始终认为只有很好地履行做人的社会职责,成为一个对社会有用的人,一个道德高尚的人,才谈得上修仙证道。信奉道教,重要的是将道教的精神、道教的智慧贯彻到生活之中,在社会生活中修道、行道、悟道。古云:“不离日用常行内,直到先天未画前”,就是说要即世间而超世间,不离生活而又升华生活。立足于生活,圆融于生活,服务社会,利益人群,这既是道教的优良传统,也是道教文化在现代社会中发挥积极作用的根本途径。那么,道教对于生活采取什么样的态度呢?这种态度对于现代人有什么样的借监价值呢?本文 阅读全文
posted @ 2014-03-27 08:46 dai.sp 阅读(738) 评论(0) 推荐(0) 编辑
摘要: Date a;Date b;假设现在你已经实例化了a和ba.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回trueb.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回truea.equals(b)返回一个boolean,如果a的时间和b相等返回true 阅读全文
posted @ 2014-03-27 08:45 dai.sp 阅读(212) 评论(0) 推荐(0) 编辑
摘要: http://tchen.me/6分钟前8 分钟昨天收到一个读者留言,问作为程序员,有什么学习和工作上的好习惯可以借鉴?想了想,干脆附庸风雅一下,总结个『高效能程序员的七个习惯』吧。Disclaimer:一家之言,可不信,但不可全信。拥抱unix哲学每个程序员入门的第一堂和第二堂课应该是和unix哲学相关的内容,简言之就是:做一件事,做好它。具体点:小即是美。让程序只做好一件事。尽可能早地创建原型。可移植性比效率更重要。数据应该保存为文本文件。尽可能地榨取软件的全部价值。使用shell脚本来提高效率和可移植性。避免使用可定制性低下的用户界面。所有程序都是数据的过滤器。再具体一些(TL;DR): 阅读全文
posted @ 2014-03-27 08:44 dai.sp 阅读(222) 评论(0) 推荐(0) 编辑
摘要: String sql = "insert into t_curriculum (name,academic_credit_type,qualifiedCredits" + ",substandardCredits,t_curriculum_type_id,description,teacherName,createDate) values(?,?,?,?,?,?,?,now())"; PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEY 阅读全文
posted @ 2014-03-27 08:44 dai.sp 阅读(2286) 评论(0) 推荐(0) 编辑
摘要: 第一种方法,就是list中对象实现Comparable接口,代码如下:12345678910111213141516171819202122232425262728293031323334353637383940publicclassPerson implementsComparable {privateString name;privateInteger order;/*** @return the name*/publicString getName() {returnname;}/*** @param name* the name to set*/publicvoidsetName(St 阅读全文
posted @ 2014-03-27 08:44 dai.sp 阅读(120) 评论(0) 推荐(0) 编辑
摘要: log4j应用服务器strutslayoutservletclassog4j具体输出信息级别配置方法Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appenderlog4j.appender.appenderName... 阅读全文
posted @ 2014-03-27 08:42 dai.sp 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 俗话说,天下武功,唯快不破。也就是说要练成天下高手的话,出招速度一定要快,这样才能在江湖上立足,不至于掉了脑袋。而程序员要在IT界混出个名堂,也要有高效的工作效率才行。IT行业时时刻刻都产生着新知识、新技术,要想跟上变革肯定要有几把刷子。而我本人很喜欢各种各样的方式来提高自己的工作效率,可以分享给大家一些经验。键盘功底要扎实。敲键盘时要使用标准指法。可能你认为这是程序员的基本功,可是我发现其实很多程序员都做不到这点。看着他们敲代码时那笨拙的指法我就心急。其实炼成标准指法不难,相当年我还是一指禅,打字极慢,痛定思定,在一周内我打字必用标准指法,再别扭也要坚持,一周后就适应了标准指法了。现在不说运 阅读全文
posted @ 2014-03-27 08:40 dai.sp 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 2001年,出生于荷兰的计算机大师、 图灵奖获得者Edsger W. Dijkstra给德州大学预算委员会写信,力劝不要将计算机入门课程改为Java。这封信的PDF版可以从这里下载。不幸的是,学校最终还是用Java课程替换了Haskell。相关联的,麻省理工的计算机程序结构和分析课程(6.01)中的Scheme语言也被Python语言替换掉。致预算委员会成员我写这封信给你们是因为有谣言说,大学教学中的计算机入门课程将不再使用函数式编程语言Haskell,而是使用命令式语言Java,鉴于此,我认为预算委员会有责任去阻止这项错误的决定。你们知道,这不是小事。其它州的同行经常好奇于我如何能在德州奥斯 阅读全文
posted @ 2014-03-26 23:03 dai.sp 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 很多像这样的日子,当地上积起厚厚的雪时,我通常会燃起铁炉,把马蹄跌烧的通红,搓搓温暖的手,开始打造特制手工马蹄铁。经过了5年多的专职钉马掌生活后,我开始问自己一个问题:我要一直这样干下去吗?能不能干点儿别的?我的性格跟其他乡下那些叼着雪茄、喝着小酒的铁匠不一样,我从来没有戴过牛仔帽或骑过公牛。我渴望的是知道更多的事情,琢磨更多的事情,做更多的事情。成功的从事开发工作7个月后,我已经给几百人回复了邮件,他们问我如何成为一个程序员的,寻求我的建议,他们想知道如何判断自己是否适合去做一名程序员。本文的作者 Joshua Kemp下面罗列了7种特征,是我从同事中最有效的程序员身上观察到的,我知道,优秀 阅读全文
posted @ 2014-03-26 23:02 dai.sp 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 准备好了吗——一个7岁女孩将要让你自叹不如。我已忍不住内心的冲动,要告诉你们关于菲茨杰拉德的7岁女儿的故事。在花了一个小时学习编程后,她对编程得出了令人赞叹的体会。我们很幸运,这个聪明的小女孩把她的心得总结成了简洁明了的几个小点,所有的我们都应该停下手中的工作,来思考一下她写的内容。就是这张小纸片吗?上面写的什么?是她的习得,一共有5条。纸片上的内容:我学到的关于编程的5件事1)计算机很傻,它只会做那些你让它做的事。2)编程真的很难!(你必须非常的认真!)3)你告诉它去做事情时必须按正确的顺序。4)你可以用计算机做出很多不同的事情。5)一定要检查你的工作。菲茨杰拉德告诉我们,这是她的女儿第一次 阅读全文
posted @ 2014-03-26 23:02 dai.sp 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 任何一个跟计算机专业沾点儿边的人都知道“意大利面条代码(spaghetti code)”指的是什么。很遗憾,这种风格的代码如今还是不少。但现在我们又有了—找不到其它更好的词汇,还是沿用面食的比喻—“千层饼代码(lasagna code)”。 千层饼代码是指代码被一层层的抽象,一层层的对象继承和引用,以及其它一些毫无意义的修饰,最终导致代码臃肿不堪,难于维护,完全跟“清晰”这个词不沾边。看着如今有些代码写成这个样子,我不由抓狂。而当你看到Turbo Pascal v3 的体积是如此的微小,而且明白这是一个功能完整的Pascal语言编译器时,你不能不问,为什么如今的应用程序和编译器会全都如此... 阅读全文
posted @ 2014-03-26 23:02 dai.sp 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 序列化这个方法通用性非常强,代价是效率非常差。如果我使用序列化实现deepcopy,程序90%以上的时间都在做deepcopy,所以我覆盖了所有的clone方法实现deepcopy.序列化这个方法对于效率要求很低的情况下,是个非常好的解决方案,但对于要求效率的算法,就不能用序列话了。大家应该理解浅拷贝和深拷贝的区别:浅拷贝:被复制对象的任何变量都含有和原来的对象相同的值,而任何的对其他对象的引用仍然指向原来的对象。对拷贝后的引用的修改,还能影响原来的对象。深拷贝:把要复制的对象所引用的对象都复制了一遍,对现在对象的修改不会影响原有的对象。如果大家还不理解,在网上看到一个人的比喻很有意思:就好比 阅读全文
posted @ 2014-03-26 23:01 dai.sp 阅读(2585) 评论(0) 推荐(0) 编辑
摘要: JavaBeanjunit主题:List删除元素,复制元素平台:Window + Eclipse3.3 + JDK6 懒程序员,在代码越写越多的情况下,总想着使用把代码精简一下,能不写if else的,能不写for循环的尽量不想写,但是遇到的问题都要解决的呀,因此调用同逻辑的已存在方法便是首选。 今天就集合类(List)两个容易出错的方法做个记录,可以引以为戒,并且也提供正常的使用方式,都是在java.utils包,方便使用。 1 package com.longer.list; 2 3 import java.util.ArrayList; 4 import java.util.Arra.. 阅读全文
posted @ 2014-03-26 23:01 dai.sp 阅读(856) 评论(0) 推荐(0) 编辑
摘要: (原文来自BusinessInsider,虎嗅编译)创业世界最受人关注的原因之一是这个领域重视才华和潜力。这意味着那些拥有好的创意和资源的人,能够做得非常出色——无论他们处在怎样的年龄段。许多年轻的科技创业者就是大学新生,许多硅谷冉冉升起的新星年龄甚至不到20岁。试想一下在没有大学文凭和校友网络的条件下获得成功有多么难吧,不尽如此,这些年轻人能够成功让创业公司赢得上千名用户,有实实在在的营收,这就更加令人钦佩了。根据这些年轻科技创业者各自的情况和取得的成就,BusinessInsider 为他们排列的名次。应该注意到的是,这里面许多人都是“泰尔奖学金”的获得者(Thiel Fellows),在 阅读全文
posted @ 2014-03-26 23:00 dai.sp 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 原文:http://blog.csdn.net/randyjiawenjie/article/details/7563323javaobjectinterfacestringclassexception先做个标记http://www.iteye.com/topic/182772http://www.blogjava.net/jerry-zhaoj/archive/2009/10/14/298141.html关于super.clone的理解http://hi.baidu.com/%BB%AA%CF%C4%D1%A7%C9%FA%C1%AA%C3%CB/blog/item/7d70a4384262 阅读全文
posted @ 2014-03-26 22:59 dai.sp 阅读(316) 评论(0) 推荐(0) 编辑
摘要: javaliststringinteger测试object 熟悉C++的朋友对这个话题应该很熟悉,浅拷贝就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象。深拷贝就是两个对象的值相等,但是互相独立。本来想把以前写的一篇文章扩充一下,没想到居然牵扯出很多复杂的问题。本文测试环境是windows xp sp3中文版、NetBeans6.7.1,JDK1.6-update16。这里抛砖引玉,希望大家能提宝贵意见。 首先,Java中常用的拷贝操作有三个,operator = 、拷贝构造函数 和 clone()方法。由于Java不支持运算符重载,我们无法在自己的自定义类型中定义op 阅读全文
posted @ 2014-03-26 22:59 dai.sp 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 一:学数学不如学英语 正所谓“无心插柳柳成荫”,目标北大,只考上杭州师院;三年高考,一年数学成绩1分,一年成绩19分。大学毕业后,马云当了6年半的英语老师。期间,他 成立了杭州首家外文翻译社,用业余时间接了一些外贸单位的翻译活。马云说,“我当年学英语,我没有想到后来英文帮了我的大忙。所以,做任何事情只要你喜 欢,只要你认为对的,就可以去做。如果你思考问题功利性很强的话,肯定会遇到麻烦的。” 后来这位“杭州最棒的英语老师”因为英语好的原因,受浙江省交通厅委托到美国催讨一笔债务,结果是债没讨成,却促成了他与互联网的十年姻缘。 互联网本来就是“舶来品”,马云流利的英语赋予他一张“... 阅读全文
posted @ 2014-03-26 22:57 dai.sp 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 英文原文:The Evolution of a Software Engineer世间万物总要回归到她的本来面貌,这好像是佛教里的一种思想,这种回归不是倒退,而是一种升华。程序员的修炼也是这样,从无知,到有知,到进步,到顿悟,也是一种回归的思想。头一年第二年第三年第五年 第十年来自: www.vaikan.com 阅读全文
posted @ 2014-03-26 22:56 dai.sp 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 我零九年看过一本小说,讲程序员的故事,从此,了解了一个新物种。最近又看《红楼梦》,史湘云有条谜语:“溪壑分离,红尘游戏,真何趣?名利犹虚,后事终难继。”我一想,这不就是程序猿吗? 我学过半年编程,唯一的收获是记住了一个名字叫谭浩强。读了那本小说,我知道还有个东西叫“良好的代码风格”,这几个字可比谭浩强有意思多了。可以跨领域应用,比方说,用在写作上。 例如,变量的命名。像本文,如果叫《论良好的代码风格》,姿态就不佳,一个“论”字就让读者反胃了。如果叫《如何写出良好风格的代码》,太装了,好像自己是编程大师似的。换一种叫法,《扯扯良好代码风格的淡》,就好比南锣鼓巷走了一圈,感觉亲民多了。 ... 阅读全文
posted @ 2014-03-26 22:55 dai.sp 阅读(118) 评论(0) 推荐(0) 编辑
摘要: [原文链接]说明:1 参考自stackoverflow上的一个帖子以及广大网友的回复:http://stackoverflow.com/questions/15496/hidden-features-of-java?page=4&tab=votes#tab-top2 在这些回复中,我选择了一些写到这篇博客中,当然也有很多回复我认为没有必要翻译出来.3 在翻译的过程中,为了快速完成,主要把代码贴过来,只要是对Java比较熟悉的, 看到代码基本上就能理解这个特性.对其他解释性的文字翻译的比较少, 如果感兴趣可以查看原文, 原文地址在上面已经给出.正文:1 使用Class进行运行时类型检查如 阅读全文
posted @ 2014-03-26 22:51 dai.sp 阅读(187) 评论(0) 推荐(0) 编辑
摘要: [原文链接]瞎忙無益 懶惰有理全世界最大的汽車生產商之一——福特汽車創辦人亨利'福特(Henry Ford)曾經請一位效率專家來檢測公司內部的業績表現。專家的報告裡盡是讚美之詞,僅對其中一個員工存有疑慮,他稱那位員工為「懶人」,並且告訴亨利' 福特,那位懶人白拿錢不做事,因為每當他經過懶人的辦公室時,總會看見懶人把腳擱在辦公桌上,什麼事也不做就是悠閒地坐著。 亨利'福特非但沒有生氣,反而回答專家:「你所說的懶人曾經想出了一個讓公司節省了數百萬美元的好主意。每當他在想一些好主意時,他的腳就會那樣放著。他的確不是個勤奮的人,但卻是我最好的員工。」 最優秀的人往往是懶人 小學 阅读全文
posted @ 2014-03-26 22:07 dai.sp 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 我的目的是实现下Hibernate中增删改查、缓存的核心功能。虽然基本功能实现了,但可能还有好多Bug,欢迎点评拍砖,没准能在一片谩骂声中取得意想不到的进步,:) // DatabaseAccess.java 1 package com.dsp.core; 2 3 import java.io.IO 阅读全文
posted @ 2014-03-26 20:39 dai.sp 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 时常,某个程序或软件并没有语法错误,并且你检查它的相关内容也确实没有发现问题。这是因为你用普通文本编辑器软件来查看的时候,有许多字符没有显示出来,但在终端使用cat命令可以很容易地检测出是否存在这些字符。 首先,我们创建一个简单的文本文件,写入一些特殊字符。打开终端,运行命令: printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012' > /tmp/testing.txt 现在用不同的编辑器软件打开 阅读全文
posted @ 2014-03-26 20:28 dai.sp 阅读(1667) 评论(0) 推荐(0) 编辑
摘要: Linux系统的重要性就不要解释了,也造就了现在越来越多的IT从业人员和大学生们转战Linux。但对Linux新人来说,Linux到底学了什么知识,到达了何种程度,一直是个困惑。今天就整理下Linux不同阶段对应的知识体系,即Linux的学习路线图。Linux初级工程师对于新手来说,选择一个适合的发行版和一本好的教材,就开始正式踏入Linux的大门了。在此阶段,需要掌握的知识如下:lLinux图形界面的使用lLinux简单目录结构lLinux常用命令lLinux系统安装掌握了以上知识,可以说已经是一个Linux的初级工程师了,对于Linux操作系统的使及简单维护,是完全可以胜任的。Linux中 阅读全文
posted @ 2014-03-26 20:27 dai.sp 阅读(485) 评论(0) 推荐(0) 编辑
摘要: CentOS系统自带的更新源的速度实在是慢,为了让CentOS6使用速度更快的YUM更新源,可以选择163(网易)的更新源。1.下载repo文件wget http://mirrors.163.com/.help/CentOS6-Base-163.repo2.备份并替换系统的repo文件[root@localhost~]# cd /etc/yum.repos.d/[root@localhost~]# mv CentOS-Base.repo CentOS-Base.repo.bak[root@localhost~]# mv CentOS6-Base-163.repo CentOS-Base.rep 阅读全文
posted @ 2014-03-26 20:26 dai.sp 阅读(310) 评论(0) 推荐(0) 编辑