自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(480)
  • 资源 (36)
  • 收藏
  • 关注

原创 Windows10无法访问github

2、更改完成后,打开命令提示符(cmd),刷新DNS。如果在保存hosts时遇到权限问题,参考文章。1、修改hosts文件。

2024-01-16 10:41:23 415

原创 pycharm的terminal与Project interpreter 配置环境不一致的问题

终端出现PS,考虑在settings中搜索找到Terminal,修改其Shell path为cmd.exe,关闭重新打开Terminal选项卡。考虑自己的项目名中是否出现了中文,我是因为这个原因导致Terminal 前面出现了PS,用第2条解决切换终端环境后还是安装包不一致。(2)如果不想激活,那就直接调用虚拟环境下的pip.exe 去针对性的安装。(1)在进入terminal后,输入一下命令。或者,安装导出的指定版本的piplist。

2023-02-09 10:50:38 1706 2

原创 Dev C++调试报错:无法启动此程序,因为计算机中丢失zlib1.dll

Dev C++调试报错:无法启动此程序,因为计算机中丢失zlib1.dll1、 在可靠的网站上下载zlib.dll文件https://cn.dll-files.com/zlib.dll.html,注意根据操作系统32位还是64位下载对应的版本2.解压后放到系统目录中将zlib.dll文件根据错误提示重命名为zlib1.dll32位系统:放到C:\Windows\System32(此处为系统目录)64位系统:放到C:\Windows\SysWOW643、重启Dev C++软件,尝试调试...

2021-06-04 11:09:15 1712 1

原创 二叉树常用基本操作

#include<iostream>using namespace std;/*测试使用二叉树使用先序遍历输入字符串为ABC##DE#G##F###*/typedef char ElemType;typedef struct BiTNode { ElemType data; struct BiTNode *lchild; struct BiTNode *rchild;} BiTNode, *BiTree;void CreateTree(BiTree &T) { .

2021-05-18 15:58:09 256

原创 设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求B、C表利用A表的结点)。

#include<iostream>#include<string>#include<iomanip>#include<fstream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。typedef int ElemType; //ElemType 为可定义的.

2021-04-12 18:52:41 1086

原创 指针常量、常量指针、常指针常量

1、指针常量 格式为:数据类型 * const 指针变量=变量名; 表示指针是常量,及地址是常量,地址里存放的内容可以修改。2、常量指针 格式为:const 数据类型 *指针变量=变量名; 或者 数据类型 const * 指针变量=变量名; 定义一个常量指针后,指针指向的值就不能被改变,即不能通过指针变量直接更改指针指向的值。3、常指针常量 格式为: const 数据类型 *...

2021-03-03 13:14:16 1218

转载 C++ 数组输出

++中输出数组数据分两种情况:字符型数组和非字符型数组当定义变量为字符型数组时,采用cout<<数组名; 系统会将数组当作字符串来输出,如:1 char str[10]={'1','2'};2 cout << str <<endl ; //输出12如果想输出字符数组的地址,则需要进行强制转换,如:1 char str[10]={'1','2'};2 cout << static_cast <void *> (str) &lt

2021-02-26 16:55:17 10180

原创 【顺序表】SqList *&L是什么意思

//顺序表基本运算算法#include <stdio.h>#include <malloc.h>#define MaxSize 50typedef int ElemType; typedef struct { ElemType data[MaxSize]; //存放顺序表元素 int length; //存放顺序表的长度} SqList; //顺序表的类型void CreateList(SqList *&L,ElemType a[.

2021-02-20 17:51:41 11401 6

转载 C语言运算符优先级

优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)函数名(形参表) ....

2021-02-13 15:57:00 174

原创 C语言中long类型、指针类型长度到底是多少

决于操作系统采用的是哪个C Language Data Model在32位的操作系统下,大部分的操作系统都是采用的ILP32,因此,long是4个字节在64位的操作系统下,Windows采用的是LLP64,long是4个字节,指针是8个字节,类Unix操作基本都是采用的LP64,因此,long是8个字节。参考文章:64位编程模型:为什么要使用LP64 Data Size Neutrality and 64-bit Support#include&l...

2021-02-13 13:21:17 3629 1

原创 小白科研杂记

查找、下载文献:广西壮族自治区图书馆

2020-11-20 23:29:15 221

原创 python爬取小说

想把顶点小说网上的一篇持续更新的小说下下来,就写了一个简单的爬虫,可以爬取爬取各个章节的内容,保存到txt文档中,支持持续更新保存。需要配置一些信息,设置文档保存路径,书名等。写着玩,可能不大规范。# coding=utf-8import requestsfrom lxml import etreefrom urllib.parse import urljoinimport re

2018-01-16 09:06:11 1253

转载 复杂网络研究常用载体集

复杂网络的研究常常是和实际的复杂系统紧密结合的。从小世界和无尺度现象的发现开始,人们就逐渐认识到,包括社会网络中人与人之间的交际网络和Internet, web等大量现实网络在内的系统中隐含了大量的秘密等待人们去发现。这里总结了复杂网络研究的常用载体的集合,这些载体大部分是在复杂网络的论文中使用频度很高的。当然,很多时候,我们的网络研究也许会针对某一项特定的实证研究展开,而且这些实证研究的网络是需

2018-01-10 21:01:56 2259

原创 CentOS7下Chrome以及chromedriver的安装配置

1、在CentOS7中安装最新版本的Chrome浏览器yum installhttps://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm完成后在Applications中的Internet中可以找到谷歌浏览器2、chromedriver的下载下载地址为:http://chrome

2017-10-17 09:29:35 7405

转载 常用数学符号的 LaTeX 表示方法 (以下内容主要摘自“一份不太简短的 LATEX2e 介绍”) 1、指数和下标可以用^和_后加相应字符来实现。比如: 2、平方根(square root)

常用数学符号的 LaTeX 表示方法(以下内容主要摘自“一份不太简短的 LATEX2e 介绍”)1、指数和下标可以用^和_后加相应字符来实现。比如:2、平方根(square root)的输入命令为:\sqrt,n 次方根相应地为: \sqrt[n]。方根符号的大小由LATEX自动加以调整。也可用\surd 仅给出符号。比如:3、命令\overline 和\underli

2017-08-16 15:24:59 1317

转载 Selenium 高阶应用之WebDriverWait 和 expected_conditions

转载地址: http://www.cnblogs.com/yicaifeitian/p/4749149.html Seleniium 是相当不错的一个第三方测试框架,可惜目前国内已经无法访问其官网(FQ可以)。      不知道大家是否有认真查看过selenium 的api,我是有认真学习过的。selenium 的api中包含有WebDriverWait  和 expected_c

2017-08-09 20:35:43 835

转载 PhantomJS简介

PhantomJS简介PhantomJS1.PhantomJS是什么?PhantomJS is a headless WebKit scriptable with a JavaScript API.PhantomJS是一个可编程的无头浏览器.无头浏览器:一个完整的浏览器内核,包括js解析引擎,渲染引擎,请求处理等,但是不包括显示和用户交互页面的浏览器

2017-08-04 16:07:20 757

转载 Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)

Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)本节内容1、数据库介绍2、mysql管理3、mysql数据类型4、常用mysql命令  创建数据库  外键  增删改查表5、事务6、索引7、python 操作mysql 8、ORM sqlachemy学习 1、数据库介绍什么是

2017-07-24 14:36:32 1356

原创 Gephi 插件HttpGraph

