自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(216)
  • 资源 (34)
  • 收藏
  • 关注

原创 MyBatis 实践 -配置

MyBatis 实践标签: Java与存储Configurationmybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下:properties : 属性(文件)加载/配置settings : 全局配置参数typeAliases : 定义类型别名typeHandlers : 类型处理器objectFactory : 对象工厂p

2016-02-28 17:54:56 6790 2

原创 MyBatis 实践 -Mapper与DAO

MyBatis 实践  -Mapper与DAO标签: Java与存储MyBatis简介MyBatis前身是iBatis,是一个基于Java的数据持久层/对象关系映射(ORM)框架. MyBatis是对JDBC的封装,使开发人员只需关注SQL本身,而不需花费过多的精力去处理如注册驱动、设置参数、创建Connection/Statement、解析结果集等JDBC过程性代码.MyBatis基于XML

2016-02-28 15:34:23 36953 2

原创 JDBC基础

JDBC基础标签: Java与存储 JDBC(Java Database Connectivity)代表Java编程语言与数据库连接的标准API,然而JDBC只是接口,JDBC驱动才是真正的接口实现,没有驱动无法完成数据库连接. 每个数据库厂商都有自己的驱动,用来连接自己公司的数据库(如Oricle, MySQL, DB2, MS SQLServer). 下面我们以MySQL为例,JDB

2016-02-22 09:49:02 6813 10

原创 岁月划过生命线(从阿里到微店)

在<2.5年, 从0到阿里>中提到过,当时面阿里云OS时预期的是进入虚拟机团队,结果后来被分到了高通平台参考设计团队,因此在阿里期间心情一直是比较低落的.写这篇博客主要是基于以下几个原因:前段时间跟大学同学交流,同学突然问起”你为什么被阿里开除了?“,当时我一下子愣住了,”我为什么被阿里开除了?我哪有被阿里开除!“,第一次自己的人品受到了质疑,同学还煞有介事的说

2016-02-11 18:20:47 8763 4

原创 Java 集合

