摘要:
List<People>list=...;//importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;classPersonimplementsComparable{privateintage;privateStringname;publicPerson(){//TODOAuto-generatedconstructorstubage=0;name="";}Person(intage,Stringname){this.age=age;this.name=name;}pu 阅读全文
摘要:
①脏读:事务A读到事务B尚未提交的数据,并基于这个数据进行后续操作 ②不可重复读:事务A读取数据后,被事务B修改或删除,事务A再次读取时前后两次读取的数据不一致 ③幻像读:事务A读取数据后,事务B新增了数据,事务A再次读取是前后两次读取的数据不一致 1 :ReadUncommitted,可以进行脏读,即使一项操作未做完或未提交,其他操作也可以读取未提交的数据。2: ReadCommitted,它是SQLServer的默认隔离级别,此级别可确保只有在第一个事务提交之后,第二个事务才能读取第一个事务操作后的数据,从而避免数据的脏读,增强了数据安全性3:RepeatableRead,这个级别扩... 阅读全文
摘要:
lock(obj) 锁定 obj 对象lock(this) 锁定 当前实例对象,如果有多个类实例的话,lock锁定的只是当前类实例,对其它类实例无影响。分析:lock(this) 锁定的对象 是当前类实例,而每个线程操作的都是oper的新实例,lock(this)只对当前实例起作用,而 slgTotal 是类的静态变量,lock(this)实际上是没在起起我们想要的结果。下面再看一种lock(obj)的实例此次运行结果和lock(this)结果是一样的。这是为什么呢?总结:其实大家不要去看lock中锁定的是this,还是obj,大家只要关心多线程锁定的对象是不是为同一个对象。如果是同一个对象则 阅读全文
摘要:
#,java,vbscript都是采用的四舍六入五成双(下有解释)。SQL server 使用的是四舍五入。C#如 Math.Round(1.25,1) = 1.2。SQL 中 select round(1.25,1) 返回的是1.3。可是国际惯例往往在国内很多企业行不通,为了应付他们的要求,采用Math.Round(price,2,MidpointRounding.AwayFromZero)就可以了。四舍六入五成双四舍六入五成双是一种精确度的计数保留法.舍入规律是"四舍六入五成双",这里"四"是小于五的意思,"六"是大于五的意思,& 阅读全文
摘要:
①脏读:事务A读到事务B尚未提交的数据,并基于这个数据进行后续操作 ②不可重复读:事务A读取数据后,被事务B修改或删除,事务A再次读取时前后两次读取的数据不一致 ③幻像读:事务A读取数据后,事务B新增了数据,事务A再次读取是前后两次读取的数据不一致 1 :ReadUncommitted,可以进行脏读,即使一项操作未做完或未提交,其他操作也可以读取未提交的数据。2: ReadCommitted,它是SQLServer的默认隔离级别,此级别可确保只有在第一个事务提交之后,第二个事务才能读取第一个事务操作后的数据,从而避免数据的脏读,增强了数据安全性3:RepeatableRead,这个级别扩... 阅读全文
摘要:
http://leaderbird.iteye.com/blog/282987 阅读全文
摘要:
建议将Session放到StateServer中,个人观点,曾经我有这样一个案例,在Win2003 + .NET 2.0 + SqlServer2000,用InProc模式,在Session中保存实例化的对象(普通的贫血可序列化实体,),某些Win2003操作系统出现了Session不稳定的情况,如无故丢失,在Win2000下试过了,绝对会丢失。后来经测试发现,在Session中保存普通变量,如string,int,bool等类型数据,不会造成这类情况发生,还有一个解决方案,就是将会话模式设为StateServer,同样可以解决上述问题,不建议SqlServer,会造成数据库压力很大。个人愚见 阅读全文
摘要:
1SET TRANSACTION ISOLATION LEVEL READ COMMITTEDBEGIN TRANSACTION UPDATE tb SET val = val + 10WHERE id = 2; WAITFOR DELAY '00:00:07' --模拟事务处理,等待5秒 -- SELECT * FROM tb; --再次SELECT tb表commit transaction--ROLLBACK --回滚事务如果这个时候进行 SELECT * FROM tb where id = 1;的话,那一定得先在id也就是说在where语句后面至少要有一个(唯一的非聚 阅读全文
摘要:
服务器性能RAM:4GB / 1067MHz / DDR 3CPU:2.53GHz Intel Core 2 Duo插入:10万25秒放入相同的记录之后,TT的文件为400多M,但MongoDB则为整整2G。因此推测这是MongoDB进行空间预分配的结通过主键获取记录 :每10万次33秒通过主键更新:每10万次25秒经过5次测试的结果,我们可以得出MongoDB的性能指标:5个并发,插入110万条记录的平均吞吐量:大约6600条/秒10个并发,插入220万条记录的平均吞吐量:大约6300条/秒20个并发,插入220万条记录的平均吞吐量:大约6300条/秒50个并发,插入550万条记录的平均吞吐 阅读全文
摘要:
ThreeSet能够对集合中的对象排序,当TreeSet想集合中加入一个对象时,会把它插入到有序的对象序列中。那么TreeSet是如何排序呢?TreeSet支持两种排序方式:自然排序和客户化排序.在默认情况下TreeSet采用自然排序方式。 先来介绍介绍什么是自然排序吧 1、自然排序 在JDK类库中,有一部分类实现了Comparable接口,如Integer Double和String等。Comparable接口有一个comparTo(Object o)方法,它返回整数类型。对于表达式x.compareTo(y),如果返回值为0,则表示x和y相等,如果返回值大于0,则表示x大于y,如果返回值. 阅读全文