第一步:在Gephi上安装插件。在插件窗体的“可用插件选项卡”中找到“HttpGraph”并安装第二步:重新启动Gephi,在“’文件->生成->HTTP Graph"弹出对话框,如图1所示,安装图1设置,对话框的说明我们知道,这个插件在使用了HTTP Graph Collector扩展程序的时候工作的比较好,通过点击下面的按钮“Get Chrome Extension”可以在Chrome浏览

2017-07-23 22:12:50 7627 4

原创 Python3.5连接MySQL

MySQL下载地址(1)安装MySQL设置好root和password忽略它的提示需要环境Python3.4以及Visual Studio2012以上安装完成后在MySQL的命令行工具中输入命令mysql>show variables like '%char%';看是否包含UTF8(2)安装PyMySQL(因为MySQL仅支持到3.4版本)在命令行输入pip i

2017-07-23 21:15:23 586

原创 Origin将多个文件数据导入

有时,我们需要将多个文件的数据绘制在同一个坐标系中,比较不同情况的结果第一步:导入若干文件。具体为“File->Import->Multiple ASCII”,如图1,图2所示,将要导入的文件一次性加入           图1图2第二步:选中一个Graph绘制想要的图形,这里绘制"Line+Symbol"图,绘制完后,选中新生成的Graph,在主选项卡总选择“Gr

2017-07-22 16:29:33 26250

原创 Origin拼图

有时我们需要将Origin绘制的几个图拼成一个图第一步:将绘制的几个图保存成.ogg格式,在绘制的图的窗体上右键,在弹出菜单中选择“save as”,如图1所示图1第二步:重新启动一个Origin,将第一步保存的若干.ogg格式数据导入,具体为“File->Open”第三步:将导入的图形进行拼接,具体为“Graph->Merge Graph Windows->Open Di

2017-07-22 15:30:40 9420

原创 origion绘制热图

有时我们需要绘制热图,用x轴、y轴表示两维数据,用颜色表示第三维第一步:需要准备三列数据,如图1,这里我用U表示x轴数据,它的取值范围为[0-1],间隔为0.05,E表示y轴,取值范围也是[0-1],间隔为0.05,correlation为第三维,表示取不同的U和E时对应的z值图1第二步:将数据导入Origion,设置x轴、y轴、z轴,如图2所示,将第三为设置为z轴

2017-07-22 14:05:53 26881 6

原创 OriginPro2017绘制四维散点图(三维散点+一维颜色)

准备工作:我们需要四列数据,分别用来做X轴、Y轴、Z轴,三维对应的数据得到的结果(第四维用颜色表示)第一步:导入数据,在表格中设置X轴、Y轴、Z轴第二步:让Book1获得焦点后,点击上面选项卡中的plot,选择三维散点图第三步:在弹出的选项卡中,设置X轴、Y轴、Z轴,点击确认,绘制结果如下图所示实际上我这里的A、B、C存在这样的关

2017-07-03 22:28:11 45988 8

转载 Python正则表达式中的 compile,search,group,groups 函数的简单说明

以此为例:regex = re.compile('(.∗)')里面嵌套的那对括号是用于识别group的,所以至多有group(1);compile是编译正则表达式,生成pattern对象;pattern.search(S)就是在字符串S中寻找匹配之前生成pattern的子串;而group和groups是两个不同的函数:一般,m.group(N) 返回第N组括号匹

2017-06-28 21:54:03 1276

转载 urlparse学习

urldefrag(url)# 将url分解成去掉fragment的新url和去掉的fragment的二元组#return tuple(defragmented, fragment) urljoin(base, newurl, allow_fragments=True)# 将url的基部件base,和newurl拼合成一个完整URLurlparse(url, schema='', a

2017-06-27 16:07:05 870

转载 【Python】设置pip install 软件源

Python自带的pip软件源速度极慢,而且经常下载失败,好在可以更换国内的软件源。已知的软件源http://pypi.douban.com/ 豆瓣http://pypi.hustunique.com/ 华中理工大学http://pypi.sdutlinux.org/ 山东理工大学http://pypi.mirrors.ustc.edu.cn/ 中国科学

2017-06-10 22:11:37 555

转载 Java异常处理总结

异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当的麻烦!        Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的

2017-05-23 15:56:53 461

原创 剑指offer面试题10:二进制中1的个数(与位运算有关)

题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2。分析:1、可以用一个二进制表示时仅有1位为1的整数(将该整数记为flag)与输入的整数按位与,来判断如果相与的结果不为0,说明输入整数的对应位为1。如flag=8,32位整数,二进制表示为00000000 00000000 00000000

2017-05-19 15:01:07 430

转载 Java 位运算(移位、位与、或、异或、非)

转载地址:http://blog.csdn.net/xiaochunyong/article/details/7748713Java提供的位运算符有:左移( > ) 、无符号右移( >>> ) 、位与( & ) 、位或( | )、位非( ~ )、位异或( ^ ),除了位非( ~ )是一元操作符外,其它的都是二元操作符。1、左移( Test1、将5左移2位:[ja

2017-05-18 22:00:24 340

原创 剑指offer面试题06:重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重新建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},重建二叉树并输出它的头结点。分析:1、前序遍历中的第一个数据一定是根节点,以上面为例,1为根节点,然后在中序遍历中找到该节点,1左边的数据构成其左子树,右边的数

2017-05-18 16:22:57 444

转载 Origin绘图后导出图片的方法

在发表论文的时候,期刊要求的图线一般是tif格式的图,而不是Origin格式的。我们用Origin绘制完成一张图后,需要将它导出成图片格式,以满足投稿要求。这一节来介绍一下如何利用Origin导出图片。【注意,导出成图片格式后就不能通过双击图片链接到Origin程序进行编辑了】如下图所示,点击Origin菜单栏上的File —> Export Graph —> Open Dialog

2017-05-14 09:23:57 57655

原创 利用python的matplotlib绘制分布图

目标:以csv文件中的Kshell列值为Y轴,Degree列值为Y轴,分别以Upper列、EquUpper列、EquLower列,Lower列这四列的值为第三维,在对应的X、Y坐标上以颜色的深浅表示值的大小,得到四个结果。部分文件格式如下:达到效果:实现步骤:1、环境配置      在环境配置上花费了很长时间,主要是在PyDev中使用matplotlib

2017-05-12 13:14:52 19078 1

转载 稳定排序和不稳定排序

这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。      首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的

2017-04-17 17:29:19 447

原创 Activity生命周期,关于锁屏,横竖屏切换以及页面切换

做了一个小实验,创建两个Activity,一个为MainActivity,一个为SecondActivity,并在两个Activity生命周期的各个阶段输出当前Activity所处的状态,在MainActivity上添加三个按钮,其中“下一页”用于跳转到SecondActivity,“横屏”即将MainActivity界面横屏显示,“竖屏”即将MainActivity竖屏显示按步骤执行以下

2017-03-28 20:03:57 632

原创 Gephi学习笔记-画出图形基本流程

1、数据准备      这里准备的是csv格式的数据,没有用数据库导入等方式。      格式如下图所示,这里表示的是一个有权有向图,Source为源节点,Target为目标节点,Weight为权重。将其利用记事本打开,保存成ANSI格式(配套后面的Gephi的一些设置,保证中文标签正常显示)

2017-03-17 17:12:14 58491 12

原创 Gephi导入csv文件时提示“边表格需要一个包含节点标号‘源’和‘目标’列”

