`
文章列表
1.什么是敏捷?   “敏捷”是描述一些软件开发方法学的新的标志性词汇。敏捷这一概念的出现,其实是源于瀑布开发方法对我们在实际开发中带来的一系列不好的影响。使我们反思是否有一种更适合项目开发的方法,而不需要从一开始就将需求,设计都定死;而是采用一种更加灵活,迭代的方式去进行我们的项目开发。 敏捷过程,是一种十分新颖,轻量级的过程。敏捷过程不强调编写文档和提前确定。敏捷过程致力于拥抱变化(瀑布模式惧怕变化,试图在一开始就将所有变化确定下来)。   2.为什么需要面向对象?   合适的面向对象可以在应用软件成熟和扩展的过程中,提高您管理维护的能力。   3.抽象的定义   放大 ...
下面是简单的Hibernate + C3P0连接Oracle的简单配置. 这里记录起来,备以后所用.   1. 需要用到的jar 包 --for hibernateantlr-2.7.5H3.jarasm.jarcglib-2.1.jardom4j-1.6.jarehcache-1.1.jarhibernate3.jarjakarta_commons_collections.jarjakarta_commons_lang.jarjakarta_commons_logging.jarjakarta_log4j.jarjta.jar -- for oracle & c3p0ojdbc ...
1.JDBC 创建CONNECTION 的两种方式   通过Class.forName()加载数据库驱动程序,然后再使用DriverManager.getConnection() 获取连接.     通过javax.sql.DataSource提供了另一种建立数据库连接的方式.通过JNDI服务器查询,即调用Context.lookup,得到DataSource 对象,然后再调用DataSource的getConnection获取数据库连接.    2.在Tommcat 中的Context中配置数据源   <Context reloadable="true" ...
在日常生活中,我们都需要使用各种不同的锁来保护自己的私人财产,以免遭到损失.而在ORACLE中,同样也需要使用锁这个机制来保护数据库中的数据. 那么,下面就复习一下ORACLE中锁机制的各个部分. 1.锁在ORACLE中的解释 ORACLE中的锁机 ...
 看厌了那些千篇一律的门户网站,大家贡献出一些自己收藏的有个性的网址吧!不限内容、不限风格!   1.迷你小熊手语课堂http://www.hatu2008.com/zhuzhu/shouyu.html在我们的身边,还有这么一群人,他们的世界是永远寂静的,为了倾听他们的心声,让我们学习一点手语吧!      2.世界景点银行   http://us.worldviewbank.com/cn/ 足不出户,感知天下。画面简洁,音乐静谧。炎炎夏日enjoy yourself,心静自然凉。     3.大勇和小花的欧洲日记http://www.dayong.name/europe/index.html去 ...
简洁、明晰!数据库设计三大范式应用实例剖析 引言  数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。  设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。  实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将 ...
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! (1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2 WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句 ...
本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了ORACLE数据库的优化调整方案。    对于ORACLE数据库的数据存取,主要有四个不同的调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLE  RDBMS级的调整,    第三级是数据库设计级的调整,    最后一个调整级是SQL级。通常依此四级调整级别对数据库进行调整、优化,数据库的整体性能会得到很大的改善。下面从九个不同方面介绍ORACLE数据库优化设计方案。   一、数据库优化自由结构OFA(Optimal flexible Archi ...
浅复制   被复制对象的所有变量都含有与原对象相同的值,而且对其他对象的引用仍然是指向原来的对象。即 浅复制只负责当前对象实例,对引用的对象不做复制。   深复制   被复制对象的所有的变量都含有与原来对象相同的值,除了那些引用其他对象的变量。那些引用其他对象的变量将指向一个被复制的新对象,而不再是原有那些被引用对象。即 深复制把要复制的对象所引用的对象也都复制了一次,而这种对被引用到的对象复制叫做间接复制。   深复制要深入到多少层,是一个不确定的问题。在决定以深复制的方式复制一个对象的时候,必须决定对间接复制的对象是采取浅复制还是深复制还是继续采用深复制。因此,在采取深复制时,需要 ...
  前面学习了简单工厂和工厂方法模式,今天来学习工厂模式中最最抽象的一种-- 抽象工厂模式。抽象工厂模式比工厂方法处理的问题更具有抽象性与一般性。它们的区别在于: 工厂方法模式针对的是一个产品等级结构;而抽象工厂模式是针对多个产品等级结构而出现的。     说的通俗点,一个产品等级结构就是一类产品类的总称;例如: 运动鞋,休闲鞋,皮鞋等,所有鞋的种类就构成一个鞋的等级结构。而当两个或两个以上具有相同或相似等级结构的产品组合在一起时,或者在此基础上添加新的产品等级结构时,使用抽象工厂模式,就为这种添加或修改带来了更好的灵活性。下面以一个例子来说明抽象工厂模式的实用性。     在学习工厂 ...
Hibernate属性汇总(更新中)   1.控制属性的insert和update语句 Hibernate在默认情况下,会根据一个实体的映射文件,自动生成insert,update,delete语句。并将这些DML语句存放在SessionFactory二级缓存中。当执行session的save,update,delete方法时,就会在二级缓存中找到对应的sql语句执行。配置的如下: <property name="name" update="false" column="name"/>  property元素中 ...
  前面学习简单工厂模式的时候提到,简单工厂虽然很好用,就一个静态工厂方法就解决了所有产品类实例化的工作。但也正是因为它将所有产品类的创建逻辑都封装到一个静态方法中,如果现在我需要添加一个新的产品类,那么就必须修改简单工厂的这个静态方法;这样的话,就破坏了“开-闭”原则,对修改没有完全的关闭。今天讲的工厂方法模式,正是对简单工厂模式的补充,使用工厂方法模式弥补了简单工厂模块对“开-闭”原则的支持不足的问题。     工厂方法模式在工厂类的基础上,抽象出一个所有工厂类的父类 -- 抽象工厂,然后为每个具体产品都提供一个具体的工厂类,一个具体的工厂类就只负责一类具体产品的创建工作! 这样就将在静 ...
  工厂模式的作用在于将创建对象的过程封装到一个类中完成,减少在客户端的耦合程度。 工厂模式有几种实现的形式,今天从最简单的一种实现入手,简单工厂模式(静态工厂模式)。简单工厂模式也称为静态工厂模式,就是因为在整个工厂类中,只有一个静态的工厂方法用于创建实例对象。   简单工厂模式中一共包含了三个角色类型: 工厂角色,抽象产品角色,具体产品角色。   工厂类角色: 担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的逻辑   抽象产品角色: 担任这个角色的类是工厂方法模式所创建的对象的超类   具体产品角色: 实际返回给客户端的产品对象   // 工厂类角色 pub ...
一.一般SQL技巧   SQL语句得调整 1.建议不用'*'来代替所有列名  用'*'来代替所有列,会出现解析得动态问题,Oracle系统先要查询数据字典将'*'转换成该表得所有列名   2.用
Java的内存模式    Java的内存模式,亦即Java执行处理系统所设置的内存模式,规定于"Java语言规格书第二版"的第17章"线程与锁定",但这个规格在解读上十分困难,因此,下面针对一下几个问题进行详细的解说。   主存储 ...
Global site tag (gtag.js) - Google Analytics