自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 MongoDB学习笔记(一)

数据类型字符串整型布尔值浮点型数组类型时间类型文档类型空值NULL字符串(symbol通常表示特殊字符)时间戳ObjectID二进制代码js正则表达式概念mysqlmongoDB含义databasedatabase数据库tablecollection表/集合columnfield字段/域rowdocu...

2019-08-23 00:01:00 101

转载 设计模式:装饰者模式

装饰者模式动态地将责任附加到对象上。若要拓展功能,装饰者提供了比继承更有弹性的替代方案。1. 角色抽象构件(Component)角色:要包装的原始对象,是一个抽象类或接口。具体构件(ConcreteComponent)角色:最终要装饰的实际对象,是Component的实现类。装饰(Decorator)角色:是一个抽象类,继承自Component,同时持有一个对Component...

2019-08-21 23:57:00 133

转载 设计模式:观察者模式(二)——C#内置接口实现观察者模式

通过C#的内置观察者接口实现观察者模式1. 接口介绍C#内部提供了IObservable和IObserver两个泛型接口,IObservable是可观察的,就是主题(Subject)要实现的接口,IObserver就是观察者需要实现的接口,接口定义如下://T:提供通知信息的对象。public interface IObservable<out T>{ //...

2019-08-18 18:24:00 324

转载 设计模式:观察者模式(一)

观察者模式定义了对象之间一个主题对多应多个观察者的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。角色:主题(Subject):主题是一个接口,该接口规定了具体主题需要实现的方法观察者(Observer):观察者是一个接口,该接口规定了具体观察者用来更新数据的方法。具体主题(ConcreteSubject):具体主题是实现主题接口类的一...

2019-08-17 22:28:00 66

转载 ID升GUID升级脚本

数据库整合,为保证id唯一,将id改为guid,由 int 型 Id 改为 UniqueIdentifier 类型。大致步奏如下:Id删除主键,约束,索引等。Id重命名为OriginalId,作为Id数据备份,关联其余数据表。新建UniqueIdentifier类型Id。关联字段重复操作1-3。(ex: OperatorId 重命名 OriginalOperato...

2019-06-26 11:06:00 124

转载 线程基础四 使用Monitor类锁定资源

  前面我们讲过了lock的用法以及竞争条件导致的错误,实际上lock关键字是Monitor类用例的一个语法糖。如果我们分解使用了lock关键字的代码,将会看到它如下面代码片段所示: bool acquireLock = false; try { Monitor.Enter(lockObject, ref acquireLock);...

2018-12-20 23:33:00 94

转载 线程基础三 使用C#中的lock关键词

  C#中lock关键字主要是为确保当一个线程使用某些资源时,同时无法其他线程无法使用该资源。下面我们看看下面的小例子。 static void Main(string[] args) { var c = new Counter(); var t1 = new Thread(() => TestCount...

2018-12-19 23:26:00 76

转载 线程基础二 向线程传递参数

  在C#中,向线程中传递参数的方法通常有三种,将在下面的例子中展示。 static void Main(string[] args) { var sample = new ThreadSample(10); //1 自定义类 var threadOne = new Thread(...

2018-12-17 23:50:00 79

转载 线程基础一 前台线程与后台线程

  当程序启动时定义了两个不同的线程。默认情况下,显式创建的线程是前台线程。前台线程与后台线程的主要区别在于:进程会等待所有的前台线程完成工作后再结束工作,但是如果只剩下后台线程,则会直接结束工作。从下面的小例子可以看出。  通过定义两个线程,并手动的设置ThreadTwo对象的IsBackground属性为true来创建一个后台线程。通过配置来实现第一个线程会比第二个线程先完成。...

2018-12-17 21:57:00 98

转载 Linux目录结构

Linux目录结构/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也就是最上级的领导者/bin:在一般的系统当中,都可以在这个目录下找到。Linux常用的命令。系统所需的那些命令位于于此目录。/sbin:这个目录用来存放系统管理员的系统管理程序。大多是涉及系统管理的存放,是超级权限用户。root的可执行命令存放地,普通用户无权执行这个目录下...

2018-07-18 19:20:00 67

转载 Fibonacci递归以及数组实现

说起Fibonacci数列,首先想到的就是递归算法了,这也是帮助理解递归算法比较经典的题目实现如下:public static int Fibonacci(int n){ if (n == 0) return 0; if (n == 1) return 1; return Fibonacci(n - 1) + Fibonacci(n ...

2018-06-28 10:49:00 112

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除