- 博客(34)
- 问答 (1)
- 收藏
- 关注
终于完成了搬家!
以前是在博客快车安家 http://leon.cc.blogbus.com/ 但是那里毕竟不适合搞技术的人,所以想搬家到一个技术社区,平时逛的一些比如优快云,Jdon,Matrix,考虑来考虑去,觉得还是这里舒服,为什么?我也说不出来......不过导入导出功能不支持博客快车,又不想麻烦维护人员,所以昨天忙乎了一天,终于完成搬家,happy ! ...
2006-12-27 12:50:29
221
Thinking in OO
院刊的技术版的编辑domi和我是好朋友,前几天我说想发一篇文章,他爽快的答应了.随后才发现想要写的东西很多.最后费了一天的时间.终于决定写一些关于面向对象的东西.于是就有了下面的thiking in OO.虽然写的的不怎么样,但就像domi所说的:精神可嘉! 到现在为止,我们的学习语言之路是这样被安排的C -> C++ -> Java -> C#,其中的三种是面向对象的,可是...
2006-12-27 12:32:11
150
关于Template Method模式的思考
首先让我们看看生活之中的“模板”,在《设计模式-JAVA语言中的应用》是这样说的:“模板(Template)是指在薄片塑料板上面写字(或印字)后挖空,再使用毛笔或色笔涂满挖空的部分,就能看到纯手工而又不失工整的字样。看到模板上挖空形状,马上就知道最后会变出什么样的字,不过实际上所显示出来的字样还是要依使用的画笔的种类而定。拿黑色签字笔当画笔,成果当然就是签字笔风的字样;光是铅笔来画,得到...
2006-12-27 11:42:39
170
利于ThreadLocal管理Hibernate Session
在利用Hibernate开发DAO模块时,我们和Session打的交道最多,所以如何合理的管理Session,避免Session的频繁创建和销毁,对于提高系统的性能来说是非常重要的,以往是通过eclipse的插件来自动完成这些代码的,当然效果是不错的,但是总是觉得不爽(没有读懂那些冗长的代码),所以现在打算自己实现Session管理的代码。我们知道Session是由SessionFac...
2006-12-27 11:26:34
194
十一月的片断
十一月就这样混乱的渡过,本来还是有很多计划的,回头来看一看什么都没做成,有一点失落感了,这段期间有一点太放纵自己了,生活好像失去了节奏和完整,就像一面破碎的镜子,琐碎的片断... 月初逃到了家里休了一个小假,本来只打算安静几天,可是很意外的得到了老爸的理解,对我自己未来的理解。有一点感动,一直以为他不理解我,可能是我一直不理解他... 杨哥要离开了,就要回沈阳了...
2006-12-26 21:56:11
124
数据库事务备忘录之三
今天想写一些关于事务并发问题,当初在学习DB2的时候,就一直想弄明白,可是当时是为了应试,老师也没有讲得太明白,所以一直决心要总结一下,后来呢,就一直拖到了今天...闲话少讲了,开始正题吧! 在并发的环境之中,一个数据库系统会同时为各种各样的客户端提供服务,对于同时运行的多个事务,当这些事务访问数据库中相同的数据时如果没有采取必要的隔离机制,就会出现各种并发问题,可以把这些...
2006-12-26 21:42:40
141
数据库事务备忘录之二
上一篇提到了数据库事务的ACID特性,那么谁来保证数据库事务具有ACID呢?其实,只要向数据库系统声明一个事务,数据库系统就会自动保证事务的ACID特性的。那么下面从抽象的概念上来看看怎么声明事务: ----- BEGIN 事务的开始边界 ----- COMMIT 事务的正常结束边界,提交事务,永久保存被事务更新后的数据库状态。 ----- R...
2006-12-26 21:27:18
155
数据库事务备忘录之一
事务是指一组相互依赖的操作行为,举一个举得不能再被举的例子就是银行交易,当然还有其他像网上购物,电子货币交易等等,事务的成功取决于这些相互依赖的操作行为是否都能执行成功,只要有一个操作行为失败,就意味着整个事务失败。例如:bill和tom的QQ账户的QQ币点数都是500点,现在bill把100点QQ币转到tom的QQ币账号上,这个事务就包含以下操作行为: ------ b...
2006-12-26 21:12:22
141
利用ServiceLocator模式改进JNDI实践
J2EE应用系统是打了“分布式”的标签的,所以客户端需要定位业务层的组件和服务,常见的比如有:EJB Home接口、EJB LocalHome接口、JMS消息列队或主题、JMS消息列队工厂等等,当然还有再普通不过的JAVA对象了,那么对这些分布在不同位置的组件和服务,客户端是如何进行寻址的呢?这就是JNDI的任务了... JNDI(The Java Naming and D...
2006-12-26 20:54:35
134
使用Mock对象进行单元测试
1.出了什么问题? 单元测试的目标是一次只验证一个方法,小步的前进,细粒度的测试,但是假如某个方法依赖于其他一些难以操控的东东,比如说网络连接,数据库连接,或者是Servlet容器,那么我们该怎么办呢? 要是你的测试依赖于系统的其他部分,甚至是系统的多个其他部分呢?在这种情况下,倘若不小心,你最终可能会发现自己几乎初始化了系统的每个组件,而这只是为了给一个测试创造足够的运行...
2006-12-26 19:55:46
228
关于数值自乘
如果n与m是正整数,那么m^n就是把m连乘n次,用到了n次乘法运算,这是一个很没有效率的算法,那么我们来进行一下改进。主要思想就是减少乘法的运算次数。 关键所在就是下面的定义式: 当n=0时 m^n=1 当n为偶数时 m^n=(m^k)^2 当n为奇数时 m^n=m*(...
2006-12-26 19:40:37
506
他提出第五种自由-怀念晏阳初
“晏阳初?晏阳初是谁?” 可能很多人,在听到这个陌生的名字时,茫然不知所以。 也难怪,历史时空变换,晏阳初其人其事或许真的会湮没于一些好大喜功的历史叙述之中?这是晏阳初的不幸,还是我们的不幸? 他与爱因斯坦一起被美国一百余所大学和科研机构评为“现代世界最具革命性贡献的十大伟人。” 他的一生改变了世界上上亿贫苦民众的命运。 他是...
2006-12-26 18:05:51
851
[转]Java/J2EE中文问题终极解决之道
今天想总结一下JAVA项目中的中文编码处理问题,当初笔试的时候还考了这道题,虽然答的还可以,但是还是欠缺全面,所以想好好的总结一下可是发现板桥大哥已经总结的很不错了,所以我就“拿来主义”了! Java中文问题一直困扰着很多初学者,如果了解了Java系统的中文问题原理,我们就可以对中文问题能够采取根本的解决之道。 最古老的解决方案是使用String的字节码转换,这种...
2006-12-26 18:03:31
125
假如我是院长
大四的人了,牢骚就是多,看不惯了就想说几句... 假如我是院长,就不会开什么外教课,外教课我们已经都领略了,几个不知名的大学教授,过来好像是TMD进行软件理论普及教育,讲的都是那几样东西,UML谁来了都讲,可是谁讲明白了,英语好同学和老师对于一些1+1=2的问题秀一秀口语,可是还有我这样对技术感兴趣,英语不太好的啊,大部分同学都是蒙混过去的,反正考试又不严格,所以到头来就是老师...
2006-12-26 17:55:58
374
JAVA中数组与集合类的比较
本来想写一篇《JAVA容器论》的,讲的是JAVA里容器类的一些知识,原因是前天和小付去面试被问到了关于JAVA容器的一些知识,有一点拿不准。但是发现容器的东西还真不少,于是决定分开来写,我想没有人喜欢大部头的。这里所谓“容器”就是能够持有数据(对象的reference或primitives)集合的数据结构,比如我们熟悉的数组、链表和Hash表等等。借这个机会想把JAVA的容器类相关的知识...
2006-12-26 17:51:07
604
我的这几天
今天----早起....从阳哥那回来,换了衣服,昨晚玩的有些累了,坐在桌前写BLOG,阳哥又去看电影了习惯了总结,但是总是总结技术什么的,可能脑子太理性了,就会变成了机器,于是决定总结一下自己这几天。从今天此时此刻开始。 昨天----上午打算去自习,在线看到了李哥,去他那里看他,住得很宽敞,聊了好多,这还是我们第一次以朋友的身份聊天,李哥,呵呵,还是那么成熟,说了工作的事,...
2006-12-26 17:48:38
113
排序的故事---插入排序
说起插入排序,其实它的工作原理十分简单,举例来说一下,按照从小到大顺序排列下面的一组数: 9 5 7 3 4 从第二个数起,把它之后的部分看成是未排列的部分,第一个元素是已排序的部分,然后依次把未排序的部分的第一个元素取出,插入到已排好的部分的正确位置,于是已排好部分的元素个数加一,未排好部分元素个数减一。一...
2006-12-26 17:13:05
282
排序的故事--SHELL排序
SHELL是一种不需要辅助空间不稳定的排序法,在传统的教科书里面,SHELL排序法都是直接引用D.L.Shell在他1969年的原著《A High-Speed Sorting Procedure》中的办法:再要排序的数组中先把间隔为n/2的元素排好,然后把间隔为n/(2^2)的元素排好,再排间隔为n/(2^3),n/(2^4),... ,4,2,1的元素,最后就是一个依顺序排序好的结果。...
2006-12-26 16:59:07
170
故乡的烛光
今天在餐馆吃饭突然间停电了,餐厅中慢慢亮起了一盏一盏的烛光,气氛也由无止喧嚣变得瞬刻的宁静,这瞬刻的宁静和昏暗而温暖的烛光让我回忆起了小时候在故乡的日子...... 现在已经离开故乡漠河-中国最北面的一个小镇十年了,但永远不会忘记那里空气中的松香,姥姥的唠叨,儿时伙伴的笑容.......那时还在上小学,由于当时那里比较落后,晚上经常会停电,当时的我特别盼望停电,因为那样我就可...
2006-12-26 16:42:02
145
Floyd最短路径算法
在图论中经常会遇到这样的问题,在一个有向图里,求出任意两个节点之间的最短距离。我们在离散数学、数据结构课上都遇到过这个问题,在计算机网络里介绍网络层的时候好像也遇到过这个问题,记不请了... 但是书本上一律采取的是Dijkstra算法,通过Dijkstra算法可以求出单源最短路径,然后逐个节点利用Dijkstra算法就可以了。不过在这里想换换口味,采取Robert Floyd提出的算法来...
2006-12-26 16:35:38
225
感动于杜拉丝的《情人》
我已经老了,有一天,在一处公共场所的大厅里,有一个男人向我走来。他主动介绍自己,他对我说:“我认识你,永远记得你。那时候,你还很年轻,人人都说你美,现在,我是特为来告诉你,对我来说,我觉得现在你比年轻的时候更美,那时你是年轻女人,与你那时的面貌相比,我更爱你现在备受摧残的面容。” 杜拉丝的《情人》里开篇第一句话.... 每个字都让我的心灵很震撼,可能每天看到了太多了僵...
2006-12-26 16:09:27
253
XML配置文件的读取处理
让我们先来聊聊XML吧,最初对XML的认识是在2004年,那时看过一本讲怎么样利用XML作网页的书,并没有觉得有什么特别的,好像这个东东和HTML差不多。随后开始接触JAVA Web开发,发现好多的配置文件都是用XML写的,例如Tomcat的web.xml...当然了当时也并没有怎么深入研究,只是知道怎么配置就可以了。后来慢慢接触了框架,发现配置文件几乎没有不是基于XML的,从Struc...
2006-12-26 16:02:04
111
单循环链表解决约瑟夫环问题
这几天为了准备笔试忙着复习C语言,决定把当时学C时的一些经典问题再温习一下,当时啊,学的稀里糊涂的,呵呵,现在回头来仔细写一写代码,就算是纪念当时的个性十足的赵老师了吧! 约瑟夫问题的:编号为1,2,....,N的N个人按顺时针方向围坐一圈,每人持有一个密码(正整数),一开始任选一个正整数作为报数上限值M,从第一个人开始按顺时针方向自1开始顺序报数,报到M时停止报数。报M的人出列...
2006-12-26 15:47:38
222
利用动态规划解决兑换问题
问题是这样的:某个国家一共发行了a1,a2,a3,...,ak种不同面值的钞票,为了方便起见,假设a1,a2,a3,...ak依次增大。现在手上有的钱数为n,请问要如何把兑换成a1,a2,a3,...,ak这些钞票,使得所用的钞票的量为最少。这个问题看上去很简单,举一个例子,如果有1元,5元,10元3种钞票,而要兑换107元,于是就有a1=1,a2=5,a3=10,n=107。那么我们...
2006-12-26 15:13:50
252
埃拉托色尼筛算法
还记得当时学习数据结构时老师留过一道作业题:编写程序打印出小于命令行参数所给定的整数的所有素数。当时我就是简单的利用穷举法实现的,呵呵,就是一个一个地进行判断。后来作业交了上去,也就不了了之了。老师并没有进行讲解,今天突然看到了应用数组解决这一问题的埃拉托色尼筛算法,恩!感觉很优美,省去了穷举法的大量的除法运算,下面我们就来看看其中的奥秘。 首先我再明确一下素数的概念:一个正...
2006-12-26 14:28:22
399
[转]XML与关系数据
XML作为一种可扩展标记语言,其自描述性使得XML本身非常适用于异构应用间的数据交换,而且这种交换不以预先规定的数据结构定义为前提因此具备很强的开放性和广阔的应用前景,而现有的几乎所有大型应用系统都是和数据库相关联的,所以以XML中性载体进行数据交换和信息共享必然要和数据库相联系,同时,基于XML的数据交换,实现数据库的XML数据双向存取,才能将XML数据同具体应用程序集成,进而使之同现...
2006-12-26 14:15:50
190
谈谈实体Bean
想起了我的可爱的J2EE老师,决定把前一些日子学的东东总结一下,想到那里就总结那里吧... 在EJB的技术体系中,实体Bean充当维护数据持久性的角色,它可能是最官方的O/R Mapping问题解决方案了吧。开发者可以利用实体Bean对关系数据库中的数据进行管理,EJB容器会为实体Bean提供可靠的服务支持,使实体Bean拥有可靠的性能。 1. 那么什么是EJB容器呢...
2006-12-26 14:05:30
496
再读尼采
勇敢地成为你自己---尼采 一百多年以前,在南欧的山谷和海滨,有一位孤独的漫游者,他没有职业,没有家室,一身是病,四处飘泊。手中的笔记本是他唯一的伴侣,他随手记下像风一样迎面扑来的思想。这个人生前默默无闻,死后却成了西方社会家喻户晓的人物。他就是德国哲学家尼采。弗里德里希·威廉姆·尼采(Friedrich Wilhelm Nietzsche)于1844年10月15日出生在德...
2006-12-26 13:53:33
200
“依赖倒转”原则(DIP)
还是通过优快云上Health King的专栏的一篇文章开篇吧! “开放-封闭”原则是我们OOD的目标,达到这一目标的主要机制就是“依赖倒转”原则(DIP)这个原则的内容是:要依赖于抽象,不要依赖于具体。或者说是:要针对接口编程,不要对实现编程(Program to an interface, not an implementation)。 对于抽象层次来说,它是一个系统...
2006-12-26 13:45:28
131
OOD的设计原则--接口隔离原则
接口隔离原则(ISP):使用多个专门的接口比使用单一的总接口要好。也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的。 这里的“接口”往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象;另外一种是指某种语言具体的“接口”定义,有严格的定义和结构。比如Java语言里面的Interface结构。对于这两种不同的含义,ISP的表达方式以...
2006-12-26 13:38:27
135
[转]里氏代换原则
从上一篇的“开-闭”原则中可以看出,面向对象设计的重要原则是创建抽象化,并且从抽象化导出具体化。这个导出要使用继承关系和一个原则:里氏代换原则(Liskov Substitution Principle LSP)。 那么什么是里氏代换原则呢?有个严格的表述,绕口,不好记。还是比较白话的这个好记。说的是:一个软件实体如果使用的是一个基类的话那么一定适用于其子类,而且它察觉不出基类...
2006-12-26 13:17:31
91
“开放-封闭”原则--OOD的基石
钻研OO设计模式有一段时间了,可是天生愚笨,总是不得真谛,于是想是不是该跳出来仔细的想一想了呢?为什么需要设计模式?GoF的23设计模式的设计原则是什么呢?在查阅了一些资料后,仿佛有了一些感觉,其实设计模式的原则就是OOD的原则,或者说设计模式是为了达到OOD的远景而提出的,所以正真的想掌握OO的精髓,那么学习设计模式是最好的途径,而想真正掌握设计模式的精髓,那麽就必须好好的理解一下OO...
2006-12-26 13:01:03
97
继承还是关联?是个问题
当我们的讲面向对象或系统设计的老师又在课堂上向我们传授在进行复用时“尽量使用合成/聚合,而不是使用继承”的“定理”的时候,可能我们仿佛真的找到了问题的解决方法,但是这背后意味着什么呢?我们为什么需要这样做呢?是否这是问题的最佳解决方案了呢?这一切的问题起源于一个名为“合成聚合复用原则”的OOD原则... 下面还是通过优快云上Health King的专栏的一篇文章来进行讲述吧!...
2006-12-26 12:46:03
283
单体模式(Singleton)备忘录
1.单体模式的宗旨 单体模式的宗旨在于确保某个类只有唯一的一个实例,并且为该类提供一个全局的访问点。 当我们开发项目时,经常会发现一些类需要只有一个实例,比如:Window Manager,Print Spooler,对数据库引擎的唯一访问点等等。单体模式被GoF归于创建型的模式,但我认为它应归位责任型的模式,因为单体模式的价值在于将一个类的职责集中在唯一的一个单体对象之中。...
2006-12-26 12:26:00
141
空空如也
JavaEye网站的页面输入校验使用的是什么框架?还是...
2008-05-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人