摘要:
1.重构概念 在不改变软件的外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。——《重构 改善既有代码的设计》 说白了重构就是一系列的“等量变换”! 2.重构的风险 当我们遇到公司前人留下的烂代码时(很多时候我们也是留下“烂代码”的人),一般都是先开骂,其次就捉摸着干脆重做 阅读全文
摘要:
下面分别列出几个主要的实现。 1.CPython 这是Python的官方版本,使用C语言实现,使用 最为广泛,新的语言特性一般也最先出现在这里。 CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。 2.Jython 这是Python的Java实现 阅读全文
摘要:
Part 1 原文:6 Rules of Thumb for MongoDB Schema Design: Part 1 By William Zola, Lead Technical Support Engineer at MongoDB “我有丰富的sql使用经验,但是我是个MongoDB的初学 阅读全文
摘要:
线程函数要么没有参数,要么只能有一个object参数,而且均没有返回值,这样就大大降低了程序的灵活性,其实我们想要的是能像普通方法一样正常使用参数和返回值!能不能实现这个需求呢?下面就介绍两种方法 一、添加外壳方法 原理:把参数传递变成了对变量的调用 方法:定义一个专门的线程类。 1、需要向线程传递 阅读全文
摘要:
多线程概述 什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。 什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。 什 阅读全文
摘要:
一、概述 1、什么是异步? 异步操作通常用于执行完成时间可能较长的任务,如打开大文件、连接远程计算机或查询数据库。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序可在异步方法执行其任务时继续执行其他的任务。 2、同步与异步的区别 同步(Synchronous): 阅读全文
摘要:
在C#的世界里,委托是无处不在,尤其在.NET自己封装的框架里到处都有其身影,所以掌握委托就很有必要了!那什么是委托呢?其实委托就是一种数据类型,跟int等东东差不多,只不过在使用时要自己先去构建一个委托数据类型(不像int微软已为你准备好),然后声明一个委托类型的变量,并为其赋值,赋值的对象只能是 阅读全文
摘要:
一、表达式树入门 Lambda表达式树很复杂,从概念上很难理解清楚,一句话,表达式树是一种数据结构!这里我们通过下面的这个例子来理解一下表达式树,你就能看个大概: lambda表达式树动态创建方法 以上代码构成的Lambda表达式树如下图: 二、常见的一些表达式树用法 ConstantExpress 阅读全文
摘要:
一、概述 Attribute说白了就是一个类而已,里边一般含有一些附加信息,或者一些特殊的处理逻辑,以便告诉编译器应用该特性的东东是个奇葩,需要特殊对待! 二、使用时的注意事项 2.1. Attribute是一个类,必须继承自System.Attribute 2.2 Attribute命名规范Att 阅读全文
摘要:
反射虽然有时很有必要,但是应用反射的代码大多“复杂难懂”、“性能不高”,因此我们可以找寻在一些场景下替换反射的方法。此处也只是一些栗子,更多巧妙的应用还是自己以后亲自查查~ 先来看看一个使用普通反射完成的简单Demo:首先创建一个Person类,这个类非常简单,一个Name的public属性,一个_ 阅读全文