`
文章列表
建造者模式来说:对于客户端来说,相关的产品内部的元件的建立都是被隐藏的.我们通过相关的角色去完成产品对象及其元件的建立. 引用<Java模式>的一句话是这样说的:一个导演者对象和具体建造者对象一个一个地建造出所有的零件,从而建造出完整的产品对象.建造者模式将产品的结构和产品的零件建造过程对客户端隐藏起来,把对建造过程进行指挥的责任和具体建造者零件的责任侵害开来.达到责任划分和封装的目的. 我觉得建造者模式当中:相关角色的定义是最为重要的.它们各司其职,而又互不干涉. 抽象建造者角色:它是一个抽象接口,给出了建立相关元件的方法及一个返回对象的方法.这个接口必须由具体建造者角色 ...
参考:http://archive.cnblogs.com/a/1896471/ 附件:本人的小的案例
工厂模式是:定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例化延迟到子类。 它有个特点,就是通常工厂的类层次与产品的类层次几乎是一样的树。如果说工厂是你的影子,你就是产品了。在你平时未用到模式的时候,你需要什么就new一个,这种情况就好比你躺在地上,人影合一了。那什么时候需要工厂模式呢。看看定义:“使一个类的实例化延迟到子类”,这个是关键,当你有必要延迟实例化的时候才需要用工厂模式。那什么情况下要延迟呢,在单例模式中有惰性单例(就是单例那个静态属性)……等等,就是一开始你还不适合立刻就创建该对象,你还需要一些资源或其它准备工作。整个系统的运行不像单个程序那样,系统需要很多资 ...
MySql:免费的,当数据达到200w-300w,性能是最好的。数据量越大,性能下降的就越快。注明:淘宝还在用MySQL,可能存在集群。 Oracle:一年几十万的服务费用,性能好,适合大数据量。 pgSQL:和比MySQL稳定,和Oracle在转换的的时候 ...
申明:个人小总结。 OutOfMemoryError的原因:1.死循环;2.取了大量的数据,同时Tomcat中分配的内存大小很小; 当然解决大量数据目前也没有绝对的方法,但是我们可以采用分页的方法:(1)将所有的数据取到内存中,但是这样会有可能的两种后果:首先数据量过大,内存溢出。(2)一次从数据库中取出。虽然下次取数据的时候不要执行sql,但是数据库一直占用着resultset,很占用资源的。(3)每次需要的时候从数据库里面取出,但是结果就是每次都要开闭数据库的连接,耗时耗资源。(4)取出数据的时候,肯定会放在缓存中,例如map,但是我们如何控制缓存满的时候如何删除数据?
文档参考:http://xtuhcy.iteye.com/blog/1426883
分页主要分为:直接使用ResultSet来处理和定位行集SQL查询。 直接使用ResultSet来处理: 优点:减少了数据库连接对象的多次分配获取,减少了对数据库的SQL查询执行。 缺点:占用数据库访问资源-数据库连接对象,并占用了数据库上的资源-游标;会消耗大量内存; 定位行集SQL查询: 优点:对数据库的访问资源(数据库连接对象,数据库游标等)没有浪费,这些资源的充分重复的利用。 缺点:对每次分页面查询请求要频繁的从Web容器中获得数据库访问资源(数据库连接对象和数据库游标)并建立连接;要依赖于具体的数据库产品的支持。 读取打得数据量的时候,我们首先应该考虑到”缓存“来存储数据,但是我们这 ...
这些组件也是从网上找来的!主要有利于本人的学习!如有侵犯版权,向您致敬!
1.使用工具:面向对象语言开发环境(C++/Java)、UML建模工具(Rose) 2.理解各种设计模式(Gof的23种模式)描述的基本概念 3.分析典型的应用(比如Java的API) 4.不断实践
“设计”是一种手段,“设计的目的”在于去使用,遵循一定的思想与思考,逻辑的去分割组织并且不断地去填充,最终这就是是架构的目的!但是木有任何一个架构能称得上“完美”:一个系统上的人数多了,用户不断变化的需求,必然导致原先的架构出现BUG!
1.为什么要配置数据源? 答:最主要的从性能上来考虑,减少了数据库连接的获取与释放(数据库初始化的时候,已经数据库连接池中建立好已知大小的的数据库的连接,在不超时的前提下进行获取,并且用完之后释放连接到连接池中等待下次的连接的请求),提高了整个项目的进程; 2.配置数据源的大致的步骤? 答:(1)在server.xml中<host>中配置。或者在Catalina中localhost的目录下面进行配置。注意:Catalina:为Engine的名称;localhost为Host的名称。(2)最后在应用的web.xml中进行配置。 以上是我学习的大致的总结。
第一种:    <script language="javascript" type="text/javascript">           window.location.href="login.jsp?backurl="+window.location.href;     </script> 第二种:    <script language="javascript">window.history.back(-1);</script> 第三种:   <s ...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb ...
☆ 开闭原则指的是一个软件实体应对对扩展开发,对修改关闭(Software entities should be open for extension, but closed for modification)。这个原则是说在设计一个模块的时候,应对使这个模块可以在不被修改的前提下被扩展,换言之,应对可以不必修改源代码的情况下改变这个模块的行为。 ☆ 满足开闭原则的软件系统的优越性: ① 通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性和灵活性。 ② 已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。 ...
(1)简介 Proxy模式也叫代理模式,是由GoF提出的23种软件设计模式的一种。Proxy模式是构造型的设计模式之一. 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。 根据这些“特别处理”的不同,有以下几种常见的代理模式: - Remote proxy:远程代理。该代理可以让客户端透明地引用一个存在于不同地址空间(远程或本地)的对象。 - Virtual proxy:虚拟代理。该代理允许一个对象只有在真正被用到时才被创建。 - Copy-on-write proxy:对象拷贝 ...
Global site tag (gtag.js) - Google Analytics