摘要: Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。Hash 阅读全文
posted @ 2013-06-01 00:34 一宁 阅读(441) 评论(1) 推荐(0) 编辑
摘要: Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出 的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据。在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffer cache,本文后续的论述中,统一称为cache。Oracle中的log buffer是解决redo写入的问题,而data buffer cache则解决data block的读写问题。对于Oracle来说,如果IO没有在SGA中命中,都会发生物理IO,Oracle并不关心底层存储的类型,可能是一套存储系 统,可能是本地磁盘 阅读全文
posted @ 2013-05-26 10:32 一宁 阅读(1334) 评论(0) 推荐(1) 编辑
摘要: response.setHeader 是用来设置返回页面的头 meta 信息,使用时 response.setHeader( name, contect ); meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中 1、<meta name="Generator" contect="">用以说明生成工具(如Microsoft FrontPage 4.0)等;2、<meta name="KEYWords" contect="& 阅读全文
posted @ 2013-05-22 09:57 一宁 阅读(1166) 评论(1) 推荐(0) 编辑
摘要: 代理模式先上类图结构关键点:一个抽象接口Subject,一个实现类RealSubject,一个实现类Proxy,该类中包含一个属性Subject realSubject;静态代理类抽象接口Subject如下:publicinterfaceSubject { publicvoidoperation();}实现类RealSubject如下:publicclassRealSubjectimplementsSubject {@Overridepublicvoidoperation() {//TODOAuto-generated method stubSystem.out.println("W 阅读全文
posted @ 2013-05-09 15:37 一宁 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 声明:以下讨论只是针对InnoDB存储引擎。何为死锁?死锁是对资源的分配和使用不当而造成的。是两个进程争夺某一资源而出现相互等待的现象。具体的来讲,出现死锁需要满足四个必要条件:(1)互斥条件:每一个资源都只能被一个进程使用(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。很显然,出现死锁需要两个或者两个以上的进程,换句话说,死锁发生在并发的程序中。在Mysql中,由于目前只有InnoDB引擎使用事务(InnoDB支持锁),便有了InnoD 阅读全文
posted @ 2013-05-09 14:09 一宁 阅读(898) 评论(0) 推荐(0) 编辑
摘要: Javascript创建对象:1、使用一对大括号,如下形式varperson={'id':1,'name':'yining','get':function(){returnthis.id;}};需要对这个对象进行扩充时,可以这样做:person.speak=function(language){alert(this.name+"speaks"+language);}调用:person.speak("chinese");但是使用这种方式时,只是简单的声明了一个变量,只有一份拷贝,因此不能使用n 阅读全文
posted @ 2013-05-09 14:00 一宁 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 文章出处:http://dev.mysql.com/doc/refman/5.6/en/range-optimization.html(翻译的有纰漏的地方,请见谅)单列索引的范围查询对于单列索引,索引值的区间可以方便的以相应的WHERE从句中的条件来表示,所以我们谈论范围查询而不是“间隔”。对于单列索引,范围查询条件定义为如下几种情况:1、对于所有的B+树和哈希索引,使用键列和一个常量通过=、<=>、IN()、IS NULL,或者IS NOT NULL等操作符来比较。2、另外的,对于B+ 树索引使用键列和一个常量通过>,<,>=,<=,BETWEEN,!=, 阅读全文
posted @ 2013-03-28 23:40 一宁 阅读(1563) 评论(0) 推荐(1) 编辑
摘要: 1、每当要将一个byte序列转换成一个String时,你都在使用一个字符集,不管是否显式的指定了它。如果想让程序行为可预知,那么每次在使用字符集时都明确的指定它。2、Java的重载解析过程是分两段运行的。第一阶段选取所有可获得并且可应用的方法或构造器。第二阶段在第一阶段选取的方法或构造器中选取最精确的一个。如果一个方法或构造器可以接受传递给另个方法或构造器的任何参数,那么我们就说第一个方法比第二个方法缺乏精确性。解惑463、对静态方法的调用不存在任何动态的分派机制。解惑484、在final类型的静态域被初始化之前,存在着读取其值的可能性。解惑495、Instanceof操作符被定义为在其操作数 阅读全文
posted @ 2013-02-26 14:49 一宁 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 事务的四个特性1、原子性(atomicity)原子性是指整个数据库事务是不可分割的工作单位2、一致性(consistency)一致性指事务将数据库从一种状态转变为下一种一致的状态。在事务开始之前和事务结束之后,数据库的完整性约束没有被破坏。3、隔离性(isolation)一个事务的影响在该事务提交之前对其他事务都不可见------这通过锁来实现4、持久性(durability)事务一旦提交,其结果就是永久性的事务的实现隔离性通过Mysql InnoDB锁就可以实现,原子性、一致性、持久性通过数据库的redo和undo来完成隐式提交的SQL语句以下这些SQL语句会产生一个隐式的提交操作,即执行完 阅读全文
posted @ 2013-01-19 08:41 一宁 阅读(11711) 评论(1) 推荐(1) 编辑
摘要: Mysql常用存储引擎的锁机制MyISAM和MEMORY采用表级锁(table-levellocking)BDB采用页面锁(page-levelocking)或表级锁,默认为页面锁InnoDB支持行级锁(row-levellocking)和表级锁,默认为行级锁各种锁特点表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生冲突的概率最高,并发度最低行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高页面锁:开销和加锁时间介于表锁和行锁之间;会出现死锁;锁定粒度介于表锁和行锁之间,并发度一般InnoDB存储引擎的锁InnoDB存储引擎实现了如下两种锁1、共享锁(S 阅读全文
posted @ 2013-01-17 21:56 一宁 阅读(6023) 评论(0) 推荐(0) 编辑