`
文章列表
转载地址:http://oracle.chinaitlab.com/optimize/38502.html  什么是索引      索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据;      Oracle存储索引的数据结构是B*树,位图索引也是如此,只不过是叶子节点不同B*数索引;      索引由根节点、分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行实际位置的rowid。      使用索引的目的   加快查询速度   减少I/O操作   消除磁盘排序      何时使用索引   查询返回的记录数   排序表<40%   非排 ...
在平时设计中,往往忽略的是设计原则,而注重了业务的开发,导致代码质量大大下降,给维护和功能扩展带来了很大的麻烦,设计原则主要涉及以下六种: 1.单一职责原则 详细定义:应该有且只有一个原因引起类的变更 view plaincopy to clipboardprint? public interface IPhone{  //拨通电话  public void dial(String phoneNumber);  //通话  public void chat(Object o);  //通话完毕,挂电话  public void hangup();  }  我们在实际的项目 ...
每一种语言都有其自身的特点,只有掌握了其自身的特点,才能用它编写出高效的程序。下面就我个人实践所知谈谈javaSE方面的性能问题, javaEE方面的性能暂不讨论,要是时间可以再写一javaEE方面的性能问题的帖子。 1, 尽量 ...
   在对象开发过程中一个很重要的原则就是:要设计软件,使得软件的结构反应问题的结构。……模型的选择会影响最终产生的系统的灵活性和可重用性    领域模型是对实际问题领域的抽象表示,它专注于分析问题领域本身,发觉重要的业务领域 概念,并建立业务领域概念之间的关系。    领域模型是现实世界概念类的一种表示,不是软件组件的一种表示。它不是描述软件类的图 集,也不是有着职责的软件对象。    一般情况下,领域模型用下面两种UML图表示: •类图 类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的 内部结构以及它们与其他类的关系等。类图不显示暂时性信息。 类图(Cl ...
在重构方法中以查询替代临时变量和引入解释性变量,起初觉得有点矛盾的方法, 引入解释性变量:是引入临时变量。 以查询替代临时变量:是去除临时变量。 起初从字体上分析存在对立的两种方法,但仔细分析却发现,两者有本质的区别: 引入解释性变量是当表达式非常复杂而难以阅读,则考虑采用临时变量将表达式分解成比较容易管理的形式,是从和维护的角度考虑的。 去除临时变量是临时变量只有在所属的方法才可见,如果把临时变量替换成一个查询式那么同一个class中的方法都可以访问临时变量信息。  这样提高了代码的复用性,其实也是抽取方法的一种形式。 这是鄙人对两种重构方法的肤浅理解,并不断的学习重构知识,将在实际 ...
异曲同工的类 •症状: –两个类看上完成相同的工作,但却使用了不同的方法名 •措施: –协调各个类,使之取得一致,从而可以删除某个类 •采用重命名方法,使方法名类似 •使用移动方法、增加参数和方法参数化,从而 ...
代码存在需要重构的种类如下: Duplicated Code 重复的代码 •Long Method 过长方法 •Large Class 过大类 •Long Parameter List 过长参数列表 •Divergent Change 发散式变化 •Shotgun Surgery 霰弹式修改 •Feature Envy 依恋情结 •Data Clumps 数据泥团 •Primitive Obsession 基本类型偏执 •Switch Statements Switch语句 •Parallel Inheritance Hierarchies 平行继承层次 Lazy Class 多余的类 •Spe ...
重构的概念: Refactoring(名词):对软件内部结构的一种调整,目的是在不改变软件外部行为的前提下,提高其可理解性,降低其修改成本. •Refactor(动词):使用一系列重构准则(手法),在不改变起外部行为的前提下,调整其结构. 重构场景: •预先设计无法解决所有问题,一般预先设计中充满了小漏洞 •缺乏设计的代码通常使用较多的代码做同样的事情 •软件是在逐渐修改中变的腐朽,通过重构改进之 •使软件易于理解 –在大多数软件开发环境中,其他人将读你的代码 •帮助发现缺陷 •帮助提高编程速度 重构时机: •三次法则 –事不过三,三则重构 •增加新功能时 •修改BUG时 •代码评审时
JVM参数调优是个很头痛的问题,设置的不好,JVM不断执行Full GC,导致整个系统变得很慢,网站停滞时间能达10秒以上,这种情况如果没隔几分钟就来一次,自己都受不了。这种停滞在测试的时候看不出来,只有网站pv达到数十万/ ...
<!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=ut ...
oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 (     参数1 IN NUMBER,     参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT   将select查询的结果存入到变量中,可以 ...
应用J2EE平台开发的系统的性能是系统使用者和开发者都关注的问题,本文从服务器端编程时应注意的几个方面讨论代码对性能的影响,并总结一些解决的建议。   关键词:性能,Java,J2EE,EJB,Servlet,JDBC   一、概要   Java 2 Platform, Enterprise Edition (J2EE)是当前很多商业应用系统使用的开发平台,该技术提供了一个基于组件的方法来设计、开发、装配和部署企业级应用程序。J2EE平台提供了一个多层结构的分布式的应用程序模型,可以更快地开发和发布的新的应用解决方案。J2EE是一种技术规范,定义了整个标准的应用开发体系结构和一个部署环境, ...
一、CMM的基本框架 1.CMM的设计思想     任何软件开发和软件企业的发展都离不开软件过程,而软件过程必然要经历一个从不成熟到成熟,从不完善到完善的发展过程。它不是一朝一夕就能成功的,需要持续不断的对软件过程 ...
近日,有人在Stack Overflow上发表提问“动手开发网站之前,需要知道哪些事情?”,众多人给出了不同的答案,同时所有人根据Stack Overflow问题下面的wiki区对众多答案进行了编辑,总结出62条网站开发人员应该知道的事。Web技术开发者阮一峰把这62条答案进行了翻译,现转载于此,全文如下: 有人在Stack Overflow上发问,动手开发网站之前,需要知道哪些事情?不出意料地,他得到了一大堆回答。 通常情况下,你需要把所有人的发言从头到尾读一遍。但是,Stack Overflow有一个很贴心的设计,它允许在问题下方开设一个wiki区,让所有人共同编辑一个最佳答案。于是,就 ...
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?) 除了返回类型模式(上面代码片断中的ret-type-pattern),名字模式和参数模式以外,所有的部分都是可选的。 返回类型模式决定了方法的返回 ...
Global site tag (gtag.js) - Google Analytics