问题描述:之前看到很多人遇到这个问题时候都说要注意编码,于是我将csv格式的文件用记事本打开后用UTF-8的方式保存,在Gephi中导入csv文件,选择“边表格”,格式选择“UTF-8”结果如下图所示,依然错误。确实是编码错误,但是应该怎么改呢?(1)我尝试将csv格式文件利用记事本另存的方式,将编码改为ANSI格式,如下图所示(2)Gephi输入表格时,将编码改为GB

2017-03-09 22:02:58 22675 6

原创 LinearLayout之weight属性

包含在LinearLayout布局内部的控件和布局可以设置weight属性,用来设置控件和子布局在某个方向上占LinearLayout的比例。影响weight属性效果的几个属性1、LinearLayout的orientation值     当LinearLayout的android:orientation="horizontal"时,可以对其内部的控件和布局在水平方向上所占比例进行设置

2017-01-09 15:51:46 638

原创 Android中gravity与layout_gravity的区别与用法

1、gravity与layout_grivaty的区别      gravity用来设置控件中的元素相对于控件的位置,如设置一个Button控件gravity属性,则是设置Button中文字相对于Button的位置      layout_grivaty是用来设置控件本身相对于其容器的位置2、用法及注意事项(1)gravity和layout_grivaty可选择的值有:top、bo

2017-01-09 10:16:52 1550

转载 Gephi启动报错JVM creation failed解决办法

使用Gephi做可视化,由于图中边比较多,2002个点的文件达到了18M多,然后启动Gephi后显示内存不足,建议增大启动内存,点增大内存启动后,Gephi启动就报错,显示JVM creation failed。启动控制台监视启动过程,显示如下信息Error occurred during initialization of VMCould not reserve enough spa

2017-01-04 15:05:25 2272 1

Origin绘制热图(数据及.opj文件)

博客《origion绘制热图》对应数据及结果http://blog.csdn.net/suncherrydream/article/details/75731408

2017-07-22

Origin导入多个文件(数据及效果opj文件)

博客《Origin将多个文件数据导入》对应的数据及结果 http://blog.csdn.net/suncherrydream/article/details/75736339

2017-07-22

java数据结构和算法电子书配套代码及算法动画演示

(美)Robert Lafore著 简介:国外经典计算机科学教材:本书是一本有关计算机编程中所应用的数据结构和算法的书,以针对C++和Java这两种语言的主要差别的描述、集中讨论的数组问题为基础,循序渐进地介绍了简单排序、栈和队列等方面内容。

2017-05-17

利用python绘制热图、计算网络节点degree、kshell、介数中心性、接近中心性、特征向量中心性、PageRank,计算相关性含环境、代码、数据源

利用python绘制热图、计算网络节点degree、kshell、介数中心性、接近中心性、特征向量中心性、PageRank,计算相关性含环境、代码、数据源

2017-05-12

UCINET教程

英文文档,较全面

2017-04-11

ucinet6中文版 下载

UCINET网络分析集成软件包括一维与二维数据分析的NetDraw,还有正在发展应用的三维展示分析软件Mage等,同时集成了Pajek用于大型网络分析的Free应用软件程序。利用UCINET软件可以读取文本文件、KrackPlot、Pajek、Negopy、VNA等格式的文件。它能处理32 767个网络节点。当然, 从实际操作来看,当节点数在5000~10000之间时,一些程序的运行就会很慢。 社会网络分析法包括中心性分析、子群分析、角色分析和基于置换的统计分析等。 另外,该软件包有很强的矩阵分析功能,如矩阵代数和多元统计分析。它是目前最流行的,也是最容易上手、最适合新手的社会网络分析软件。

2017-03-17

整体网分析讲义 UCINET软件实用指南

《整体网分析讲义:UCINET软件实用指南》全书共分12个章节,全面介绍了社会网分析的重要内容——整体网分析,以及如何使用UCINET软件实施测量。具体内容包括社会网络分析简介、整体网研究概要、凝聚子群研究、社会网络的关联性、结构洞与中间人等。该书可供各大专院校作为教材使用,也可供从事相关工作的人员作为参考用书使用。 社会网络分析被认为是与理性选择学派、新制度理论学派并举的重要学派,在管理学、社会学等领域有很大影响,而国内相关论著比较少。《整体网分析讲义:UCINET软件实用指南》梳理了大量国内、国外研究成果,全面介绍了社会网分析的重要内容——整体网分析,以及如何使用UCINET软件实施测量。《整体网分析讲义:UCINET软件实用指南》最大的特点是全面、详尽、实用,是读者使用UCINET软件进行整体网分析的得力助手。 作者简介

2017-03-17

jython-installer-2.7-b1.jar

java调用python,解决了jython2.7中出现的问题,即Cannot create PyString with non-byte value

2016-12-30

NetworkX环境搭建需要安装包

包括: matplotlib-1.1.0.win32-py2.7.exe networkx-1.11-py2.7.egg numpy-1.6.1-win32-superpack-python2.7.exe python-2.7.11.msi pywin32-214.win32-py2.7.exe python2.7版本安装networkx步骤.docx

2016-11-19

Python基础教程(第2版)

《Python基础教程(第2版)》包括Python程序设计的方方面面,首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识。最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了几个具有实际意义的Python项目的开发过程。 《Python基础教程(第2版)》内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python开发人员阅读参考。 《Python基础教程(第2版)》是经典教程的全新改版.作者根据Python版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。《Python基础教程(第2版)》层次鲜明、结构严谨、内容翔实,特别是在最后几章。作者将前面讲述的内容应用到了10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程。《Python基础教程(第2版)》既适合初学者夯实基础。又能帮助Python程序员提升技能,即使是Python方面的技术专家,也能从书里找到令你耳目一新的东西。

2016-07-06

HTTP The Definitive Guide

超文本转移协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。 HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好 说的。但现在,你手上拿着的是却一本两磅重 的书。如果你对我们怎么会写出一本650页 的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。 本书中,我们尝试着将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对HTTP各方面的特性进行了介绍。纵观全书,我们对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。而且,为了节省大家寻找参考文献的时间,我们还对很多HTTP应用程序正常工作所必须的、重要的非HTTP技术进行了介绍。在组织得便于使用的附录中,可以找到按照字母排序的首部参考(这些首部构成了最常见的HTTP文本的基础)。我们希望这种概念性的设计有助于读者对HTTP的使用。 本书是为所有希望理解HTTP以及Web底层结构的人编写的。软硬件工程师也可以将本书作为HTTP及相关web技术的条理清楚的参考书使用。系统架构师和网络管理员可以通过本书更好地了解如何设计、实现并管理复杂的网络架构。性能工程师和分析人员可以从高速缓存和性能优化的相关章节中获益。市场营销和咨询专家可以通过概念的介绍更好地理解web技术的前景。 本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。 本书是很多对因特网技术充满热情的人经过大量工作写成的。希望对你有所帮助。

2016-07-06

《The C++ Programming Language》中文版+英文版

The C++ Programming Language 中文英版 C++必备经典书籍

2016-07-06

《Impact of opinion clustering》

虽然高效的疫苗接种率上升,但可以被疫苗阻止的传染病却大规模爆发,如麻疹。越来越多的证据表明无法获得疫苗不是主要原因,具有不接种疫苗意识的个体形成集群导致疾病爆发概率的急剧上升。结果表明:我们估计的用于避免疾病爆发的疫苗接种率太低了。

2016-03-27

《Complex social contagion makes networks more vulnerable to disease outbreaks》

