- 浏览: 62178 次
- 性别:
- 来自: 杭州
最新评论
文章列表
应用程序通过new语句创建一个JAVA对象时,JVM会为这个对象分配一块内存空间,只要这个对象被引用,它就一直存在内存中。如果不被引用了,就结束生命周期,会在适当时候被回收。
一、理解Session缓存
Session的save()方法持久化 ...
- 2008-11-27 00:40
- 浏览 832
- 评论(0)
1. 信息专家(Information Expert)
如果某个类能够在某方面具有完整的信息,足以实现某个责任,就将这个责任分配给这个类,这个类即所谓的信息专家。
2. 创造者(Creator)
应用情况符合以下条件之一,类A应该具有创建类B的责任:
(1) A是B的聚合
(2) A是B的容器
(3) A有初始化B的数据
(4) A记录B的实例
(5) A频繁使用B
3. 低耦合(Low Coupling)
下类情况A,B两个类产生耦合:
(1) A具有一个B的属性
(2) A调用B对象的方法
(3) A的方法包括对B ...
- 2008-11-20 16:19
- 浏览 798
- 评论(0)
Servlet和Filter的url匹配以及url-pattern详解
Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单,老少皆宜。估计大多数朋友都是直接配置用,也没有关心过具体的细节,今天遇到一个问题,上网查了servlet的规范才发 ...
- 2008-11-20 16:05
- 浏览 848
- 评论(0)
ThreadLocal
ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。线程局部变量并不是Java的新发明,在其它的一些语言编译器实现(如IBM XL FORTRAN)中,它在语言的层次提供了直接的支持。因为Java中没有提供 ...
- 2008-11-20 16:02
- 浏览 694
- 评论(0)
在实际项目中,往往多人合作开发一个项目,这个时候,就需要用到一些版本管理工具了。SVN是一个很优秀的工具。但是在实际使用当中,可能会发生提交出错的情况。比如你从SVN上更新的版本是100,然而当你提交的时候,SVN服务器上的版本已经是101了,这个时候,那个提交101版本的,如果修改的是和自己修改的是同一个部分的话,就很有可能发生冲突了。只要对提交产生冲突的文件进行冲突解决就行了。
1.首先更新该文件,它会提示有冲突,会生成好几个文件。其中包涵你自己的,服务器现在的版本,合并的版本等等。
2.确定自己要提交的版本,当然你可以改,然后标识为冲突解决。(记住SVN没有判断你到底有没有真正的解 ...