2017-10-07 16:11:01 |  0 Comments

Dispose&析构函数

# 析构函数 某些资源,比如TCP连接,数据库连接,打开的文件,都是需要手动的释放,这类释放资源的操作一般会放在析构函数。 大部分面向对象语言都支持析构函数,该函数是在对象销毁前调用的。 在C#析构函数定义方式如下 ``` public class MyClass(){ ~MyClass(){} } ``` 对于拥有析构函数的对象,GC会将这些对象放到一个队列中,对象再调用完析构函
 2017-09-30 12:30:03 |  0 Comments  |  CSS规范

绝对定位 非替换元素

# 前言 本文介绍,非替换元素的绝对定位元素的left,right,width,margin计算规则 # 静态位置 静态位置是指当元素position:static,float:none时,元素此时的位置. 而此时元素的包含块也称之为`静态位置包含块(static-position containing block)` ```
``` ![](https://lean
 2017-09-27 23:34:53 |  0 Comments

理解Js的new

# new Object原理 ``` MyObject(){ this.a=2; } var o=new MyObject() //等效于 var o={} o.__proto__=MyObject.prototype; MyObject.call(o); ``` ![](https://leanote.com/api/file/getImage?fileId=5bbef0d0
 2017-09-18 21:20:28 |  0 Comments  |  设计模式

Proxy Patter 代理模式

# Proxy Pattern **结构型** 也叫委托模式 > 为其他对象提供一种代理以控制对这个对象的访问(也就是限制对该对象的访问,比如访问方法前检验权限) ![](https://leanote.com/api/file/getImage?fileId=5ab310e6ab64411f42000543) 使用场景:想在访问一个类时做一些控制。 **不同于适配器,代理模式不
 2017-09-18 15:44:36 |  0 Comments

事务

# 什么是事务 事务的特征ACID 原子性(atomic) : 操作不可分割 一致性(consistent) : 数据在在事务开始与结束时是一致的,事务就是从一个"一致性"到另一个"一致性",该特性与原子性密切相关。事务如果执行成功,最终数据是就是事务操作所预期的结果,如果执行失败,数据则与执行事务前一致。 隔离性(isolate) : 事务从外部看是从一个状态变成另一个状态
 2017-09-16 11:54:23 |  0 Comments  |  CLR C#

垃圾回收

# CLR管理的内存块 - 线程的堆栈 - GC堆 - LOH(large Object Heap)堆对象大于85000字节 > 托管堆=GC Heap + Loader Heap # 什么样的对象会被回收 GC只回收GC堆中的对象,堆栈的不管 只有当前不可达的对象会被回收 先介绍下`应用程序根`这个概念,应用程序根可以是: - 本地变量或者全局变量(C#不支持全局变量,但CI
 2017-09-15 23:33:49 |  0 Comments

CLR via C#读书笔记 CLR寄宿和AppDomain

# 寄宿 寄宿是指让其他应用程序(非托管代码)使用CLR的能力,比如自己用C++开发的窗体能创建CLR实例。 > 托管代码也能调用非托管代码 > ``` [DllImport("kernel32.dll")] public static extern int WinExec(string exeName, int operType); > ``` > 通常会调用win32 api,但是要查[文
 2017-09-15 22:20:49 |  0 Comments

Asp.Net运行原理

三种原理图 ![](https://leanote.com/api/file/getImage?fileId=59bbde13ab6441655f0022cd) ![](https://leanote.com/api/file/getImage?fileId=59bbe07fab64416787002438) ![](https://leanote.com/api/file/getImag
 2017-09-14 21:21:59 |  0 Comments

.Net程序集

# 模块 模块的概念与程序集不同,两者关系类似团队与团队成员。 程序集由模块组成(但通常我们看到的是单模块程序集)。 > 无法通过VS创建多模块程序集,可以用CSC 如果是多模块程序集,需要有一个主模块(类比于团队的负责人),主模块代表了程序集。 只有主模块包含了清单(而且主模块可以不包含IL)。 # 程序集结构 - Windows文件首部 > 给系统读取,告知系统是控
 2017-09-11 23:00:13 |  0 Comments

TCP

# 简介 TCP是面向连接,提供可靠传输服务的协议,是传输层协议。本文不会完整讲述TCP。不得不说很多书对TCP的描述详略不一,有些协议是混着用,但书没有把他们的关系说清楚。 根据维基百科,传输层应提供以下服务: - 拥塞控制 - 流量控制 - 可靠连接 - .... TCP提供了实现上述服务的机制 # 报文格式 ![](https://leanote.com/api/file/get