Java 集合标签: Java基础集合/容器Java集合由Collection Map两个接口派生而出,Collection代表序列式容器,Map代表关联式容器.CollectionCollection作为List Queue Set等序列式容器的父接口, 提供了一些公共基础方法:update相关方法: boolean add(E e) boolean addAll(Collection

2016-02-07 10:52:36 6441 4

原创 Java 解析 XML

Java 解析 XML标签: Java基础XML解析技术有两种 DOM SAXDOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点: 便于实现增 删 改 查缺点: XML文件过大可能造成内存溢出SAX方式 采用事件驱动模型边读边解析:从上到下一行行解析,解析到某一元素, 调用相应解析方法 优点: 不会造成内存溢出,缺点:

2016-01-31 07:23:08 7178 4

原创 Java 并发基础

Java 并发基础标签: Java基础线程简述 线程是进程的执行部分,用来完成一定的任务; 线程拥有自己的堆栈,程序计数器和自己的局部变量,但不拥有系统资源, 他与其他线程共享父进程的共享资源及部分运行时环境,因此编程时需要小心,确保线程不会妨碍同一进程中的其他线程;多线程优势 进程之间不能共享内存,但线程之间共享内存/文件描述符/进程状态非常容易.系统创建进程时需要为该其分配很多系统资源(

2016-01-24 23:08:53 6727 4

原创 XML基础

XML基础标签: Java基础XML简介XML(eXtensible Markup Language:可扩展标记型语言)被设计用来传输和存储数据,可扩展说明标签可以自定义(还可以定义中文标签<猫></猫>),XML有1.0/1.1两个版本,但一般使用都是1.0版本(由于1.1版本不能向下兼容).<?xml version="1.0" encoding="UTF-8"?>XML用于传输/存储数据

2016-01-18 15:36:43 2041

原创 Java I/O 扩展

Java I/O 扩展标签(空格分隔): Java基础NIO Java 的NIO(新IO)和传统的IO有着相同的目的: 输入 输出 .但是NIO使用了不同的方式来处理IO,NIO利用内存映射文件(此处文件的含义可以参考Unix的名言一切皆文件)来处理IO, NIO将文件或文件的一段区域映射到内存中(类似于操作系统的虚拟内存),这样就可以像访问内存一样来访问文件了.Channel 和 Buffe

2016-01-16 09:18:45 9375 1

原创 Java I/O

Java I/O标签: Java基础 Java的I/O功能通过java.io包下的类和接口来支持,在java.io包下主要包括输入/输出两种IO流,每种输入/输出流又可分为字节流和字符流两大类.字节流支持以字节(8位)为单位的IO操作,而字符流则以字符(16位-Java中)为单位进行IO操作. 除此之外,Java的IO流还使用装饰者模式,将IO流分成底层节点流和上层处理流,节点流直

2016-01-16 08:49:42 5027 5

原创 桥接模式

桥接模式标签: Java与设计模式场景在商城系统中商品是分类摆放的,以电脑为例我们有以下商品分类, 该如何良好的处理商品分类销售的问题: 直观上我们会认为该商品分类以继承来实现:电脑作为根类,台式机/笔记本/平板电脑作为其子类,联想台式机/…作为电脑的孙类.(其继承结构可以从图上直观的看出),但是考虑以下需求:如果我们要增加一个品牌三星?如果我们要增加一个分类智能手机?问题1的解决方案是在台

2016-01-10 09:48:59 2599 1

原创 Java 反射

Java 反射标签: Java基础动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。(引自: 百度百科)var execString = "alert(Math.floor

2016-01-04 07:39:46 9016 8

原创 Java与正则表达式

Java与正则表达式标签: Java基础正则 正如正则的名字所显示的是描述了一个规则, 通过这个规则去匹配字符串. 学习正则就是学习正则表达式的语法规则正则语法普通字符字母, 数字, 汉字, 下划线, 以及没有特殊定义的标点符号都是普通字符. 表达式中的普通字符在匹配一个字符串时, 匹配与之相同的一个字符.转义字符 字符 解释 \n 换行符 \t 制表符 \^ \$

2016-01-03 07:59:55 6197 4

原创 Java 中的日期与时间

Datejava.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含时间),所以他的大部分构造器/方法都已Deprecated,因此就不再推荐使用(如果贸然使用的话,可能会出现性能/安全方面的问题);下面我仅介绍它还剩下的为数不多的几个方法(这些方法的共同点是Date与毫秒

2016-01-02 08:17:22 10432 7

原创 Java注解实践

Java注解实践标签: Java基础 注解对代码的语意没有直接影响, 他们只负责提供信息给相关的程序使用. 注解永远不会改变被注解代码的含义, 但可以通过工具对被注解的代码进行特殊处理.JDK 基本Annotation 注解 说明 @Override 重写 @Deprecated 已过时 @SuppressWarnings(value = "unchecked")

2016-01-01 05:39:54 5400 3

原创 代理模式

代理模式标签: Java与设计模式代理模式 为其他对象提供一种代理以控制对这个对象的访问(可以详细控制访问某个对象的方法, 在调用这个方法[前/后]做[前/后]置处理, 从而实现将统一流程放到代理类中处理).我们书写执行一个功能的函数时, 经常需要在其中写入与功能不是直接相关但很有必要的代码(如日志记录,事务支持等);这些枝节性代码虽然是必要的,但它会带来以下麻烦:枝节性代码游离在功能性代码之外

2015-12-27 11:27:12 4691 12

原创 适配器模式

适配器模式标签: Java与设计模式结构型模式 在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低; 结构型模式共有7个可供研究,它们分别是: 适配器模式, 代理模式, 桥接模式, 装饰者模式, 组合模式, 外观模式, 享元

2015-12-25 20:07:53 2513 2

原创 建造者模式

建造者模式: 又称生成器模式, 可以将一个产品的内部表象与产品的生成过程分割开来, 从而可以使一个建造过程生成具有不同的内部表象的产品(将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示). 这样用户只需指定需要建造的类型就可以得到具体产品,而不需要了解具体的建造过程和细节.

2015-12-20 17:43:31 2881 8

原创 原型模式

原型模式标签: Java与设计模式 原型模式 用原型实例指定创建对象的种类, 并通过拷贝这些原型创建新的对象.原型模式就是通过一个对象再创建另一个可定制的对象, 而且不需要知道任何创建的细节. 因此, 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆

2015-12-20 17:38:55 2340 3

原创 工厂模式

工厂模式标签: Java与设计模式 工厂模式 用工厂方法代替了new操作, 将选择实现类, 创建对象统一管理和控制.从而将调用者(Client)与实现类进行解耦.实现了创建者与调用者分离;使用场景 JDK中Calendar的getInstance方法;JDBC中Connection对象的获取;MyBatis中SqlSessionFactory创建SqlSession;SpringI

2015-12-13 14:15:44 4596 10

原创 单例模式

static, enum, 内部类与单例模式标签: Java与设计模式Java static与初始化块拾忆 static关键字的作用是把类的成员变成类相关,而不是实例相关.普通初始化块 当Java创建一个对象时, 系统先为对象的所有实例变量分配内存(前提是该类已经被加载过了), 然后开始对这些实例变量进行初始化, 顺序是: 先执行初始化块或声明实例变量时指定的初始值(这两处执行的顺序与他们在

2015-12-09 14:26:01 5015 5

原创 Java 注释

Java 注释  五月份得知入职YunOS, 开始学习Java, 断断续续学习和使用Java将近半年, 越来越喜欢这个工具, 因此后来被阿里拥抱变化之后, 拿到的的所有的offer都是Java研发; 一路走来, 踩了很多坑, 也有了一点小小的心得, 那就用博客的形式把他记录下来吧…   写的第一篇Java的博客, 就从最基础的Java注释开始!引  程序员圈有一个笑话 最讨厌在写代码的时

2015-11-18 23:48:25 8166 12

原创 岁月划过生命线(从0到阿里)

从来没有想到自己的求职之路会这么顺利, 第一次投阿里就拿到了offer, 以前一直都是做好被刷的准备的...    3月31号晚上收到了来自阿里的正式offer, 签下录取意向书, 粗略算了一下, 从2012年9月份正式入学进入计算机系到2015年3月签下阿里offer, 大约两年半的时间, 这期间有很多人值得感谢: 磊哥, 立萍, 宋艺, 兴华老师... 发生了很多事儿: 从最初的懵懵懂懂到后来

2015-05-11 06:52:35 57921 248

原创 TCP/IP入门(4) --应用层

/**本篇博客由汗青ZJF整理并发布, 转载请注明出处:http://blog.csdn.net/zjf280441589/article/category/1854365*/TCP/IP中的应用层 DNS简介    域名系统是基于描述名字-地址映射的分布式计算机系统的实现,其作用是提供主机名和IP 地址间的映射关系。    名字到IP地址的解析是由若干个域名Server组成的, 域名Server

2015-04-08 15:06:58 5066 4

原创 TCP/IP入门(3) --传输层

/**本篇博客由汗青ZJF整理并发布, 转载请注明出处:http://blog.csdn.net/zjf280441589/article/category/1854365*/传输层的主要功能    1)传输层为应用进程之间提供端到端的逻辑通信(网络层是为主机到主机提供逻辑通信)。    2)复用和分用: 复用是指发送方不同的应用进程都可以使用同一个传输层协议传送数据; 分用是指接收方的传输层在剥

2015-04-08 14:47:40 4682 4

原创 TCP/IP入门(2) --网络层

/**本篇博客由汗青ZJF整理并发布, 转载请注明出处:http://blog.csdn.net/zjf280441589/article/category/1854365*/什么是虚拟网络互连?     所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的(比如局域网有的采用的是以太网, 有的采用令牌环网),但是我们利用 IP 协议就可以使这些性能各异的

2015-04-07 21:21:29 5048 8

原创 TCP/IP入门(1) --链路层

/**本博客由汗青ZJF整理并发布, 转载请注明出处:http://blog.csdn.net/zjf280441589/article/category/1854365*/TCP/IP体系结构 1)网络接口层 物理层定义与传输媒体的接口有关的一些特性,即机械特性、电气特性、功能特性、过程特性,并需要完成并行传输和串行传输之间的转换。 数据链路层向该层用户提供透明的和可靠的数据传输服务。 透明性是

