自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

raiet

linux,分布式存储

  • 博客(50)
  • 资源 (12)
  • 收藏
  • 关注

原创 atoi的正确实现

String to Integer (atoi) Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask

2014-09-05 19:09:10 742

转载 Spring IoC常用注解

Spring IoC容器Spring IoC(Inversion of Control,控制反转)是Spring Framework的最核心的部分。所谓控制反转,是指通过使用IoC容器对象依赖关系的管理被反转了,也就是说,对象之间的依赖关系由IoC容器进行管理,并且由Ioc容器通过依赖注入(DI,Dependency Injection)的方式来完成对象的注入。 在

2014-06-14 21:48:40 1835

转载 JAVA动态代理

1.什么是动态代理?答:动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了实际对象。客户不知道它是与代理打交道还是与实际对象打交道。2.为什么使用动态代理?答:因为动态代理可以对请求进行任何处理3.使用它有哪些好处?

2014-06-14 16:12:56 683

原创 JAVA反射机制

反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性和方法。他主要依托JVM中关于类的元数据信息来完成这一功能,有过C++编程经验的同学应该很了解C++中实现多态的虚表吧,在这里的元数据其实和虚表

2014-06-14 15:01:25 769 1

原创 解析xml文件

使用JDOM解析XML文件

2014-06-13 15:43:48 652

原创 Spring AOP

Spring是分层的java SE/EE应用的一站式的开源框架,以控制反转(Inverse of Control,IoC)和面向切面编程(Aspect Oriented Programming,AOP)为核心,提供了表现层spring MVC,持久层spring JDBC以及业务层事务管理等众多的企业级应用技术。Spring一贯遵守“好的设计优于具体实现,代码应该易于测试”这一理念。相对于传统的“

2014-06-13 10:58:02 754

原创 Spring MVC

当前流行的mvc框架主要有struts1,webwork,struts2,spring mvc,jsf。Struts 1 是最早的mvc框架,之后出来的webwork涉及思想非常优秀但是很遗憾,没有得到太多的应用。在struts1和webwork的基础上,发展起来了struts2的框架,这是目前主要使用的框架之一,jsf是一个事件驱动的mvc框架。Spring MVC 分离了控制器、模型对象、分派

2014-06-07 15:09:22 620

原创 SVN环境的搭建和使用

SVN环境的搭建和使用 安装环境:1、win8 2、VisualSVN-Server-2.7.6.msi(SVN服务器)3、TortoiseSVN-1.8.7.25475-x64-svn-1.8.9.msi(SVN客户端)4、LanguagePack_1.8.7.25475-x64-zh_CN.msi(客户端汉化包) 服务器安装双击VisualSVN-Serve

2014-06-04 09:58:14 993

原创 乐观锁和悲观锁

为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。这会产生得冲突,就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A

2014-05-26 09:28:05 604

原创 【redis源码分析】RDB持久化机制

rdb是redis保存内存数据到磁盘数据的其中一种方式(另一种是AOF)。Rdb的主要原理就是在某个时间点把内存中的所有数据的快照保存一份到磁盘上。在条件达到时通过fork一个子进程把内存中的数据写到一个临时文件中来实现保存数据快照。在所有数据写完后再把这个临时文件用原子函数rename(2)重命名为目标rdb文件。这种实现方式充分利用fork的copy on write。  另外一种

2014-05-24 22:04:06 1394 1

原创 【redis源码分析】redis持久化概述

所谓的redis的持久化也就是数据落地,对于任何一个数据系统都要考虑是不是需要数据落地。在系统崩溃或是机房掉点等的原因下,将有用的数据记录在非易失性存储器上面,防止数据丢失或者系统重启时的数据恢复。对于一般的写操作,他的大致流程如下面几个过程:1.客户端向服务端发送写操作(数据在客户端的内存中)  2.数据库服务端接收到写请求的数据(数据在服务端的内存中)  3.服务端调用writ

2014-05-24 19:46:25 939

转载 CAP原理以及一致性和强一致性

在足球比赛里,一个球员在一场比赛中进三个球,称之为帽子戏法(Hat-trick)。在分布式数据系统中,也有一个帽子原理(CAP Theorem),不过此帽子非彼帽子。CAP原理中,有三个要素:一致性(Consistency)可用性(Availability)分区容忍性(Partition tolerance)CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进

