- 博客(14)
- 收藏
- 关注
ClassLoader浅析
类加载的方式有2种。l 显示类加载ClassLoader.loadClass()(使用指定的Classloader进行装载)Class.forName()(使用当前类的Caller Classloader进行装载)l 隐示类加载(发生在由于引用、实例化或继承导致需要装载类的时候。隐式类装载是在幕后启动的,JVM会解析必要的引用并装载类...
2011-05-01 16:41:12
69
【行为型】职责链模式
装饰模式实际上很像一条单链表,每次装饰就是增加一个结点,增加一个结点以后这个对象就有了新的功能。设计模式中还有一种类似单链表的模式,职责链模式。假设一个情景:学生可以申请请假,这个申请交由负责的辅导员,辅导员能批3天以内典型的假期。如果不满足条件就交给年级主任,年级主任能够批1个星期以内的假期,如果超过1个星期的就得交给学院批,由学院来决定行不行。如图:...
2011-04-30 14:07:48
93
原创 Java回收算法
Java语言规范没有明确地说明JVM使用哪种垃圾回收算法,但是任何一种垃圾收集算法一般要做2件基本的事情:(1)发现无用信息对象;(2)回收被无用对象占用的内存空间,使该空间可被程序再次使用。大多数垃圾回收算法使用了根集(root set)这个概念;所谓根集就量正在执行的Java程序可以访问的引用变量的集合(包括局部变量、...
2011-04-25 09:19:42
79
Java集合类图
关于Java集合类的文章介绍不少了,这里给个链接,还有上个图。http://blog.csdn.net/softwave/archive/2009/05/11/4166598.aspx
2011-04-23 21:17:03
63
原创 新项目的架构
今晚把主持的重构和下一个项目的架构框图给做出来,可以说其实我在一年多前就一直在研究如何设计架构,现在终于有机会让我真正的应用到项目中去了。如下。 具体就不解释了,进过公司有过项目规范的基本上都看得懂而且应该很鄙视这是多么小儿科的事情。可怜我没有经历过什么规范。第一个项目,也就是即将重构的农工商,只有3层,数据访问跟业务一起了,重用性极...
2011-04-23 20:32:32
97
【结构型】组合模式
习惯从一个例子入手。我边写边做这个例子。假如说现在有这样子的需求,让你模仿系统的个人文件夹做一个应用。说白了让你做个资源管理的东东。给个例子如下图: 做一个应用起头应该想一下怎么把这个需求抽象出一个一个的模型。看下这个发现有点像树这种数据结构,那的确是树。怎么表示一棵树?你写过没?我写过N多次了,学习数据结构的时候经常写到二叉...
2011-04-18 22:38:08
72
反射机制
Java作为静态语言,在编译的时候就已经确定了一个对象属于哪一个类。跟动态编程语言ruby,python或者Groovy等都不同,虽然在运行效率上有很一定的优势,但是在当今对项目开发效率和开发进度要求极大的情况下,性能问题反倒显得不是至关重要。Java的反射(Reflection)机制让我们在用Java开发的时候有一定的动态性质,比方能在运行时才确定任意一个对象...
2011-04-16 23:05:11
65
SWT的第一次小总结
SWT小总结下,做了个很简单的小玩意,总结一下,顺便把里面觉得比较有代表性的地方都记下来。 包结构设计和分层这次几乎没有什么完整的分层,至于之前说到的Java swing的MVC,我还是用不上。如图。 首先引进的库有Java运行时库(JRE系统库)和SWT开发用...
2011-04-15 23:20:01
124
【创建型】原型模式
现在我们有这样一个需求。在后台输入一批学生的信息以后,封装成一个列表(List),传送给前台打印出来。这是第一版。/** * 这是最开始的Student 类 */public class Student1 { private String name; private int age; private String te...
2011-04-15 20:36:04
51
Maven项目中用Memcached实现缓存配置
这是新的项目架构,得说,这次很大胆的用了Maven的多模块项目设计来重新做这个庞大的项目。 下面记录Memcached在Maven中的配置。首先介绍如何手动添加第三方类库到自己电脑的本地仓库,这折腾了我一个晚上,点击链接Maven中手动添加第三方类库到自己电脑的本地仓库.m2。首先添加Memcached的Java...
2011-04-13 20:35:05
168
原创 Maven中手动添加第三方类库到自己电脑的本地仓库.m2
这折腾了我一个晚上,网上的说法(例如:http://www.51testing.com/?65519/action_viewspace_itemid_97726.html)都是不全的,事实上这行命令还得加上“-DgeneratePom=true”才能让eclipse中的m2eclipse读得到。具体做法如下(各种服务器系统都一样):1. ...
2011-04-13 18:52:08
299
原创 Grails在NetBeans中的开发1
1. 用NetBeans作为开发工具,安装了Groovy之后就能够开发Grails程序,新建一个Grails程序“addrBook”,如图2. 配置配置文件不再是XML,因为在Groovy看来,groovy文件不一定...
2011-04-13 18:08:46
115
查询无修改的模型处理
在业务中经常把类型给抽象出来作为一个表,这样的表有一个特点就是需要经常查到,但是基本不用修改到。而这种做法很致命的一点就是作为写业务的程序员必须了解数据库的某条记录的编号,然后写进去代码里面,这是完全违反开闭原则的,一旦有修改需要找出所有的代码并修改。像下面的代码: public static String getFilePath(String fileType) { ...
2011-04-13 16:51:44
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人