摘要: 以下代码,在Lock里面使用递归操作,是否会造成死锁问题??该问题也是很多coder在面试时经常会碰到的问题,在此做下笔记,不懂的coder也可以顺便了解下,确保面试不再因此碰壁。 1 public class A 2 { 3 private object obj = new object(); 4 public void Test(int i) 5 { 6 lock (obj) 7 { 8 if (i > 10) 9 {1... 阅读全文
posted @ 2013-08-03 20:38 Ling.zx 阅读(625) 评论(0) 推荐(0) 编辑
摘要: ref 和out 关键字 通过对CLR的学习,我们可以知道,CLR默认所有方法参数都是传值的。对于引用类型的对象,传递的是对象的引用(指向对象的指针),被调用者拥有该对象的引用的拷贝,能够修改对象,改变对象的值;而对于值类型的实例来说,传递给的是实例的一个副本,被调用者对该副本所做的修改不会影响调用者中的实例。 上面使用的是按传值方式来传递参数。接下来,讲按传引用的方式来传递参数。 C# 中提供了 ref 和 out 关键字以便参数按引用(地址)传递,对值类型使用ref和out,为被调用者分配一个托管指针,该指针指向调用者的变量;对于引用类型的话,为被调用者分配一个托管指针,... 阅读全文
posted @ 2013-07-25 01:12 Ling.zx 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 前述:这里主要是记录下自己学习设计模式的过程,把学到的模式做个笔记,方便以后查阅、进一步学习;同时也希望对其他人有点帮助。 第一个学习到的是:简单工厂模式1、定义:由一个工厂对象决定创造哪一种产品类的实例2、优缺点: 优点:将实例化具体对象的操作从客户端抽离出来,实现很好的分离,各司其职。 缺点:当需求变动,需要增加新的产品类时,需要找回工厂类,在工厂类中增加新产品的实例化操作,违背了“开放-关闭”原则,即:对扩展开放,对修改关闭,在工厂方法模式中能够解决此不足之处。3、应用场景:主要应用在实现简单的实例化对象操作的情况下。4、Demo:CashFactory类:工厂类 1 ... 阅读全文
posted @ 2013-07-23 14:18 Ling.zx 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 一、什么是关系型数据库 所谓关系型数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为数据库架构的主流模型。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。下面列出了关系模型中的常用概念。关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名。元组:可以理解为二维表中的一行,在数据库中经常被称为记录。属性:可以理解为二维表中的一列,在数据库中经常被称为字段。域:属性的取值范围,也就是数据库中某一列的取值. 阅读全文
posted @ 2013-07-23 08:57 Ling.zx 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 1、相同点: (1) 都可以被继承 (2) 都不能被实例化 (3) 都可以包含方法声明 (4) 派生类必须实现未实现的方法2、区 别: (1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。 (2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。。。” (3) 接口可以被多重实现,抽象类只能被单一继承 (4) 抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中 (5) 抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的 阅读全文
posted @ 2013-07-20 09:00 Ling.zx 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 自我感觉在算法方面还是很薄弱,所以打算重新学习下算法,提高自己的码农水平,毕竟算法在平时的开发中也是经常需要使用到的,很多程序写出来很耗性能跟时间,主要还是算法处理得不好。 Learn arithmetic step by step... 很多东西还是需要一步一步,脚踏实地慢慢来的,学习算法亦是如此,欲速则不达。 今天简单了解了一下"穷举法",穷举法也即:暴力破解法,如最常见的密码破解法,将密码进行逐个推算直到找出真正的密码为止。 编程中常用的例子,如 :使用穷举法列出100以内的素数 1 namespace 穷举法 2 { 3 class Program 4 ... 阅读全文
posted @ 2013-07-17 17:32 Ling.zx 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 这几天打算买台好点的属于自己的本本,在京东商城跟太平洋电脑网上查询了很多本本,对比了好久。找本本的过程跟找老婆、找工作一样,真心好纠结啊,好难找啊。 在专业人士(郭少)的指导下,终于...,感谢郭少同志,下次亲自下厨请你们。 虽然自己是软件工程专业(说实话,这专业真坑爹,毁了好多俊男靓女的前程),可惜对电脑硬件真的是一窍不通啊;另一方面,考虑到本人经济收入有限,实在买不起高端点的、更好点的本本。 因此,这个寻找的过程费了我好几天,弄得自己想买但又不想买了,最后还是坚决点狠下心,如果没有一个像样点的本本,怎么更好的开发,更好的学习。 为了自己能够更好的学习、工作,终于昨天晚上在京东上... 阅读全文
posted @ 2013-06-10 01:02 Ling.zx 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 在学习Spring.NET这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC)。 控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection)。 我个人认为控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理这些对象,使得依赖脱离类本身的控制,从而实现松耦合。 我们先来看一段代码View Code namespace Dao{ public interface IPersonDao { void Save(... 阅读全文
posted @ 2012-07-20 18:09 Ling.zx 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 今天碰到了这样一个问题:validateRequest验证引发错误“检测到有潜在危险的 Request.Form 值” 百度下这个问题,很多人也都碰到过这种情况,原因是这样的: ASP.NET请求验证功能提供了应用程序的安全保证,避免站点受到XSS的攻击。但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候ASP.NET 2.0允许我们可以通过在web.config设置validateRequest="false"。或者在MVC中,我们可以通过在Controller或者Action上设置[ValidateReque 阅读全文
posted @ 2012-03-05 22:45 Ling.zx 阅读(559) 评论(1) 推荐(0) 编辑
摘要: 故障现象:1、电脑运行缓慢,几乎不能操纵2、此数据源支持的web程序已down,暴露出来的Error:获得连接超时。3、本地连接数据库没有问题,但是本地的Web程序居然获得不了数据连接4、CPU利用率、内存占用并不高系统出现当机的可能性很多,造成了确定原因很困难。只能地毯式搜索。1、系统已经进行了全面的查毒、查木马操作,没有发现可疑文件,系统补丁也及时进行修复,被人挂马的可能性不大。根据系统的LOG进行排查:2、远程登录加载的程序错误。尽管爆出多次错误,但不致于数据库连接中断。同样出现类似问题的其它机器并未出现宕机。3、日志自动增长超时,这个可能性很大。在两次系统当机前,这个Error曝出的最 阅读全文
posted @ 2012-01-20 20:22 Ling.zx 阅读(2284) 评论(0) 推荐(0) 编辑