2014-05-23 15:00:59 1255

原创 【redis源码分析】redis对象和hash表---redisObject+hashType

Redis对象数据结构如下:typedef struct redisObject {    // 类型    unsigned type:4;    // 对齐位    unsigned notused:2;    // 编码方式    unsigned encoding:4;    // LRU 时间(相对于 server.lruclock)    uns

2014-05-22 21:54:36 896

原创 【redis源码分析】压缩列表---ziplist

压缩列表:   每个节点的构成: 上面的两个数据结构就可以实现整个压缩链表,其实他就是一个连续内存占用的双向链表,只不过没有以固定的节点大小来表示每个节点,而是以各个节点内部的长度标识了节点的额大小,这样可以更加剩内存,在实现的过程中,使用了如下的技巧来保证压缩列表的性质:1,根据编码方式的不同, pre_entry_length 域可能占用 1 字节或者 5 字节

2014-05-22 11:24:10 849

原创 【redis源码分析】跳跃表--skiplist

跳跃表实际上可以看作是一种

2014-05-22 10:04:01 761

原创 【redis源码分析】数字集合--intset

下面是intset的相关定义

2014-05-21 20:19:14 934

原创 【redis源码分析】字典---dict

字典结构是redis的一个核心结构,设计

2014-05-20 21:59:41 787

原创 【redis源码分析】双向链表---adlist

双向链表的头文件定义:

2014-05-19 14:36:58 815

原创 对redis中单元测试框架的简单修改

/* This is a really minimal testing framework for C. * * Example: * * test_cond("Check if 1 == 1", 1==1) * test_cond("Check if 5 > 10", 5 > 10) * test_report() * * ----------------------------

2014-05-19 09:33:43 1155 1

原创 【redis源码分析】动态字符串--sds

#ifndef __SDS_H#define __SDS_H#define SDS_MAX_PREALLOC (1024*1024)#include #include // sds 类型typedef char *sds;// sdshdr 结构,注意这个结构体的大小只有4+4,最后的buf是不占空间的struct sdshdr { // buf 已占用长度,相当

2014-05-18 21:36:45 1158

转载 c99之 柔性数组成员

在讲述柔性数组成员之前,首先要介绍一下不完整类型(incomplete type)。不完整类型是这样一种类型,它缺乏足够的信息例如长度去描述一个完整的对象。6.2.5 Typesincomplete types (types that describe objects but lack information needed to determine their sizes). C与

2014-05-18 19:40:34 564

原创 【redis源码分析】内存分配---zmalloc

/* zmalloc - total amount of allocated memory aware version of malloc() * * Copyright (c) 2009-2010, Salvatore Sanfilippo * All rights reserved. * * Redistribution and use in source and binary f

2014-05-17 21:34:53 1161

转载 数据存储的行存储和列存储

[-]一结构布局二 对比三 优化四 总结目前大数据存储有两种方案可供选择:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,L

2014-05-12 16:43:36 807

原创 用内存映射实现posix消息队列

POSIX消息队列与System V消息队列的主要区别:1.对POSIX队列的读总数返回最高优先级到最早消息,对SV队列到读则可以返回任意指定优先级的消息2.当往一个空队列放置一个消息时,POSIX允许产生一个信号或启动一个线程,System V不提供此机制消息的属性:1.一个无符号整数的优先级(POSIX)或一个长整数的类型(SV)2.消息的数据部分长度(可以为0)

2013-10-04 16:56:21 1584

原创 【Nginx】初识nginx---配置文件解析

Nginx强大的功能,在一定程度上是依赖于对配置文件的配置,因此要正确的解析用户的配置文件就显得格外重要。从Nginx中解析出的所有配置信息都是由ngx_cycle_t结构体中的conf_ctx存储的,它是这样定义的:struct ngx_cycle_s{ ....... void ****conf_ctx; ......}她是一个指针数组,

2013-10-01 20:50:50 1782

原创 【Nginx】初识nginx---实现一个简单的http模块

Nginx是由俄罗斯软件工程师Igor Sysoev开发的一个高性能的HTTP和反向代理服务器,具备IMAP/POP3和SMTP服务器功能。Nginx最大的特点是对高并发的支持和高效的负载均衡,在高并发的需求场景下,是Apache服务器不错的替代品。目前,包括新浪、腾讯等知名网站已经开始使用Nginx作为Web应用服务器,淘宝开发的tengine也是基于Nginx开发的。

2013-09-10 10:52:59 1758

原创 【算法】可用动态规划求解的问题的基本特征

对于动态规划思想,每一个刚刚接触的人都会都会十分不解,哪些问题可以用动态规划思想求解呢?最近一直在学习动态规划,书中也讲了好多关于能用动态规划求解问题的特征,根据自己的想法,我总结了以下几个可以用动态规划的问题的基本特征:1,最优子结构母问题的最优解包含其子问题的最优解,我们就称此问题具有最优子结构。即也就是说,子问题最优时,母问题通过优化一定能求得最优解2,子问题重叠子问题本质上

2013-09-09 10:36:55 6245

原创 This system is not registered with RHN

红帽中出现This system is not registered with RHN这个的原因是因为红帽中没有注册RHN。解决办法:(假定你已安装yum,且网络畅通)更改yum的源,即更换/etc/yum.repos.d /rhel-debuginfo.repo 这个文件。进入/etc/yum.repos.d/目录,终端中输入wget http://docs.linuxtone.org/so

2013-09-05 15:02:40 556

原创 文件的内核结构和重定向结构

一、打开文件内核数据结构1、一个进程打开两个文件文件状态标志:读、写、追加、同步、非阻塞等2、一个进程两次打开同一文件3、两个进程打开同一文件二、I/O重定向当我们执行了dup(3)之后,系统选择一个空闲的文件描述符即4,这样就有两个文件描述符指向同个文件表,所以引用计数为2。利

2013-09-03 21:07:39 648

转载 ELF文件的加载和动态链接过程

近段时间在研究Erlang核心特性的实现,也许过段时间会有个系列的总结,期待... 今天看到有人写一个深入Hello World的文章,想起来读研的时候做的一个关于程序加载和链接的课程设计,也是以Hello World为例说明的,随发出来共享。文后有下载链接。 ====================================================== 本文

2013-08-29 15:20:40 967

转载 c/c++编译链接过程

详解link 有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后, 或许会有一些答案。     首先看看我们是如何写一个程序的。如果你在使用某种IDE(Visu

2013-08-29 12:43:47 1855

转载 《算法导论》读书笔记之第9章 中位数和顺序统计学

摘要:  本章所讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素,并借助中位数进行优化处理,保证最坏保证运行时间是线性的O(n)。1、基本概念  顺序

2013-08-23 11:19:46 948

原创 线程特定数据详解

线程特定数据,也被称为线程私有数据,是一种存储和查找一个特定线程相关数据的机制。我们称这个数据为线程特定或线程私有的原因,是因为每个线程访问它自己独立的数据拷贝,而不用担心和其它线程的访问的同步。

2013-08-09 16:37:49 1368

转载 SCTP详解

转载自:IBM中文官网sctp部分,代码下载地址:http://www.ibm.com/developerworks/apps/download/index.jsp?contentid=163181&filename=l-sctp-msdemo.zip&method=http&locale=zh_CN作者:M. Tim Jones 是一名嵌入式软件工程师,他是 GNU/Linux Appl

2013-08-02 08:24:47 3144

转载 TCP的连接和终止(详细说明)

TCP的连接和终止TCP是一个面向连接的协议。在传输数据前必须要建立连接,在停止传输数据后要终止连接释放资源。一.TCP连接建立TCP连接是在IP网络中两个进程间(应用层协议)的双向、全双工的逻辑回路。由节点的IP地址和端口将连接双方对应起来。      1.TCP连接特点:通过一个握手进程建立起来; 通过一个周期性保持进程来保持,保证两个TCP节点间处于激活状态; 通过一

2013-07-18 15:20:14 2953

转载 IP,UDP,TCP,SCTP整理总结

IP,UDP,TCP,SCTP整理总结1.       协议栈:应用层DNS, HTTP, FTP, TELNET, SSH, SIP, H.248/MGACO, DIAMETER, MGCP, M3UA,M2UA,M2PA,SUA…传输层UDPTCPSCTP网络层IP(

2013-07-18 10:22:08 1852

转载 线程池的介绍及简单实现

线程池的介绍及简单实现转自:http://www.ibm.com/developerworks/cn/java/l-threadPool/幸勇,简介: 服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。发布日

2013-07-06 22:35:14 809

转载 Linux多线程中使用信号-2

Linux 多线程应用中如何编写安全的信号处理函数转自:http://www.ibm.com/developerworks/cn/linux/l-cn-signalsec/index.html?ca=drs-cn-0618周 婷 (zhouting@cn.ibm.com), 软件工程师, IBM 中国软件开发技术实验室刘 坚 (liujsh@cn.ibm.com),

2013-07-06 10:23:46 803

转载 Linux多线程中使用信号-1

在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来处理信号。它完全是异步的(我们完全不知到信号会在进程的那个执行点到来!)。然而信号处理函数的实现,有着许多的限制;比如有一些函数不能在信号处理函数中调用;再比如一些函数read、recv等调用时会被异步的信号给中断(inter

2013-07-06 10:22:32 717

原创 warning c4273: inconsistent dll linkage 的解决方法

warning c4273: inconsistent dll linkage 的解决方法warning C4273: 'XXX' : inconsistent dll linkage.  dllexport assumed.在AAA.h头文件中可以看到以下定义#ifdef XXX_EXPORTS#define XXX_API __declspec(dlle

2013-04-15 14:52:53 6858

unix_linux线程安全问题

里面主要是对unix_linux线程编程中的安全隐患的详细讨论!

2013-07-18

makefile的编写

makefile的编写是在linux下编码的基本要求,很有必要认真学习一下!

2013-07-18

C++_面试题(服务器编程、网络编程)

C++_面试题(服务器编程、网络编程),很全,很实用!

2013-07-18

2012华为面试03

2012年华为校园招聘时的面试资料,我觉得还可以吧!!

2013-07-18

2012华为 面试

2012年华为校园招聘时的面试资料,我觉得还可以吧!

2013-07-18

2012华为 面试01

2012年华为校园招聘时的面试资料,我觉得还可以吧!

2013-07-18

C语言库函数速查手册

里面是一些基本的c函数的介绍和使用示例。

2013-07-18

电磁炉相关资料集合

电磁炉的工作原理与维修及IGBT管型号和主要参数.doc 电磁炉原理与维修11.doc 奔腾电磁炉图纸2.pdf 美的电磁炉图纸集合 (通用)电磁炉工作原理详解 等等的资料,里面有很多文档,都是我做的时候收集的,现在不做了,分享出来!! 美的电磁炉培训资料.ppt

2012-12-29

锅炉水温自动控制系统

本设计采用一块单片机(STC89C52)作为涡炉水温闭环控制系统的控制核心,实现人工设定温度,自动控制温度,显示水的实时温度等功能。水温测试方式采用数字温度传感器DS18B20感知器皿中水的温度,通过单片机STC89C52与数字温度传感器DS18B20通讯获得实时温度,并通过程序实现闭环控制。采用键盘扫描方式对目标温度(0℃~80℃或20~60℃)进行人工设定,并用LCD1602显示水的实时温度、给定温度及温度范围。同时系统还通过继电器电路控制加热器件的导通与关闭,达到保持设定温度基本不变的目的,并起到强弱点隔离作用,安全可靠。水温控制算法通过程序对给定温度与实时温度的判断,实现温度调节,其精确度可达1℃。并设有一定的保护措施,当实时温度不在设定的安全温度范围时系统将报警。

2012-12-29

单片机温度系统

单片机温度控制系统是以MSP430单片机为控制核心。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、单片机、I/O设备、控制执行系统等

2012-12-29

数电课程设计 四路智能抢答器.

一个数字的四路抢答器; 只要技术指标如下: (1)基本功能: 1.在主持人宣布下,四组参与抢答。(此时组号无显示)。 2.当有抢答者首先按下抢答开关时,相应显示灯亮并伴有声响(间断)、并且显示其组号和当前时间。 同时,抢答器不再接收其它组的抢答干扰。 3.电路具有时间控制功能。要求在限定时间9秒后无人抢答时,该题作废,用声响提示(间断)。 (2)增加功能:无人抢答时,可以显示顺计时的时间。

2012-12-29

声光控延时开关设计

一种声光控电路的简单实现,电路中的主要控制元器件是使用了集成电路CD4011,与课本上介绍的集成电路74LS00相似,

2012-12-29

空空如也

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

TA关注的人

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