社会网络被广泛的应用于人与人之间传染病的动态传播。疫苗干扰了疾病在网络中的传播过程。确实,足够高的疫苗接种率在很大程度上能够有效地阻止疾病在网络中传播。我们有越来越多的证据表明,健康的行为需要社会强化。健康行为可以通过复杂的传染过程在社会网络中传播,如接种疫苗,拒绝方法等。通过对健康行为和传染病传播过程仿真建模,我们发现,在其他条件相同的前提下,健康行为的传播过程对疾病传播动力学有很大的影响。动力学产生变化的原因在于,含易感人群的拓扑结构的不同,易感染群在健康行为传播的过程中产生;反过来,健康行为的传播又依赖于整个社会网络的拓扑结构。我们的发现指出:健康行为在预测和控制疾病爆发中的重要性。

2016-03-25

统计建模与R软件

书中结合数理统计问题对R软件进行科学、准确和全面的介绍,以便使读者能深刻理解该软件的精髓和灵活、高效的使用技巧.此外,还介绍了在工程技术、经济管理、社会生活等各方面的丰富的统计问题及其统计建模方法,通过该软件将所建模型进行求解,使读者获得从实际问题建模入手,到利用软件进行求解,以及对计算结果进行分析的全面训练.

2016-03-17

Taobao oceanbase代码

//供学习用,禁止用于商业用途。 2012.04.20   OceanBase解决什么问题   许多公司的核心资产是各种各样的商业数据,例如淘宝的商品、交易、订单、购物爱好等等,这些数据通常是结构化的,并且数据之间存在各种各样的关联,传统的关系数据库曾经是这些数据的最佳载体。然而,随着业务的快速发展,这些数据急剧膨胀,记录数从几千万条增加到数十亿条,数据量从百GB增加到数TB,未来还可能增加到数千亿条和数百TB,传统的关系型数据库已经无法承担如此海量的数据。OceanBase解决不断增加的结构化数据存储与查询的问题。   从Eric Brewer教授的CAP(一致性C: Consistency, 可用性A: Availability,分区容错性P: Tolerance of network Partition)理论角度分析,作为电子商务企业,淘宝和其他公司的业务对一致性和可用性的要求高于分区容错性,数据特征是数据总量庞大且逐步增加,单位时间内的数据更新量并不大,但实时性要求很高。这就要求我们提供一套更加偏重于支持CA特性的系统,同时兼顾可分区性,并且在实时性、成本、性能等方面表现良好。   OceanBase的架构   OceanBase的逻辑架构简图    ▲   OceanBase架构的一些基本概念   主键   row key,也称为primary key,类似于DBMS的主键,与DBMS不同的是,OceanBase的主键总是二进制字符串(binary string),但可以有某种结构。OceanBase以主键为顺序存放表格数据   sstable   一种数据存储格式,OceanBase用来存储一个或几个表的一段按主键连续的数据   tablet   一个表按主键划分的一个(前开后闭的)范围,通常包含一个或几个sstable,一个tablet的数据量通常在256MB左右   基准数据和动态数据   OceanBase以增量方式记录一段时间内的表格数据的增删改,从而保持着表格主体数据在一段时间内相对稳定,其中增删改的数据称为动态数据(通常在内存,也称为内存表),而一段时间内相对稳定的主体数据称为基准数据,基准数据和转储后(保存到SSD固态盘或磁盘)的动态数据以sstable格式存储   ChunkServer   保存基准数据的服务器,通常是多台,为了避免软件硬件故障导致的服务中断,同一份基准数据通常保存了3份并存储在不同ChunkServer上   UpdateServer   保存动态数据的服务器,一般是单台服务器。为了避免软件硬件故障导致的服务中断,UpdateServer记录commit log并通常使用双机热备   MergeServer   进行静态动态数据合并的服务器,常常与ChunkServer共用一台物理服务器。MergeServer使得用户能够访问到完整的最新的数据   RootServer   配置服务器,一般是单台服务器。为了避免软件硬件故障导致的服务中断,RootServer记录commit log并通常采用双机热备。由于RootServer负载一般都很轻,所以它常常与UpdateServer共用物理机器   冻结   指动态数据(也称为内存表)的更新到一定时间或者数据量达到一定规模后,OceanBase停止该块动态数据的修改,后续的更新写入新的动态数据块(即新的内存表),旧的动态数据块不再修改,这个过程称为冻结   转储   出于节省内存或者持久化等原因将一个冻结的动态数据块(内存表)持久化(转化为sstable并保存到SSD固态盘或磁盘上)的过程   数据合并(merge)   查询时,查询项的基准数据与其动态数据(即增删改操作)合并以得到该数据项的最新结果的过程。此外,把旧的基准数据与冻结的动态数据进行合并生成新的基准数据的过程也称为数据合并   联表(join)   一张表与另一张或几张表基于主键的左连接关系,类似于DBMS的自然连接   COW   Copy on Write的缩写,在OceanBase中特指BTree在更新时复制数据备份写入,避免系统锁的技术手段   OceanBase的特点   OceanBase功能   OceanBase设计和实现的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当前OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入。   OceanBase数据访问特点   虽然数据总量比较大,但跟许多行业一样,淘宝业务一段时间(例如小时或天)内数据的增删改是有限的(通常一天不超过几千万次到几亿次),根据这个特点,OceanBase把一段时间内的增删改等修改操作以增量形式记录下来(称之为动态数据,通常保存在内存中),这样也使得了主体数据在一段时间内保持了相对稳定(称之为基准数据)。   由于动态数据相对较小,通常情况下,OceanBase把它保存在独立的服务器UpdateServer的内存中。以内存保存增删改记录极大地提高了系统写事务的性能。此外,假如每条修改平均消耗100 Bytes,那么10GB内存可以记录100M(即1亿)条修改,且扩充UpdateServer内存即增加了内存中容纳的修改量。不仅如此,由于冻结后的内存表不再修改,它也可以转换成sstable格式并保存到SSD固态盘或磁盘上。转储到SSD固态盘后所占内存即可释放,并仍然可以提供较高性能的读服务,这也缓解了极端情况下UpdateServer的内存需求。为了应对机器故障,动态数据服务器UpdateServer写commit log并采取双机(乃至多机)热备。由于UpdateServer的主备机是同步的,因此备机也可同时提供读服务。   因为基准数据相对稳定,OceanBase把它按照主键(primary key,也称为row key)分段(即tablet)后保存多个副本(一般是3个)到多台机器(ChunkServer)上,避免了单台机器故障导致的服务中断,多个副本也提升了系统服务能力。单个tablet的尺寸可以根据应用数据特点进行配置,相对配置过小的tablet会合并,过大的tablet则会分裂。   由于tablet按主键分块连续存放,因此OceanBase按主键的范围查询对应着连续的磁盘读,十分高效。   对于已经冻结/转储的动态数据,OceanBase的ChunkServer会在自己不是太繁忙的时候启动基准数据与冻结/转储内存表的合并,并生成新的基准数据。这种合并过程其实是一种范围查询,是一串连续的磁盘读和连续的磁盘写,也是很高效的。   传统DBMS提供了强大的事务性、良好的一致性和很短的查询修改响应时间,但数据规模受到严重制约,缺乏扩展性;现代云计算提供了极大的数据规模、良好的扩展性,但缺乏跨行跨表事务、数据一致性也较弱、查询修改响应时间通常也较长,OceanBase的设计和实现融合了二者的优势:   --------------------------------------------------------------------------------   UpdateServer:类似于DBMS中的DB角色,提供跨行跨表事务和很短的查询修改的响应时间以及良好的一致性。   ChunkServer:类似于云计算中的工作机(如GFS的chunk server),具有数据多副本(通常是3)、中等规模数据粒度(tablet大小约256MB)、自动负载平衡、宕机恢复、机器plug and play等特点,系统容量及性能可随时扩展。   MergeServer:结合ChunkServer和UpdateServer,获得最新数据,实现数据一致性。   RootServer:类似于云计算中的主控机(如GFS master),进行机器故障检测、负载平衡计算、负载迁移调度等。   --------------------------------------------------------------------------------   上述的DBMS和云计算技术的优势互补使得OceanBase既具有传统DBMS的跨行跨表事务、数据的强一致性以及很短的查询修改响应时间,还有云计算的海量数据管理能力、自动故障恢复、自动负载平衡以及良好的扩展性。   OceanBase当前在淘宝的应用   OceanBase现在已经应用于淘宝收藏夹,用于存储淘宝用户收藏条目和具体的商品、店铺信息,每天支持4~5千万的更新操作。等待上线的应用还包括CTU、SNS等,每天更新超过20亿,更新数据量超过2.5TB,并会逐步在淘宝内部推广,也期待外部合作者。   主要的性能数据   测试软硬件环境   Red Hat Enterprise Linux Server release 5.4 (Tikanga)   gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)   Intel(R) Xeon(R) CPU E5520 @ 2.27GH   ChunkServer & MergeServer:Memory 16GB Disk 300GB SAS*10 NO Raid   UpdateServer & RootServer:Memory 48GB Disk 300GB SAS*6 Raid1   测试环境部署简图   ▲   测试数据规模   21亿条数据,基准数据3备份。   测试Schema   两张表,其中表1中有21列,表2中11列。   其中表1中的11列和表2中的11列存在join关系。   单条记录大小为500字节。   测试性能曲线图   Range数据查询   ▲   单条数据查询   ▲   当压力最大时,ChunkServer单台输出数据90MB/S,已经接近了千兆网卡的极限   更新数据   ▲

