malaikuangren

What is the purpose or drive to build thing like (xxx),How can it achieve the original goal of design?

2012年4月8日

C#委托之个人理解(转自:http://www.cnblogs.com/michaelxu/archive/2008/03/31/1131500.html)

摘要: 什么是委托 首先要知道什么是委托,用最通俗易懂的话来讲,你就可以把委托看成是用来执行方法(函数)的一个东西。如何使用委托 在使用委托的时候,你可以像对待一个类一样对待它。即先声明,再实例化。只是有点不同,类在实例化之后叫对象或实例,但委托在实例化后仍叫委托。声明,如:1namespaceVczx.ProCSharp.Exc2{3delegatedoubleMathsOp(doublex);4//classdefinationhere5} 这就声明了一个委托,意义:任何一个返回值为double,且只有一个形参为double的函数,都可以用这个委托来调用。 注意:委托的声明位置在names... 阅读全文

posted @ 2012-04-08 20:26 malaikuangren 阅读(649) 评论(0) 推荐(0) 编辑

2012年4月7日

连接查询和子查询的详解

摘要: --=========================--SQL基础-->子查询--=========================/*一、子查询子查询就是位于SELECT、UPDATE、或DELETE语句中内部的查询二、子查询的分类单行子查询返回零行或一行多行子查询返回一行或多行多列子查询返回多列相关子查询引用外部SQL语句中的一列或多列嵌套子查询位于其它子查询中的查询三、子查询语法*/SELECTselect_listFROMtableWHEREexpr operator(SELECTselect_listFROMtable);/*子查询(内部查询)在执行主查询之前执行一次然后主查 阅读全文

posted @ 2012-04-07 19:00 malaikuangren 阅读(755) 评论(0) 推荐(0) 编辑

2012年4月6日

事务的隔离级别

摘要: 事务隔离级别 ANSI/ISO SQL标准定义了4种事务隔离级别,对于相同的事务,采用不同的隔离级别分别有不同的结果。也就是说,即使输入相同,而且采用同样的方式来完成同样的工作,也可能得到完全不同的答案,这取决于事务的隔离级别。这些隔离级别是根据3个“现象”定义的,以下就是给定隔离级别可能允许或不允许的3种现象: a)脏读(dirty read):你能读取未提交的数据,也就是脏数据。只要打开别人正在读写的一个OS文件(不论文件中有什么数据),就可以达到脏读的效果。如果允许脏读,将影响数据完整性,另外外键约束会遭到破坏,而且会忽略惟一性约束。 b)不可重复读(nonrepeatable read 阅读全文

posted @ 2012-04-06 22:33 malaikuangren 阅读(201) 评论(0) 推荐(0) 编辑
悲观锁和乐观锁的一些观点(转自http://www.hetaoblog.com/myblogs/post/pessimistic-optimistic-locking-views.jhtml)

摘要: 本质上,数据库的乐观锁做法和悲观锁做法主要就是解决下面假设的场景,避免丢失更新问题:一个比较清楚的场景下面这个假设的实际场景可以比较清楚的帮助我们理解这个问题:假设当当网上用户下单买了本书,这时数据库中有条订单号为001的订单,其中有个status字段是’有效’,表示该订单是有效的;后台管理人员查询到这条001的订单,并且看到状态是有效的用户发现下单的时候下错了,于是撤销订单,假设运行这样一条SQL: update order_table set status = ‘取消’ where order_id = 001;后台管理人员由于在b这步看到状态有效的,这时,虽然用户在c这步已经撤销了订单, 阅读全文

posted @ 2012-04-06 22:32 malaikuangren 阅读(279) 评论(0) 推荐(0) 编辑
Hibernate的悲观锁和乐观锁实现

摘要: 锁( locking )业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的 “锁” ,即给我们选定的目标数据上锁,使其无法被其他程序修改。Hibernate 支持两种锁机制:即通常所说的 “悲观锁( Pessimistic Locking )”和 “乐观锁( Optimistic Locking )” 。悲观锁( Pessimi 阅读全文

posted @ 2012-04-06 22:18 malaikuangren 阅读(400) 评论(0) 推荐(0) 编辑
乐观锁和悲观锁(个人认为是对数据库锁的机制的一个宏观应用)

摘要: 悲观锁与乐观锁----------悲观锁【Pessimistic Locking】顾名思义就是采用一种悲观的态度来对待事务并发问题,我们认为系统中的并发更新会非常频繁,并且事务失败了以后重来的开销很大,这样以来,我们就需要采用真正意义上的锁来进行实现。悲观锁的基本思想就是每次一个事务读取某一条记录后,就会把这条记录锁住,这样其它的事务要想更新,必须等以前的事务提交或者回滚解除锁。假如我们数据库事务的隔离级别设置为读取已提交或者更低,那么通过悲观锁,我们控制了不可重复读的问题,但是不能避免幻影读的问题,因为要想避免我们就需要设置数据库隔离级别为Serializable,而一般情况下我们都会采取读 阅读全文

posted @ 2012-04-06 22:08 malaikuangren 阅读(549) 评论(0) 推荐(0) 编辑
事务的acid理解

摘要: 简介 ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability).这是可靠数据库所应具备的几个特性.下面针对这几个特性进行逐个讲解.理解原子性(Atomicity) 原子性意味着数据库中的事务执行是作为原子。即不可再分,整个语句要么执行,要么不执行。 在SQL SERVER中,每一个单独的语句都可以看作是默认包含在一个事务之中:所以,每一个语句本身具有原子性,要么全部执行,这么全部不执行,不会有中间状态:上面说了,每一条T-SQ 阅读全文

posted @ 2012-04-06 15:21 malaikuangren 阅读(10120) 评论(1) 推荐(5) 编辑

2012年4月5日

CSharp HttpClient by CodeScales.com

摘要: AnHTTP client librarywith a very simple API, written in CSharp (.Net 2.0) for sending HTTP requests and receiving HTTP responses.This library is much simpler to use than the HttpWebRequest provided with the .Net library.This library was inspired by the JAVAHttpClientlibrary, and has a very similar A 阅读全文

posted @ 2012-04-05 19:16 malaikuangren 阅读(1284) 评论(0) 推荐(0) 编辑

2012年4月1日

Cookie欺骗的原理

摘要: 当访问asp.net网站时(这里用的是chrome), 如下图所示:然后点击“审查元素”菜单时,如下所示:再查看"Resources"下的Cookie,你会发现,存在一个叫ASP.NET_SessionId的Cookie变量,如下所示:Session,通常服务端使用方式Session["uid"]获取到的值就是你的用户名。A与B访问该页面,服务器返回Session["uid"]的值不同。为什么?那是通过个ASP.NET_SessionId的Cookie变量来区分不同的Client的。但Client访问服务器后,服务器给每个Client 阅读全文

posted @ 2012-04-01 16:25 malaikuangren 阅读(999) 评论(0) 推荐(0) 编辑

2012年3月27日

进程之间及跨进程的Appdomain之间通讯方式

摘要: 进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。这些进程可以运行在同一计算机上或网络连接的不同计算机上。进程间通信技术包括消息传递、同步、共享内存和远程过程调用。IPC是一种标准的Unix通信机制。使用IPC 的理由:资讯共享加速;模组化;方便; 以及私有权分离.主要的 IPC 方法方法提供方(操作系统或其他环境)档案多数操作系统信号多数操作系统Socket多 阅读全文

posted @ 2012-03-27 21:32 malaikuangren 阅读(679) 评论(0) 推荐(0) 编辑