Redis源码分析(三十六)--- Redis中的11大优秀设计

坚持了一个月左右的时间,从最开始的对Redis的代码做分类,从struct结构体分析开始,到最后分析main主程序结束,中间,各大模块的代码逐个击破,学习,总之,收获了非常多,好久没有这么久的耐心把一个框架学透,学习一个框架,会用那只是小小的一部分,能把背后的原理吃透才是真功夫。在这个学习的最后阶段,是时候要来点干货了,我把这1个多月来的一些总结的一些比较好的代码,和设计思想总结出来了,原本想凑成
分类: 其他 发布时间: 05-24 23:48 阅读次数: 4

HDFS精华文章汇总

前言自2015年下半年起,笔者开始写关于Hadoop的文章(主要集中在HDFS),包括源码分析类的,问题分析解决又或者是内部机制剖析。这些文章目前汇总数量已经达到70+篇。这些文章对于笔者来说是一个宝贵的资料,这些文章见证了笔者从一名Hadoop贡献者成长为Hadoop Committer的过程。同样笔者相信,这些文章对于那些对HDFS感兴趣的人同样是很好的学习资料。因此,笔者觉得是时候写一篇文章来
分类: 其他 发布时间: 05-24 23:48 阅读次数: 5

Linux C程序设计--三大基本结构

目标:掌握使用Linux C程序设计基本结构,并且熟练掌握一种结构程序的设计方法。熟练运用if-else和switch进行选择程序设计,熟悉两者之间的区别与关系,熟练运用for,while,do-while进程循环设计,理解三者之间的区别。常用输出函数多类型输出函数:printf("格式控制",输出)%c:输出单个字符,%d:输出十进制整数,%o:输出八进制整数,%x:输出十六进制整数,%u:输出...
分类: 其他 发布时间: 05-24 23:48 阅读次数: 5

Linux C程序设计--数组与指针(一)

1.1数组的基本概念及其定义    在程序设计中,为了方便处理,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。(1)对于同一个数组,其所有元素的数据类型都是相同的。(2)数组名的书写规则应符合标识符的书写规定。(3)数组名不能与其他变量名相同。(4)方括号中的常量表示数组元素的个数,旗下标从0开始计算。(5)允许在同一个类型说明中,说明多个数组分多个变量。...
分类: 其他 发布时间: 05-24 23:47 阅读次数: 7

Linux C程序设计--数组与指针(二)

2.1指针基本概念及其定义    所谓的指针就是一个用来指示一个内存地址的计算机语言的变量或中央处理器中的寄存器。指针一般出现在比较近机器语言的语言,如汇编语言或C语言中。一个指针是一个地址,是一个常量,而一个指针可以被赋予不同的指针值,是一个变量。为了便于两者区别,我们认为“指针”是指地址,“指针变量”是取值为地址的变量。类型说明符*指针名=&变量名*表示这是一个指针&表示这是变...
分类: 其他 发布时间: 05-24 23:47 阅读次数: 3

Linux C程序设计--结构体

