- 博客(23)
- 收藏
- 关注
原创 查询优化
用于估计代价的目录信息n——关系r中的元组数目b——含有关系r的元组的块数目s——关系r中一个元组的大小f——关系r的块因子,即一个块中能存放的关系r的元组数V(A,r)——关系r中属性A所具有的不同值的数目。若A为关系r的码,V(A,r)即为nSC(A,r)——关系r的属性A的选择基数。给定关系r及其属性A,假定至少有一条记录满足等值条件,那么SC(A,r)表示在属性A上
2012-02-06 16:53:11
839
原创 索引和散列
顺序索引1、稠密索引:对应文件中搜索码的每一个值有一个索引记录。索引记录包括搜索码值以及指向具有该搜索码值的第一个数据记录的指针。可更快定位记录。2、稀疏索引:只为搜索码的某些值建立索引记录。占空间较小,插入和删除时的维护开销较小。多级索引在主索引上构造一个稀疏索引,如果要搜索一个记录,首先在外层索引上用二分法找到不大于所需搜索码值的最大收缩码值锁对应的记录。指针指向一个内层索引块
2012-02-02 17:34:53
6747
原创 关系数据库设计
关系数据库设计易犯错误信息重复;不能表示某些信息。模式分解令R为一关系模式,F为R上函数依赖集。R1和R2为R的分解。该分解为R的无损连接分解只要F+中至少有如下函数依赖中的一个:R1 ∩ R2 → R1R1 ∩ R2 → R2BCNFresult := {R};done := false;计算F+;while(not done)do if(resu
2012-01-31 17:55:19
491
原创 完整性约束
完整性约束保证授权用户对数据库做修改时不会破坏数据一致性。1、域约束每个属性都必须对应于一个所有可能的取值构成的域。create domain account-number char(10) constraint account-type-test check(value in ("Checking","Saving"))2、参照完整性一个关系中给定属性集上的取值也在另一
2012-01-30 16:08:51
583
原创 编程风格(二)
类1、当类失去内聚性就拆分它。系统1、将构造与使用分开:方法1:将全部构造构成搬迁到main或称之为main的模块中。方法2:抽象工厂。方法3:依赖注入。问题1、重复。重复的代码可能成为子程序或干脆是另一个类。将重复代码叠放进类似的抽象,增加设计语言的词汇量。不同模块中不断重复出现、检测同一组条件的switch/case或if/else链,可以用
2012-01-13 14:31:52
730
原创 java技巧
编译器会在包含有正确名称的方法的最内层范围内查找需要调用的方法public class Outer{public static void main(String[] args) throws Exception{new Outer().greetWorld();} private void greetWorld()throws Exception {System.o
2012-01-11 16:36:42
561
原创 编程风格
函数:1、一个函数只做一件事,函数中的语句要在同一抽象层上。自顶而下编写函数。2、最理想的函数没有参数,不要写三个参数以上的函数。三个以上的参数应该封装为类。3、如果函数要对输入参数进行转换,转换结果就该体现为返回值。无返回值的函数改变系统状态。4、尽量不要想函数传入布尔值。5、把try/catch代码块抽离形成单独的函数。格式:1、关系密切的概念应该互相靠
2012-01-10 17:46:22
403
原创 java技巧(七)
1、一个覆写方法的访问修饰符所提供的访问权限与被覆写方法的访问修饰符所提供的访问权限相比,至少要一样多。2、public class PingPong{ public static synchronized void main(String[] a){ Thread t = new Thread(){ public void run(){
2011-12-16 17:06:38
399
原创 类
1、一个包内私有的方法不能被位于另一个包中的某个方法直接覆写。对于方法,final 意味着该方法不能被覆写(对实例方法而言)或者隐藏(对静态方法而言)。对于域,final 意味着该域不能被赋值超过一次。2、如果使一个类成为可序列化的,并且接受缺省的序列化形式,那么该类的私有实例域将成为其导出API 的一部分。class Base {public static void f()
2011-12-15 11:28:27
413
原创 java技巧(五)
1、无论何时,只要你覆写了equals 方法,你就必须同时覆写hashCode 方法。对于大多数在Object中声明的非final的方法,都需要注意这一点。2、当你想要进行覆写时,千万不要进行重载。@Override public Boolean equals(Object o) { ... }在使用这个注释时,除非被注释的方法确实覆写了一个超类方法,否则它将不能编译。3、
2011-12-13 14:03:24
348
原创 java技巧(四)
1、public class Thing {public Thing(int i) { ... }...}Thing 实例没有提供任何可以获取其构造器参数的值的途径。因为Thing 是一个库类,所以你不具有访问其内部的权限,因此你不能修改它。假设编写一个称为MyThing 的子类,其构造器将通过调用SomeOtherClass.func()方法来计算超类构造器的参数。这个方法返回的值
2011-12-09 14:24:55
497
原创 java技巧(三)
1、Java 虚拟机对栈的深度限制到了某个预设的水平。当超过这个水平时,VM 就抛出StackOverflowError。2、Java 的重载解析过程是以两阶段运行的。第一阶段选取所有可获得并且可应用的方法或构造器。第二阶段在第一阶段选取的方法或构造器中选取最精确的一个。如果一个方法或构造器可以接受传递给另一个方法或构造器的任何参数,那么我们就说第一个方法比第二个方法缺乏精确性。
2011-12-09 13:56:42
275
转载 StringUtils
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。除了构造器,StringU
2011-12-06 01:29:10
420
原创 java技巧(二)
1、任何浮点操作,只要它的一个或多个操作数为NaN,那么其结果为NaN。2、操作符重载是很容易令人误解的。在本谜题中的加号看起来是表示一个加法,但是通过为变量i 选择合适的类型,即String,我们让它执行了字符串连接操作3、不要在short、byte 或char 类型的变量之上使用复合赋值操作符。因为这样的表达式执行的是混合类型算术运算,它容易造成混乱。例如。i 的初
2011-12-05 18:08:31
394
原创 java技巧
1、如果你正在在一个性能临界(performance-critical)环境中使用isOdd 方法,那么用位操作符AND(&)来替代取余操作符会显得更好:public static boolean isOdd(int i){ return (i & 1) != 0;}2、浮点运算在一个范围很广的值域上提供了很好的近似,但是它通常不能产生精确的结果。二进制浮点对于货币
2011-12-04 03:32:30
376
原创 eclipse问题解决
1、Errors occurred during the build.Errors running builder 'JavaScript Validator' on project '##'.java.lang.NullPointerException要解决这个问题,要就把JavaScript Validator去掉。去掉的方法是:选择一个项目—-右键Properties—-B
2011-11-28 13:18:07
308
转载 hashmap
大家都知道其实一个 HashMap 的实际容量就 因子*容量,其默认值是 16×0.75=12; 这个很重要,对效率很一定影响!当存入HashMap的对象超过这个容量时,HashMap 就会重新构造存取表。这就是一个大问题,我后面慢慢介绍,反正,如果你已经知道你大概要存放多少个对象,最好设为该实际容量的能接受的数字。 两个关键的方法,put和get: 先有这样一个概念,Ha
2011-11-09 11:29:39
315
转载 java calendar
1. add() 与 roll() 的区别 add() 的功能非常强大,add 可以对 Calendar 的字段进行计算。如果需要减去值,那么使用负数值就可以了,如 add(field, -value)。 add() 有两条规则: 当被修改的字段超出它可以的范围时,那么比它大的字段会自动修正。如: Calendar cal1 = Calendar.get
2011-11-07 17:06:39
411
原创 关于sql和bigdecimal的除法
sql 除法 除数为零select decode(zzc,0,0,fz/zzc) from table BigDecimal的devide的函数定义如下BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode) ;scale为小数位数;roundingMo
2011-10-27 11:00:59
2232
转载 js url传值java 页面url传值中文编码&解码
地址栏中出现汉字的情况有两种,一种是汉字出现在URL的路径部分,一种是汉字出现在URL的传参的部分,第二种情况的时候必须采用编码后传参,接受时解码的方式完成传参。js中编码有escape(),encodeURI(),encodeURIComponent()三个常用的方法,escape()常常用在提交页面和处理页面的编码格式相同的情况下(比如它们都是GB2312),encodeURI()和encod
2011-10-25 13:25:07
499
转载 google搜索技巧
1、搜索引擎忽略的字符以及强制搜索Google对一些网路上出现频率极高的英文单词,如“i”、“com”、“www”等,以及一些符号如“*”、“.”等,作忽略处理。示例:搜索关于www起源的一些历史资料。搜索:“www的历史 internet”结果:以下的字词因为使
2011-10-04 21:32:09
1010
转载 subversion冲突解决
可以使用svn status -u命令来查看一下某个问题是否会有冲突发生。在使用svn update 的时候,会出现如下一些信息:$ svn updateU INSTALLG READMEC bar.cUpdated to revision 46.那么
2011-09-29 13:23:23
559
转载 Hacking the App Stores
The Key to the Android Market is SearchAs I learned from Charles Hudson at the Android-i-fied event back in August, Android users prim
2011-09-28 09:21:19
798
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人