`
he_wen
  • 浏览: 234326 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
一、List接口 ArrayList,对象加入之后大都是为了取出,而不会长做删除或插入的动作,则使用ArrayList效率会更加好,但是经常在容器里面做删除添加动作,则使用LinkList会更加好(该类是利用链表实现的),故增加了象addFirst()、addLast()、getFirst()、getLast()、removeFirst()、removeFast()等,这样适合实现堆栈和队列。 二、Set接口 List容器中允许重复的对象,但是Set容器中的对象都是唯一的,介入Set 容器必须重新定义equals(),hasCode()方法,Set容器有自己一套排序规则,其规则是根据哈希法 ...
一、      Java并没有虚构函数,但是有finalize()方法,它被声明为protected,finalize()会在对象被回收是执行,但不可以将它当做析构函数用,因为不知道对戏那个资源合适被回收,所以也不知道finalize()真正被执行的时间,也就无法立即执行所指定的资源回收动作。     如果确定不再使用某个对象,可以在参考至该对象的名称上指定null,表示这个名称不再参考至任何对象,不被任何名称参考的对象将会被回收资源,可以使用System.gc()建议程序进行垃圾手机,如果建议被采纳,则对象资源会被回收,回收前执行finalize()方法。 下面是测试的源代码: pack ...
GOF:运用共享技术有效地支持大量细粒度的对象。 解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说(这里引用GOF书中的例子)一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。   在Flyweight模式中,由于要产生各种各样的对象,所以在Flyweight(享元)模式中常出现Factory模式。Flyweight的内部状态是用来共享的,Fly ...
项目中经常用到对日期相关操作 package com.seg.common.util; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; imp ...
一、业务阐述   在开发中查询的数据库结果集,既要连接数据库、执行数据库操作、关闭数据库,还要把结果集的记录人为的设置到自己封装的DAO中等一系列的重复代码。 本文主要是想解决:用户只需要得到数据库连接,写sql语句,自己封装dao,其余的操作由封转的小框架解决这些重复的工作,用户得到的只是一个集合List。 List里面的元素有集合Map其中key是数据库中的字段类型,value是字段类型对应的值这个函数 DBUtil.executeQuery(con, sql) List还提供集合元素存放的是dao对象,一条数据库记录对应一个dao对象,此函数是 DBUtil.executeQu ...
各位网友java代码里面的注释怎么不变颜色,具体方法怎么操作,请各位网友指点?还有本文描述的怎么样?是否叙述的详细?请各位博主能指点一二,谢谢 一、业务背景介绍 本业务专门针对连接oracle数据库,经常在开发中写sql语句有的字段需要预定义,而这些字段类型有多种,如: sql="select * from t_corp t where t.corpid=? and t.corpname=? " ,本文解决的问题就是如何把sql语句预定义的 字段统一的进行管理,客户不需考虑设置的字段是什么类型,只需要添加字段的值就可以, 如:DBParams params = ne ...
一、业务背景 web前端发送一系列数据给后台,这些数据包含字符串和字符串数组,现在的业务需求就是怎样动态的把这些数据动态映射到DAO的字段中,而dao中的字段有java的基本类型,数组类型还有集合类型,后台应该怎样处理? 封装带来的好处:HTTP传过来的字符串自动的映射到dao中相应字段的类型,其字段类型包括java基本类型、数组类型、集合类型 二、代码详解  这个是测试代码 package com.hewen.java.frame; /** * 测试类,因为httpRequest请求一般都是以字符串,或者是字符串数组传过来的 * @author Administrato ...
说明:本文版本有二个版本,每个版本都不断深化的 一、模式的提出 它定义了算法家族,分别封装起来, 让他们之间可以互相替换,此模式让算法变化,不会影响到使用算法的客户。 当不同的行为堆砌在一个类中时,就很难避免使用条件语句来选择合适的行为。将这些行为封装在一个个独立的Strategy类中,可以在使用这些行为的类消除条件语句。策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法的完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。 二、业务背景  对狗和猫相关信息如何进行排序? 三、UML图   四、代码详解 所有 ...
一、模式提出   当客户提交一个请求时,请求沿链传递直至有一个具体的操作对象负责处理它。这样就使得接收着和发送者都没有对方明确信息,且链中的对象自己也不知道链中的结构。结果是职责链可简化对象的相互连接,他们仅需保持一个指向其后继者的引用,而不需保持它所有的候选接受者的引用。这样就大大的降低了耦合度。 二、业务背景 有许多数字请求相关的对象处理,而且每个对象处理数字在每一范围类,请问如何设计? 三、UML图   四、详细代码解说 客户端的调用 package com.responsibility.Chain; /** * @author DELL *使得多个对象都有机会 ...
 一、模式的提出   为其他对象提供一种代理以控制对这个对象的访问。其实,observer也是一种代理模式 二、业务背景   要测试一个方法运行了多长时间怎么测试?要给一个方法记录日志文件怎么记录?怎样动态的设置该方法(是先记录日志文件、还是先测试运行该方法多长时间)的先后顺序,本文以测试坦克方法为例 三、UML图 四、代码详解 测试方法的接口 package com.hewen.proxy; public interface Moveable { public void move();//测试运行方法 }   Tank类 package com.hewe ...
一、模式提出 定义一种一对多的依赖关系,让多个观察者对象同时监听每一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使得他们能够自动更新自己 二、业务逻辑   在北京奋斗8年的一个小伙,天天关注北京的房价,但是每天看房价都在不停的上涨,他非常的担心。。。 三、UML图 四、代码详解 注意:Observer接口,Observable是java.util包里,详细的源码请看源代码,这里只讲核心的几个方法  Observer接口 public interface Observer { /** * This method is called w ...
一、模式提出  将一个请求封装为一个对象,从而使你可用不同的请求对客户惊醒参数化;请求排队或记录请求日志,以及支持可撤销操作。 1、它能够较容易地设计一个命令队列;                2、在需要的情况下, ...
一、模式提出的背景:  尽量使用合成/聚合,尽量不要使用类的继承,使用它有助于你保持每个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小的规模,并且不太可能增长为不可控制的庞然大物。将抽象的部分与它的实现部分分离,使它能够独立变化,通俗一点就是:实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们变化,减少他们之间的耦合。二、代码的业务背景: 有品牌手机,每一种品牌手机的软件不一样,需求就是手机的品牌是变化的,软件也是动态增加的,两者如何解耦?         三、UML类图:  四、代码解说 客户端调用 package bridge.com; ...
       装饰模式               说明:本人第一次在javaeye上发表文章,不足之处还请各位大侠多多指点 在评论上多多评价,以后好改进,谢谢! 一、模式提出的背景:       动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活,需要把所需的功能按正确的顺序串联起来进行控制。 二、代码的业务背景:          一个人需要穿夸库,西装,戴帽子,鞋子等如何动态并客户制定穿着顺序? 本次业务说明,一个人如何装扮篮球鞋、大夸裤、T恤,并且是按照一种什么样的顺序装扮。 三、UML类图:  四、代码解说 package decorator.h ...
Global site tag (gtag.js) - Google Analytics