1.结构体的声明与定义 结构体定义:    “结构”是一种构造类型,它有若干个“成员”组成。每一个成员可以是一个基本数据类型或者是一个构造类型。结构体既然是一种“构造”而成的数据类型,那么在说明和使用之前必须先定义它,也就是先构造它,如同在说明和调用函数之前先定义函数一样。结构体声明:struct 结构名{成员列表};对每一个成员也必须作类型说明:类型说明符 成员名;   定义与访问结构体:(实在...
分类: 其他 发布时间: 05-24 23:47 阅读次数: 5

Linux C程序设计--预处理命令

0.宏定义.0“宏”就是C语言中标准允许程序用一个标识符表示的一个字符串。宏分为两种分别是:无参数宏,有参数宏。1.1无参数宏无参数宏定义的一般形式为:#define 标识符字符串“#”代表本行的编译预处理命令。“define”是宏定义的关键字。使用无参数宏程序,输入半径,求圆的周长,面积与体积:#include "stdafx.h" #define PI 3.14 int _tmain(in...
分类: 其他 发布时间: 05-24 23:47 阅读次数: 4

Linux C程序设计--函数

1.概述    函数是模块化程序设计思想的产物,是构成C语言程序的基本功能模块,它完成一项相对独立的任务。一个C语言程序是若干函数构成,在构成C程序的诸多函数中有且只有一个主函数。函数是程序的最小组成单位。所有函数之间的关系是平行的,没有从属的概念。    在C语言中函数可以分为两类,一类是由系统定义的标准函数,另外一种是自定义函数。2.函数定义与声明2.1函数定义函数的定义必须遵循“先定义,后使...
分类: 其他 发布时间: 05-24 23:46 阅读次数: 3

ASP.NET网站开发--LINQ to SQL-Lambda

1.Lambda简介Lambda表达式:简化委托的使用,让代码更加简洁,是C#1.0新增的重要功能之一。表达式形式:1.一个参数:param=>expr2.多个参数:(param-list)=>expr例如:Expression<Func<string.bool>>expr=0=>0.Length>9;语句主要分为两个部分,“>=”是一个整体,...
分类: 其他 发布时间: 05-24 23:46 阅读次数: 5

ASP.NET网站开发--LINQ to SQL-八大子句

下列内容属于借鉴,原文请看点击打开链接《Lambda表达式使用汇总》(一)输入参数    在Lambda表达式中,输入参数是Lambda运算符的左边部分。它包含参数的数量可以为0、1或者多个。只有当输入参数为1时,Lambda表达式左边的一对小括弧才可以省略。输入参数的数量大于或者等于2时,Lambda表达式左边的一对小括弧中的多个参数质检使用逗号(,)分割。例:() => Console....
分类: 其他 发布时间: 05-24 23:46 阅读次数: 6

ASP.NET网站开发--LINQ to SQL-动态数据支持

LINQ to SQL-动态数据支持步骤如下:第一步创建ASP.NET Dynamic Data Linq to SQL Web应用程序第二部添加一个LINQ to SQL文件并且链接数据库文件第三部修改Globql.asax文件 model.RegisterContext(typeof(DataClasses1DataContext), new ContextConfiguration() { ...
分类: 其他 发布时间: 05-24 23:46 阅读次数: 6

ASP.NET网站开发--用户控件与HttpHandler

1.用户控件简单的来说,用户控件就是能够在其中放置标记和Web服务器的容器,可以被看作一个独立的单元,拥有自己的属性和方法,并且可以被放入到ASPX页面上。应为它的工作方式跟ASP.NET很相似,也可以理解:当一个Web窗体被当作Server控件使用时,这个Web窗体便是用户控件。1.1用户控件与页面的区别后缀名:用户控件以.ascx为后缀,页面后缀是.aspx;指令:用户控件@Control,页...
分类: 其他 发布时间: 05-24 23:45 阅读次数: 4

ASP.NET网站开发--安全验证

1.ASP.NET的安全模式Windows身份验证:IIS验证,在内联网中很实用;Passport身份验证:微软集中式验证,一次登录访问所有成员站点,但是收费;Form窗体验证:验证账号/密码,Web编程中最佳最流行的验证方式;None验证:ASP.NET自己根本不执行身份验证,完全依赖IIS身份验证;关于认证和授权机制:认证是用户确定身份的过程,在用户通过身份验证后,开发人员就可以确定该用户是否...
分类: 其他 发布时间: 05-24 23:45 阅读次数: 7

ASP.NET网站开发--form元属主要属性

name:赋予cookie的名字,该cookie用于在请求之间保存用户。默认值是.ASPXAUTH;loginUrl:如果没有找到有效的验证cookie,就指定请求权重新定向的URL;protection:制定要用于验证cookie的保护级别,有以下四个设置:ALL:应用程序使用数据有效性验证和加密机制来保护cookie,这是默认设置;None:不加密cookie;Encryption:加密coo...
分类: 其他 发布时间: 05-24 23:45 阅读次数: 4

ASP.NET网站开发--个性化用户配置

1.<Profille>配置节设置<Profille>配置节经常对其三部分进行设置:1.<Profille>自身属性;2.子节<properties>属性设置3.子节<providers>属性设置例: <profile enabled="true" defaultProvider="AspProfileProvider&
分类: 其他 发布时间: 05-24 23:44 阅读次数: 4

使用apache的POI实现excel下载(.xls和.xlsx)

response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");  response.addHeader("Content-Disposition", "attachment;filename=fileName" +fileName+ ".xlsx"); 实现.xlsx文件  ...
分类: 其他 发布时间: 05-24 23:44 阅读次数: 7

有关springmvc文件上传,出现400 的错误问题

不同项目不同对待:问题描述:       通过前台页面做文件上传,点击按钮上传时出现服务器直接拦截并报不支持(bad request),后台没有报错,坚信(js)代码不存在问题的情况下,寻找答案:在启动项目中main类中@springBootApplicatio下加上@EnableAutoConfigurationo(exclude={MultiparAutoConfiguration.class...
分类: 其他 发布时间: 05-24 23:44 阅读次数: 7

处理编码问题引起的各种问题,如截取乱码,字符乱码,编码格式显示不正常

机器码二进制:将所有字符转换为机器码在做处理,了解对应编码的对应字符长度。Systrm.arraycopy();方法的使用,这个方法可以实现数组间的copy(用字节数组);会使用new String(字节数组, encode);方法将字节转换成对应编码的字符;为忽略最后一个出现乱码现象可以将长度减  1,针对定长报文,并且字段信息不是很重要的情况。说白了就是要熟练几个方法,还有就是要明白,电脑通过...
分类: 其他 发布时间: 05-24 23:44 阅读次数: 5

GB2312详解《为记忆而摘取》

GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE。 GB2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始使用。GB2312编码共收录汉字6763个,其中一级汉字3755个,二级汉字3008个。同时,GB2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。 ...
分类: 其他 发布时间: 05-24 23:43 阅读次数: 5

如何设置select只读不可编辑且select的值可传递(摘自百度)

selectstyle="width:195px"name="role"id="role"onfocus="this.defaultIndex=this.selectedIndex;"onchange="this.selectedIndex=this.defaultIndex;">这种方法可以使下拉框和平常没有区别,看起来没有任何不同。唯一不同的就是下拉并单并1. <select
分类: 其他 发布时间: 05-24 23:43 阅读次数: 6