2015-10-23

OceanBase-千亿级海量数据库_日照.pdf

淘宝的开源数据库OceanBase的文档

2015-10-23

《大规模分布式存储系统:原理解析与架构实战》迷你书.pdf

《大规模分布式存储系统:原理解析与架构实战》是分布式系统领域的经典著作,由阿里巴巴高级技术专家“阿里日照”(OceanBase核心开发人员)撰写,阳振坤、章文嵩、杨卫华、汪源、余锋(褚霸)、赖春波等来自阿里、新浪、网易和百度的资深技术专家联袂推荐。理论方面,不仅讲解了大规模分布式存储系统的核心技术和基本原理,而且对谷歌、亚马逊、微软和阿里巴巴等国际型大互联网公司的大规模分布式存储系统进行了分析;实战方面,首先通过对阿里巴巴的分布式数据库OceanBase的实现细节的深入剖析完整地展示了大规模分布式存储系统的架构与设计过程,然后讲解了大规模分布式存储技术在云计算和大数据领域的实践与应用。

2015-10-23

李春葆:数据结构习题与解析(C语言版)

李春葆:数据结构习题与解析(C语言版)

2015-03-02

C#多媒体定时器 工具

使用方法 (1) 添加dll文件到项目中 (2) 使用命名空间 using Dongzr.MidiLite; (3) 定义 EventHandler. void timer1_Tick(object sender, EventArgs e) { //.......................... } (4) 定义计时器 static MmTimer timer1; (5) 初始化并开始 timer1 = new MmTimer(); timer1.Mode = MmTimerMode.Periodic; timer1.Interval = 1; timer1.Tick += new EventHandler(timer1_Tick); timer1.Start(); (6) 停止并释放 timer1.Stop(); timer1.Dispose(); 另外,在项目中的工具栏中也可以看到该控件,也可以将该控件直接拖到窗体上,设置属性,添加事件,然后开始计时。

2015-01-27

简单的事件委托源码

该程序是应用委托事件的一个小例子,结构清晰明了,可以用来学习事件和委托

2014-07-01

利用MVC模式编写的Winform程序源码

根据文章《Introduction to Model View Control (MVC) Pattern using C#》编写的程序源码,可以用来学习MVC,文章链接http://www.c-sharpcorner.com/UploadFile/rmcochran/MVC_intro12122005162329PM/MVC_intro.aspx?ArticleID=448db537-f236-497d-a16b-46c5d1141e3f 其他用户翻译后文章地址http://www.cnblogs.com/c-delight/archive/2005/12/27/305694.html

2014-06-27

Framework Design Guidlines, Second edition.rar

Framework Design Guidelines, Second Edition, teaches developers the best practices for designing reusable libraries for the Microsoft .NET Framework. Expanded and updated for .NET 3.5, this new edition focuses on the design issues that directly affect the programmability of a class library, specifically its publicly accessible APIs. This book can improve the work of any .NET developer producing code that other developers will use. It includes copious annotations to the guidelines by thirty-five prominent architects and practitioners of the .NET Framework, providing a lively discussion of the reasons for the guidelines as well as examples of when to break those guidelines. Microsoft architects Krzysztof Cwalina and Brad Abrams teach framework design from the top down. From their significant combined experience and deep insight, you will learn * The general philosophy and fundamental principles of framework design * Naming guidelines for the various parts of a framework * Guidelines for the design and extending of types and members of types * Issues affecting-and guidelines for ensuring-extensibility * How (and how not) to design exceptions * Guidelines for-and examples of-common framework design patterns Guidelines in this book are presented in four major forms: Do, Consider, Avoid, and Do not. These directives help focus attention on practices that should always be used, those that should generally be used, those that should rarely be used, and those that should never be used. Every guideline includes a discussion of its applicability, and most include a code example to help illuminate the dialogue. Framework Design Guidelines, Second Edition, is the only definitive source of best practices for managed code API development, direct from the architects themselves. A companion DVD includes the Designing .N ET Class Libraries video series, instructional presentations by the authors on design guidelines for developing classes and components that extend the .NET Framework. A sample API specification and other useful resources and tools are also included.

2014-06-23

《人月神话》(中文+英文)

目录第1章 焦油坑 1.1 编程系统产品 《人月神话》 1.2 职业的乐趣 1.3 职业的苦恼 第2章 人月神话 2.1 乐观主义 2.2 人月 2.3系统测试 2.4 空泛的估算 2.5 重复产生的进度灾难 第3章 外科手术队伍 3.1 问题 3.2 Mills的建议 3.3 如何运作 3.4 团队的扩建 第4章 贵族专制、民主政治和系统设计 4.1 概念的完整性 4.2 获得概念的完整性 4.3 贵族专制统治和民主政治 4.4 在等待时,实现人员应该做什么 第5章 画蛇添足 5.1 结构师的交互准则和机制 5.2 自律-开发第二个系统所带来的后果 第6章 贯彻执行 6.1 文档化的规格说明-手册 6.2 形式化定义 6.3 直接整合 6.4 会议和大会 6.5 多重实现 6.6 电话日志 6.7 产品测试 第7章 为什么巴别塔会失败 7.1 巴别塔的管理教训 7.2 大型编程项目中的交流 7.3 项目工作手册 7.4 大型编程项目的组织架构 第8章 胸有成竹 8.1 Portman的数据 8.2 Aron的数据 8.3 Harr的数据 8.4 OS/360的数据 8.5 Corbato的数据 第9章 削足适履 9.1 作为成本的程序空间 9.2 规模控制 9.3 空间技能 9.4 数据的表现形式是编程的根本 第10章 提纲挈领 10.1 计算机产品的文档 10.2 大学科系的文档 10.3 软件项目的文档 10.4 为什么要有正式的文档 第11章 未雨绸缪 11.1 试验性工厂和增大规模 11.2 惟一不变的就是变化本身 11.3 为变更计划系统 11.4 为变更计划组织架构 11.5 前进两步,后退一步 11.6 前进一步,后退一步 第12章 干将莫邪 12.1 目标机器 12.2 辅助机器和数据服务 12.3 高级语言和交互式编程 第13章 整体部分 13.1剔除bug的设计 13.2 构件单元调试 13.3 系统集成调试 第14章 祸起萧墙 14.1 里程碑还是沉重的负担 14.2 “其他的部分反正会落后” 14.3 地毯的下面 第15章 另外一面 15.1 需要什么样的文档 15.2 流程图 15.3 自文档化的程序 第16章 没有银弹-软件工程中的根本和次要问题 16.1 摘要 16.2 介绍 16.3 是否一定那么困难呢?-根本困难 16.4 以往解决次要困难的一些突破 16.5 银弹的希望 16.6 针对概念上根本问题的颇具前途的方法 第17章 再论“没有银弹” 17.1 人狼和其他恐怖传说 17.2 存在着银弹-就在这里! 17.3 含糊的表达将会导致误解 17.4 Harel的分析 17.5 Jones的观点-质量带来生产率 17.6 那么,生产率的情形如何 17.7 面向对象编程-这颗铜质子弹可以吗 17.8 重用的情况怎样 17.9 学习大量的词汇-对软件重用的一个可预见,但还没有被预言的问题 17.10 子弹的本质-形势没有发生改变 第18章 《人月神话》的观点:是与非 18.1 第1章 焦油坑 18.2 第2章 人月神话 18.3 第3章 外科手术队伍 18.4 第4章 贵族专制、民主政治和系统设计 18.5 第5章 画蛇添足 18.6 第6章 贯彻执行 18.7 第7章 为什么巴别塔会失败 18.8 第8章 胸有成竹 18.9 第9章 削足适履 18.10 第10章 提纲挈领 18.11 第11章 未雨绸缪 18.12 第12章 干将莫邪 18.13 第13章 整体部分 18.14 第14章 祸起萧墙 18.15 第15章 另外一面 18.16 第1版结束语 第19章 20年后的《人月神话》 19.1 为什么要出版20周年纪 《人月神话(影印版)》 念版本 19.2 核心观点-概念完整性和结构师 19.3 开发第二个系统所引起的后果-盲目的功能和频率猜测 19.4 图形界面的成功 19.5 没有构建舍弃原型-瀑布模型是错误的! 19.6 增量开发模型更佳-渐进的精化 19.7 关于信息隐藏,Parnas是正确的,我是错误的 19.8 人月到底有多少神话色彩?-Boehm的模型和数据 19.9 人就是一切(或者说,几乎是一切) 19.10放弃权利的力量 19.11更令人惊讶的新事物是什么?-数百万的计算机 19.12全新的软件产业-塑料薄膜包装的成品软件 19.13买来开发-使用塑料包装的成品软件包作为构件 19.14软件工程的状态和未来 结束语:令人向往、激动人心和充满乐趣的50年 注解与参考文献

2013-09-23

定时器详解及例题课件

本演示文稿详细介绍了SetTimer及KillTimer的参数及并结合实例讲解了它的使用方法,清晰,明了。

2012-10-18

C#委托与事件

委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。

2012-10-17

C#+4.0图解教程.pdf

《C# 4.0图解教程》是一本广受称赞的C#教程。它以图文并茂的形式,用朴实简洁的文字,并辅之以大量表格和代码示例,全面地阐述了最新版C#语言的各种特性,使读者能够快速理解、学习和使用C#。同时,《C# 4.0图解教程》还讲解了C#与VB、C++等主流语言的不同点和相似之处。 《C# 4.0图解教程》是经典的C#入门书,不仅适合没有任何编程语言基础的初级读者阅读,而且还是有VB、C++等语言基础的C#初学者的最佳选择。 目 录    第1章 C#和NET框架  1   1.1 在NET之前 1    1.1.1 20世纪90年代后期的Windows编程 1    1.1.2 下一代平台服务的目标 2    1.2 进入Microsoft NET 2    1.2.1 NET框架的组成 2    1.2.2 大大改进的编程环境 3   1.3 编译成CIL 5    1.4 编译成本机代码并执行 5    1.5 CLR 6    1.6 CLI 7    1.7 缩写回顾 8    第2章 C#编程概述 9    2.1 一个简单的C#程序 9    2.2 标识符和关键字 11   2.2.1 命名约定 11   2.2.2 关键字 12   2.3 Main:程序的起始点 12   2.4 空白 13   2.5 语句 13   2.5.1 简单语句 13   2.5.2 块 14   2.6 从程序中输出文本 14   2.6.1 Write 14   2.6.2 WriteLine 15   2.6.3 格式字符串 15   2.6.4 多重标记和值 16   2.7 注释 16   2.7.1 关于注释的补充 17   2.7.2 文档注释 17   2.7.3 注释类型总结 18   第3章 类型、存储和变量 19   3.1 C#程序是一组类型声明 19   3.2 类型是一种模板 20   3.3 实例化类型 20   3.4 数据成员和函数成员 21   3.5 预定义类型 21   3.6 用户定义类型 23   3.7 栈和堆 24   3.7.1 栈 24   3.7.2 堆 25   3.8 值类型和引用类型 25   3.8.1 存储引用类型对象的成员 26   3.8.2 C#类型的分类 27   3.9 变量 27   3.9.1 变量声明 27   3.9.2 多重变量声明 29   3.9.3 使用变量的值 29   3.10 静态类型和dynamic关键字 29   3.11 可空类型 30   3.11.1 创建可空类型 30   3.11.2 为可空类型赋值 31   第4章 类:基础 32   4.1 类的概述 32   4.2 程序和类:一个快速的示例 33   4.3 声明类 33   4.4 类成员 34   4.4.1 字段 34   4.4.2 显式和隐式字段初始化 35   4.4.3 声明多个字段 36   4.4.4 方法 36   4.5 创建变量和类的实例 37   4.6 为数据分配内存 37   4.7 实例成员 38   4.8 访问修饰符 39   4.9 从类的内部访问成员 41   4.10 从类的外部访问成员 42   4.11 综合应用 43   第5章 方法 45   5.1 方法的结构 45   5.2 本地变量 47   5.2.1 类型推断和var关键字 47   5.2.2 嵌套块中的本地变量 48   5.3 本地常量 49   5.4 方法调用 51   5.5 返回值 52   5.6 参数 54   5.6.1 形参 54   5.6.2 实参 55   5.6.3 带位置输入参数的方法示例 55   5.7 值参数 56   5.8 引用参数 58   5.9 输出参数 60   5.10 参数数组 62   5.10.1 方法调用 63   5.10.2 数组作实参 65   5.11 参数类型总结 66   5.12 方法重载 66   5.13 命名参数 67   5.14 可选参数 68   5.15 栈帧 71   5.16 递归 72   第6章 类进阶 74   6.1 类成员 74   6.2 实例类成员 76   6.3 静态字段 76   6.4 从类的外部访问静态成员 77   6.4.1 静态字段示例 77   6.4.2 静态成员的生存期 78   6.5 静态函数成员 79   6.6 其他静态类成员类型 80   6.7 成员常量 80   6.8 属性 82   6.8.1 属性声明和访问器 83   6.8.2 属性示例 83   6.8.3 使用属性 84   6.8.4 属性和关联字段 85   6.8.5 执行其他计算 86   6.8.6 只读和只写属性 87   6.8.7 计算只读属性示例 87   6.8.8 属性和数据库示例 88   6.8.9 属性vs公共字段 88   6.8.10 自动实现属性 89   6.8.11 静态属性 89   6.9 实例构造函数 90   6.9.1 带参数的构造函数 91   6.9.2 默认构造函数 92   6.10 静态构造函数 93   6.10.1 静态构造函数示例 93   6.10.2 构造函数的可访问性 94   6.11 对象初始化列表 94   6.12 析构函数 95   6.12.1 调用析构函数 96   6.12.2 标准清理模式 98   6.13 比较构造函数和析构函数 99   6.14 readonly修饰符 99   6.15 this关键字 100   6.16 索引 101   6.16.1 什么是索引 102   6.16.2 索引和属性 102   6.16.3 声明索引 103   6.16.4 索引的set访问器 104   6.16.5 索引的get访问器 104   6.16.6 关于索引的补充 105   6.16.7 为Employee示例声明索引 105   6.16.8 另一个索引示例 106   6.16.9 索引重载 107   6.17 访问器的访问修饰符 107   6.18 分部类和分部类型 109   第7章 类和继承 12   7.1 类继承 112   7.2 访问继承的成员 113   7.3 隐藏基类的成员 115   7.4 基类访问 116   7.5 使用基类的引用 117   7.5.1 虚方法和覆写方法 119   7.5.2 覆写标记为override的方法 120   7.5.3 覆盖其他成员类型 123   7.6 构造函数的执行 124   7.6.1 构造函数初始化语句 125   7.6.2 类访问修饰符 127   7.7 程序集间的继承 128   7.8 成员访问修饰符 129   7.8.1 访问成员的区域 130   7.8.2 公有成员的可访问性 131   7.8.3 私有成员的可访问性 131   7.8.4 受保护成员的可访问性 132   7.8.5 内部成员的可访问性 132   7.8.6 受保护内部成员的可访问性 132   7.8.7 成员访问修饰符的总结 133   7.9 抽象成员 133   7.10 抽象类 134   7.10.1 抽象类和抽象方法的示例 135   7.10.2 抽象类的另一个例子 136   7.11 密封类 137   7.12 静态类 137   7.13 扩展方法 138   第8章 表达式和运算符 142   8.1 表达式 142   8.2 字面量 143   8.3 整数字面量 144   8.4 字符字面量 145   8.5 字符串字面量 146   8.6 求值顺序 147   8.6.1 优先级 148   8.6.2 结合性 148   8.7 简单算术运算符 149   8.8 求余运算符 149   8.9 关系比较运算符和相等比较运算符 150   8.10 递增运算符和递减运算符 152   8.11 条件逻辑运算符 153   8.12 逻辑运算符 154   8.13 移位运算符 155   8.14 赋值运算符 157   8.15 条件运算符 158   8.16 一元算术运算符 159   8.17 用户定义类型转换 160   8.18 运算符重载 162   8.18.1 运算符重载的限制 163   8.18.2 运算符重载的示例 164   8.19 typeof运算符 165   8.20 其他运算符 166   第9章 语句 167   9.1 什么是语句 167   9.2 表达式语句 168   9.3 控制流语句 169   9.4 if 语句 169   9.5 if…else语句 170   9.6 switch语句 171   9.6.1 分支示例 172   9.6.2 switch语句的补充 173   9.6.3 switch标签 174   9.7 while循环 174   9.8 do循环 175   9.9 for循环 176   9.9.1 for语句中变量的有效范围 177   9.9.2 初始化语句和迭代表达式中的多表达式 178   9.10 跳转语句 178   9.11 break语句 178   9.12 continue语句 179   9.13 标签语句 180   9.13.1 标签 180   9.13.2 标签语句的范围 180   9.14 goto语句 181   9.15 using语句 182   9.15.1 资源的包装使用 183   9.15.2 using语句的示例 183   9.15.3 多个资源和嵌套 184   9.15.4 using语句的另一种形式 185   9.16 其他语句 186   第10章 命名空间和程序集 187   10.1 引用其他程序集 187   10.2 命名空间 191   10.2.1 命名空间名称 194   10.2.2 命名空间的补充 194   10.2.3 命名空间跨文件伸展 195   10.2.4 嵌套命名空间 195   10.3 using指令 196   10.3.1 using命名空间指令 196   10.3.2 using别名指令 197   10.4 程序集的结构 198   10.5 程序集标识符 199   10.6 强命名程序集 200   10.7 程序集的私有方式部署 201   10.8 共享程序集和GAC 201   10.8.1 把程序集安装到GAC 201   10.8.2 GAC内的并肩执行 202   10.9 配置文件 203   10.10 延迟签名 203   第11章 异常 205   11.1 什么是异常 205   11.2 try语句 206   11.3 异常类 207   11.4 catch子句 207   11.4.1 使用特定catch子句的示例 208   11.4.2 catch子句段 209   11.5 finally块 210   11.6 为异常寻找处理代码 211   11.7 更进一步搜索 211   11.7.1 一般法则 212   11.7.2 搜索调用栈的示例 213   11.8 抛出异常 214   11.9 不带异常对象的抛出 215   第12章 结构 217   12.1 什么是结构 217   12.2 结构是值类型 218   12.3 对结构赋值 219   12.4 构造函数和析构函数 220   12.4.1 实例构造函数 220   12.4.2 静态构造函数 221   12.4.3 构造函数和析构函数的总结 221   12.5 字段初始化是不允许的 222   12.6 结构是密封的 222   12.7 装箱和取消装箱 222   12.8 结构作为返回值和参数 222   12.9 关于结构的附加信息 222   第13章 枚举 224   13.1 枚举 224   13.1.1 设置底层类型和显式值 225   13.1.2 隐式成员编号 226   13.2 位标志 227   13.2.1 Flags特性 229   13.2.2 使用位标志的示例 230   13.3 关于枚举的补充 231   第14章 数组 233   14.1 数组 233   14.1.1 定义 233   14.1.2 重要细节 234   14.2 数组的类型 234   14.3 数组是对象 235   14.4 一维数组和矩形数组 236   14.5 实例化一维数组或矩形数组 236   14.6 访问数组元素 237   14.7 初始化数组 238   14.7.1 显式初始化一维数组 238   14.7.2 显式初始化矩形数组 239   14.7.3 初始化矩形数组的语法点 239   14.7.4 快捷语法 240   14.7.5 隐式类型数组 240   14.7.6 综合内容 241   14.8 交错数组 241   14.8.1 声明交错数组 242   14.8.2 快捷实例化 242   14.8.3 实例化交错数组 242   14.8.4 交错数组中的子数组 243   14.9 比较矩形数组和交错数组 244   14.10 foreach语句 245   14.10.1 迭代变量是只读的 246   14.10.2 foreach语句和多维数组 247   14.11 数组协变 248   14.12 数组继承的有用成员 249   14.13 比较数组类型 252   第15章 委托 253   15.1 什么是委托 253   15.2 声明委托类型 255   15.3 创建委托对象 255   15.4 赋值委托 257   15.5 组合委托 257   15.6 为委托增加方法 258   15.7 从委托移除方法 259   15.8 调用委托 259   15.9 委托的示例 260   15.10 调用带返回值的委托 261   15.11 调用带引用参数的委托 262   15.12 匿名方法 262   15.12.1 使用匿名方法 263   15.12.2 匿名方法的语法 263   15.12.3 变量和参数的作用域 265   15.13 Lambda表达式 266   第16章 事件 269   16.1 事件和委托相似 269   16.2 源代码组件概览 270   16.3 声明事件 271   16.3.1 事件是成员 271   16.3.2 委托类型和EventHandler 272   16.4 触发事件 272   16.5 订阅事件 273   16.6 标准事件的用法 275   16.6.1 使用EventArgs类 275   16.6.2 通过扩展EventArgs来传递数据 276   16.6.3 使用自定义委托 276   16.7 MyTimerClass代码 278   16.8 事件访问器 279   第17章 接口 280   17.1 什么是接口 280   17.2 声明接口 283   17.3 实现接口 284   17.4 接口是引用类型 285   17.5 接口和as运算符 287   17.6 实现多个接口 287   17.7 实现具有重复成员的接口 288   17.8 多个接口的引用 289   17.9 派生成员作为实现 291   17.10 显式接口成员实现 291   17.11 接口可以继承接口 294   第18章 转换 297   18.1 什么是转换 297   18.2 隐式转换 298   18.3 显式转换和强制转换 299   18.4 转换的类型 300   18.5 数字的转换 301   18.5.1 隐式数字转换 301   18.5.2 溢出检测上下文 302   18.5.3 显式数字转换 303   18.6 引用转换 306   18.6.1 隐式引用转换 307   18.6.2 显式引用转换 308   18.6.3 有效显式引用转换 308   18.7 装箱转换 309   18.8 拆箱转换 311   18.9 用户自定义转换 312   18.9.1 用户自定义转换的约束 312   18.9.2 用户自定义转换的示例 313   18.9.3 计算用户自定义转换 314   18.9.4 多步用户自定义转换的示例 315   18.10 is运算符 316   18.11 as运算符 317   第19章 泛型 318   19.1 什么是泛型 318   19.2 C#中的泛型 320   19.3 泛型类 321   19.4 声明泛型类 321   19.5 创建构造类型 322   19.6 创建变量和实例 323   19.6.1 使用泛型的栈的示例 324   19.6.2 比较泛型和非泛型栈 325   19.7 类型参数的约束 326   19.7.1 Where子句 327   19.7.2 约束类型和次序 327   19.8 泛型方法 328   19.8.1 声明泛型方法 328   19.8.2 调用泛型方法 329   19.8.3 泛型方法的示例 330   19.9 扩展方法和泛型类 331   19.10 泛型结构 332   19.11 泛型委托 332   19.12 泛型接口 334   19.12.1 使用泛型接口的示例 335   19.12.2 泛型接口的实现必须唯一 336   19.13 泛型的协变和逆变 337   19.13.1 接口的协变和逆变 341   19.13.2 有关变化的更多内容 342   第20章 枚举数和迭代器 344   20.1 枚举数和可枚举类型 344   20.1.1 使用foreach语句 344   20.1.2 枚举数类型 345   20.2 使用IEnumerator接口 346   20.3 IEnumerable接口 349   20.4 不实现接口的枚举数 351   20.5 泛型枚举接口 352   20.6 IEnumerator接口 352   20.7 IEnumerable接口 354   20.8 迭代器 355   20.8.1 迭代器块 356   20.8.2 使用迭代器来创建枚举数 357   20.8.3 使用迭代器来创建可枚举类型 358   20.9 常见迭代器模式 360   20.10 产生可枚举类型和枚举数 360   20.11 产生多个可枚举类型 361   20.12 产生多个枚举数 362   20.13 迭代器实质 363   第21章 介绍LINQ 365   21.1 什么是LINQ 365   21.2 LINQ提供程序 366   21.3 查询语法和方法语法 368   21.4 查询变量 369   21.5 查询表达式的结构 370   21.5.1 from子句 371   21.5.2 join子句 372   21.5.3 什么是联结 373   21.5.4 查询主体中的fromletwhere片段 375   21.5.5 orderby子句 378   21.5.6 select…group子句 378   21.5.7 查询中的匿名类型 380   21.5.8 group子句 380   21.5.9 查询延续 382   21.6 标准查询运算符 383   21.6.1 查询表达式和标准查询运算符 384   21.6.2 标准查询运算符的签名 385   21.6.3 委托作为参数 386   21.6.4 LINQ预定义的委托类型 387   21.6.5 使用委托参数的示例 388   21.6.6 使用Lambda表达式参数的示例 388   21.7 LINQ to XML 390   21.7.1 标记语言 390   21.7.2 XML基础 390   21.7.3 XML类 391   21.7.4 使用XML树的值 394   21.7.5 使用XML属性 397   21.7.6 节点的其他类型 400   21.7.7 使用LINQ to XML的LINQ查询 401   第22章 异步编程简介 404   22.1 进程、线程以及异步编程 404   22.1.1 多线程处理带来的问题 405   22.1.2 多线程处理的复杂度 405   22.2 并行循环 406   22.3 BackgroundWorker类 408   22.3.1 BackgroundWorker类的示例代码 411   22.3.2 BackgroundWorker用于WPF程序的例子 414   22.4 异步编程模式 416   22.5 BeginInvoke和EndInvoke 417   22.5.1 等待—直到结束模式 418   22.5.2 AsyncResult类 419   22.5.3 轮询模式 420   22.5.4 回调模式 421   22.6 计时器 423   第23章 预处理指令 426   23.1 什么是预处理指令 426   23.2 基本规则 426   23.3 #define和#undef指令 427   23.4 条件编译 428   23.5 条件编译结构 429   23.6 诊断指令 431   23.7 行号指令 431   23.8 区域指令 432   23.9 #pragma warning指令 433   第24章 反射和特性 434   24.1 元数据和反射 434   24.2 Type类 435   24.3 获取Type对象 436   24.4 什么是特性 438   24.5 应用特性 439   24.6 预定义的保留的特性 439   24.6.1 Obsolete特性 439   24.6.2 Conditional特性 440   24.6.3 预定义的特性 441   24.7 有关应用特性的更多内容 442   24.7.1 多个特性 442   24.7.2 其他类型的目标 442   24.7.3 全局特性 443   24.8 自定义特性 443   24.8.1 声明自定义特性 444   24.8.2 使用特性的构造函数 444   24.8.3 指定构造函数 444   24.8.4 使用构造函数 445   24.8.5 构造函数中的位置参数和命名参数 445   24.8.6 限制特性的使用 446   24.8.7 自定义特性的最佳实践 447   24.9 访问特性 448   24.9.1 使用IsDefined方法 448   24.9.2 使用GetCustomAttribute方法 449   第25章 其他主题 450   25.1 概述 450   25.2 字符串 450   25.2.1 使用StringBuilder类 451   25.2.2 格式化数字字符串 452   25.3 把字符串解析为数据值 455   25.4 关于可空类型的更多内容 457   25.4.1 使用空接合运算符 458   25.4.2 使用可空用户自定义类型 459   25.5 Main方法 460   25.6 文档注释 461   25.6.1 插入文档注释 462   25.6.2 使用其他XML标签 463   25.7 嵌套类型 463   25.7.1 嵌套类的示例 464   25.7.2 可见性和嵌套类型 465   25.8 和COM的互操作 467

2012-10-15

空空如也

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

TA关注的人

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