2015-04-06 11:09:27 5984 2

原创 Socket编程实践(13) --UNIX域协议

UNIX域协议   UNIX域套接字与TCP相比, 在同一台主机上, UNIX域套接字更有效率, 几乎是TCP的两倍(由于UNIX域套接字不需要经过网络协议栈,不需要打包/拆包,计算校验和,维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程, 而且UNIX域协议机制本质上就是可靠的通讯, 而网络协议是为不可靠的通讯设计的).   UNIX域套接字可以在同一台主机上各进程之间传递文件描述符

2015-03-14 20:56:03 4263 2

原创 Socket编程实践(12) --UDP编程基础

UDP特点   无连接,面向数据报(基于消息,不会粘包)的数据传输服务;   不可靠(可能会丢包, 乱序, 重复), 但因此一般情况下UDP更加高效;UDP客户/服务器模型  UDP-API使用#include #include ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, str

2015-03-14 20:34:10 2962

原创 Socket编程实践(10) --select的限制与poll的使用

select的限制用select实现的并发服务器,能达到的并发数一般受两方面限制:1)一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit -n(number)来调整或者使用setrlimit函数设置,但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat /proc/sys/fs/file-max 查看/**示例: getrlimit/setrlimit

2015-03-14 20:21:05 3741

原创 Socket编程实践(9) --套接字IO超时设置方法

引:超时设置3种方案1. alarm超时设置方法//代码实现: 这种方式较少用void sigHandlerForSigAlrm(int signo){ return ;}signal(SIGALRM, sigHandlerForSigAlrm);alarm(5);int ret = read(sockfd, buf, sizeof(buf));if (ret == -1

2015-03-14 19:53:23 4506 1

原创 Socket编程实践(5) --TCP粘包问题与解决

TCP粘包问题由于TCP协议是基于字节流且无边界的传输协议, 因此很有可能产生粘包问题, 问题描述如下   对于Host A 发送的M1与M2两个各10K的数据块, Host B 接收数据的方式不确定, 有以下方式接收:   先接收M1, 再接收M2(正确方式)   先接收M2, 再接收M1(错误)   一次性收到20k数据(错误)   分两次收到,第一次15k,第二次5k(错误)   分两次收到

2015-03-14 15:47:39 3983

原创 Socket编程实践(8) --Select-I/O复用

五种I/O模型介绍(1)阻塞I/O[默认]   当上层应用App调用recv系统调用时,如果对等方没有发送数据(Linux内核缓冲区中没有数据),上层应用Application1将阻塞;当对等方发送了数据,Linux内核recv端缓冲区数据到达,内核会把数据copy给用户空间。然后上层应用App解除阻塞,执行下一步操作。 (2)非阻塞I/O[少用]   上层应用App将套接字设置成非阻塞模式, 然

2015-03-14 15:32:34 4212

原创 Socket编程实践(6) --TCP服务端注意事项

僵尸进程处理1)通过忽略SIGCHLD信号,避免僵尸进程    在server端代码中添加    signal(SIGCHLD, SIG_IGN); 2)通过wait/waitpid方法,解决僵尸进程signal(SIGCHLD,onSignalCatch);void onSignalCatch(int signalNumber){ wait(NULL);}3) 如果多个客户端同时

2015-03-14 15:22:54 3118

原创 Socket编程实践(4) --多进程并发server

1.Socket地址复用int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);int setsockopt(int sockfd, int level, int optname, const void *optval, so

2015-03-14 15:07:19 4153

原创 Socket编程实践(3) --Socket API

socket函数#include #include int socket(int domain, int type, int protocol);创建一个套接字用于通信参数:   domain:指定通信协议族(protocol family),常用取值AF_INET(IPv4)   type:指定socket类型, 流式套接字SOCK_STREAM,数据报套接字SOCK_DGRAM,原始套接字

2015-03-14 12:24:49 3389

原创 Socket编程实践(2) --Socket编程导引

什么是Socket?    Socket可以看成是用户进程与内核网络协议栈的接口(编程接口, 如下图所示), 其不仅可以用于本机进程间通信,可以用于网络上不同主机的进程间通信, 甚至还可以用于异构系统之间的通信。 IPv4套接口地址结构    IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中//TCP/IP地址结构struct socka

2015-03-14 12:10:58 3506 2

原创 Socket编程实践(1) --TCP/IP简述

ISO的OSI    OSI(open system interconnection)开放系统互联模型是由ISO国际标准化组织定义的网络分层模型,共七层, 从下往上为:OSI七层参考模型物理层(Physical Layer)物理层定义了所有电子及物理设备的规范,为上层的传输提供了一个物理介质,本层中数据传输的单位为比特(bit/二进制位)。属于本层定义的规范有EIA/TIA RS-232、RJ-4

2015-03-14 11:50:27 4712

原创 Socket编程实践(11) --epoll原理与封装

常用模型的特点    Linux 下设计并发网络程序,有典型的Apache模型(Process Per Connection,PPC), TPC(Thread Per Connection)模型,以及 select/polL模型和epoll模型。 1 、PPC/TPC 模型    这两种模型思想类似,就是让每一个到来的连接一边自己做事去,别再来烦我(详见本系列博客).只是 PPC 是为它开了一个进

2015-03-11 22:23:33 7650 7

原创 Socket编程实践(7) --Socket-Class封装(改进版v2)

本篇博客定义一套用于TCP通信比较实用/好用Socket类库(运用C++封装的思想,将socket API尽量封装的好用与实用), 从开发出Socket库的第一个版本以来, 作者不知道做了多少改进, 每次有新的/好的想法尽量实现到该库当中来; 而且我还使用该库开发出作者第一个真正意义上的基于Linux的Server程序[MyHttpd, 在后续的博客当中, 我一定会将MyHttpd的实现原理与实现

2015-03-10 20:54:01 6051 5

TCPIP系列博客

计算机网络系列博客打包下载, 主要面向正在处于找工作阶段的本科生阅读

2015-04-08

epoll封装与测试代码

  在本部分我们实现一个较为好用实用的Epoll并发类, 由于实现代码与使用方式较简单, 因此就不在此赘述了, 下面我还使用了该类实现了一个基于Epoll的echo-server, 以演示该类的用法;   由于此处仅为Epoll类库的第一个版本, 因此错误之处必然会存在, 如果读者在阅读的过程中发现了该类库的BUG, 还望这篇博客的读者朋友不吝赐教; 而作者也会不断的更新该类库(主要更新代码我会发布到此处), 以处理新的业务需求;

2015-03-11

shutdown_close

  1.close终止了数据传送的两个方向;   而shutdown可以有选择的终止某个方向的数据传送或者终止数据传送的两个方向。

2015-03-09

Socket 类封装 改进版

实现中的几个注意点:   1 Socket类几个成员函数的访问权限为protected 使Socket类可以进行继承 但不允许私自使用;   2 TCPClient类的send receive方法使用了著名的writen readn 来源UNP 实现 解决了TCP的粘包问题   3 TCPSe

2015-03-09

est_for_shutdown_and_close源代码

  1.close终止了数据传送的两个方向;   而shutdown可以有选择的终止某个方向的数据传送或者终止数据传送的两个方向。   2.shutdown how=SHUT_WR(关闭写端)可以保证对等方接收到一个EOF字符(FIN段),而不管是否有其他进程已经打开了套接字(shutdown并没采用引用计数)。   而close需要等待套接字引用计数减为0时才发送FIN段。也就是说直到所有的进程都关闭了该套接字。

2015-03-09

test_for_shutdown_and_close

  1.close终止了数据传送的两个方向;   而shutdown可以有选择的终止某个方向的数据传送或者终止数据传送的两个方向。   2.shutdown how=SHUT_WR(关闭写端)可以保证对等方接收到一个EOF字符(FIN段),而不管是否有其他进程已经打开了套接字(shutdown并没采用引用计数)。   而close需要等待套接字引用计数减为0时才发送FIN段。也就是说直到所有的进程都关闭了该套接字。

2015-03-09

Socket-类封装

实现中的几个注意点:   1)Socket类几个成员函数的访问权限为protected, 使Socket类可以进行继承,但不允许私自使用;   2)TCPClient类的send/receive方法使用了著名的writen/readn(来源UNP)实现, 解决了TCP的粘包问题.   3)TCPServer端添加了地址复用, 可以方便TCP服务器重启;   4)添加了异常类,让我们在编写易出错的代码时,可以解放思想,不用一直考虑该函数调用出错会发生什么情况!

2015-02-28

echoServer(按行读取版本)

使用recv_peek实现按行读取readline(只能用于socket)

2015-02-27

echoServer定长包与添加报头版本

自定义应用层协议实践 发报文时:前四个字节长度+报文内容一次性发送; 收报文时:先读前四个字节,求出报文内容长度;根据长度读数据。 发送结构:

2015-02-27

基于多进程的P2P聊天程序

server端与client都有两个进程:   父进程负责从socket中读取数据将其写至终端, 由于父进程使用的是read系统调用的阻塞版本, 因此如果socket中没有数据的话, 父进程会一直阻塞; 如果read返回0, 表示对端连接关闭, 则父进程会发送SIGUSR1信号给子进程, 通知其退出;   子进程负责从键盘读取数据将其写入socket, 如果键盘没有数据的话, 则fgets调用会一直阻塞;

2015-02-27

echoserver多进程版

  我们的echo服务器最大的缺点就是无法支持多客户连接,即使客户端能够连接到服务器上,服务器也不为该客户做服务,(直接没什么反应),虽然链接是有的(也就是说,客户端是已经连接到服务器上的了,但是服务器就是不搭理你....)

2015-02-26

红黑树(RBtree)实现代码

一个基于C++的红黑树实现, RedBlackTree, C++, 二叉树, 平衡二叉树

2015-02-17

线程池(C/C++版)

C/C++ threadpool封装, 线程池, Linux, 多线程, pthread

2015-02-16

生产者消费者代码(C++版)

用Posix信号量, Posix互斥量, 解决生产者消费者问题(c++版)

2015-02-13

echoServer(thread版)源代码

将并发echo server改造成多线程形式   注意线程竞速问题的解决

2015-02-11

ShmFifo源代码(C++版)

  我们首先完成C语言版本的shmfifo(基于过程调用), 然后在此基础上实现C++版本的ShmFifo, 将1块共享内存与3个信号量(1个mutext信号量, 1个full信号量, 1个empty信号量)封装成一个类ShmFifo, 然后编写各自的测试代码

2015-02-10

shmfifo源代码(C语言版)

使用消息队列即可实现消息的先进先出(FIFO), 但是使用共享内存实现消息的先进先出则更加快速; 所涉及计数: 将申请到的共享内存作为一块缓冲区, 读/写进程不断的从其中读出/写入数据, 而读/写进程则就相当于生产者/消费者了, 因此,使用信号量sem_mutex(初值为1)来互斥访问共享内存, 使用sem_full(初值为共享缓冲区块数), sem_empty(初值为0)来同步两个进程;

2015-02-10

NetCat后门工具

Netcat,Windows后门工具,希望能够遵守相关法律,谢谢

2014-01-25

C++面向对象多线程编程.pdf

挺好的一本书,朋友给分享的,分享给大家,大家就不用到淘宝买PDF版得了

2013-11-12

C++ 多范型设计.pdf

挺好的一本书,朋友给分享的,分享给大家,大家就不用到淘宝买PDF版得了

2013-11-12

C++程序员必备常识.pdf

挺好的一本书,朋友给分享的,分享给大家,大家就不用到淘宝买PDF版得了

2013-11-12

C++ 编程思想 第2卷 实用编程技术.pdf

挺好的一本书,朋友给分享的,分享给大家,大家就不用到淘宝买PDF版得了

2013-11-12

C/C++语言硬件程序设计基于TMS320C5000系列DSP

挺好的一本书,朋友给分享的,分享给大家,大家就不用到淘宝买PDF版得了

2013-11-12

C 库函数 Word版

C 库函数 Word版 千辛万苦找打的 的确很有用

2013-10-25

GDAL1.8 已经编译完成

一个师兄发给的GDAL1.8 已经编译完成的 省去了大家自己编译繁琐的步骤 遥感 图像处理

2013-10-25

Java 程序员上班那点事儿

Java 程序员上班那点事儿 全本 清晰扫描版 花了两块大洋买的

2013-10-24

C++ 标准模版库

C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集 合,它提供给程序员一些标准的数据结构的实现如 queues(队列), lists(链表), 和 stacks(栈)等. C++ STL 提供给程序员以下三类数据结构的实现: 标准容器类 顺序性容器 vector 从后面快速的插入与删除,直接访问任何元素 deque 从前面或后面快速的插入与删除,直接访问任何元素 list 双链表,从任何地方快速插入与删除 关联容器 set 快速查找,不允许重复值 multiset 快速查找,允许重复值 map 一对多映射,基于关键字快速查找,不允许重复值 multimap 一对多映射,基于关键字快速查找,允许重复值 容器适配器 stack 后进先出 queue 先进先出 priority_queue 最高优先级元素总是第一个出列

2013-10-20

codeblocks12.10汉化包

code blocks 汉化插件 1 解压压缩文件 将codeblocks mo文件放到codeblocks根目录下: CodeBlocks share CodeBlocks locale zh CN (locale和zh CN没有的话自己新建) 2 重启codeblocks: &quot;setting environment view internationnal &quot;构选这个选项 下拉框中选中“chinese” ok">code blocks 汉化插件 1 解压压缩文件 将codeblocks mo文件放到codeblocks根目录下: CodeBlocks share CodeBlocks locale zh CN (locale和zh CN没有的话自己新建) 2 重启codeblocks: &quot;setting environment view internationnal &quot;构选这个选项 下拉 [更多]

2013-08-09

C_free_中文版

很好用的一个C/C++开发工具,安装是需要加载密匙,只要百度一下就可以.

2013-08-07

空空如也

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

TA关注的人

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