自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT小小鸟~~

我以为我在搬砖,其实是在建造天堂...

  • 博客(11)
  • 收藏
  • 关注

原创 java 设计模式 -- 责任链模式

设计模式 – 责任链模式介绍: 责任链模式是一种动态行为模式,有多个对象,每个对象分别拥有其下家的引用,连起来形成一条链,待处理对象则传到此链上,在此链进行传递,且待处理对象并不知道此会被链上的哪个对象处理,这使得我们可以动态的增加链上的对象并且分配责任。纯责任链和非纯责任链 责任链分为两种,纯责任链和非纯责任链。 纯责任链是待处理对象request在处理对象handler链上传递,

2015-07-30 15:28:02 1436 1

原创 学习 java netty (三) -- Channel

学习 java netty (三) – Channel 前言:netty封装的channel,看一下官网的定义 A nexus to a network socket or a component which is capable of I/O operations such as read, write, connect, and bind. 可以I/O操作(如读,写,连接和绑定)

2015-07-30 00:04:33 5576 1

原创 学习 java netty (二) -- ServerBootstrap

前言:我们自己使用java nio开发网络程序是非常繁琐的,netty为我们做好了一切,其中ServerBootstrap是一个启动辅助类,了解它我们就能开发出简单的nio 服务端程序。 不理解Nio中channel和handler等可参考上一篇文章 学习 java netty (一) – java nioServerBootstrap()://创建一个ServerBootstrap对象

2015-07-28 08:23:47 5065

原创 学习 java netty (一) -- java nio

前言:最近在研究java netty这个网络框架,第一篇先介绍java的nio。 java nio在jdk1.4引入,其实也算比较早的了,主要引入非阻塞io和io多路复用。内部基于reactor模式。nio核心: - buffer - channel - selector buffer: 类似网络编程中的缓冲区,有 ByteBuffer 字节 CharBuf

2015-07-26 20:51:56 2179

原创 c++ 实现数据库连接池

c++ 实现数据库连接池 自己尝试用c++ 新标准实现了数据库连接池,代码简化了很多。 思路: 将数据库的连接当作一个对象添加进list队列中,在连接池创建的时候就建立好队列,并添加自定义大小的连接对象,连接对象用智能指针来管理(现代c++中不应该出现delete语句),避免类似内存泄漏等内存问题,智能指针上用lambda表达式注册了delete删除函数来释放连接资源,及时归还,(其中用

2015-07-23 22:09:42 21690 7

原创 linux 下同步异步,阻塞非阻塞的一些想法

同步异步 阻塞非阻塞 今天和小伙伴讨论了这个问题,网上的说法有很多种,我按照自己的思路总结一边。 一句话总结区别: 同步异步关注的是事件发生时你的行为。 阻塞非阻塞关注的是的等待事件的状态。 下面看具体的分析同步异步 同步: 在事件发生前,你的状态是时刻关注此事件,等待此事件给你返回结果。 例子: 烧水,同步就是你时刻关注着它,一段时间后,烧水壶冒

2015-07-21 14:04:34 1768

原创 c++11 实现半同步半异步线程池

感受: 随着深入学习,现代c++给我带来越来越多的惊喜… c++真的变强大了。半同步半异步线程池: 其实很好理解,分为三层 同步层:通过IO复用或者其他多线程多进程等不断的将待处理事件添加到队列中,这个过程是同步进行的。 队列层:所有待处理事件都会放到这里。上一层事件放到这里,下一层从这里获取事件 异步层:事先创建好线程,让线程的去处理队列层的任务,上层不

2015-07-19 06:37:28 4049 3

原创 c++11 多线程 -- 基本使用

c++11 多线程 – 基本使用 前言:这篇文章仅针对没有使用过c++11线程库的童鞋来快速入门,也是自己的一个简单记录,内容比较基础。-1.线程的基本使用 -2.互斥量 -3.条件变量 -4.原子变量1.线程的基本使用代码:#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <thread>#incl

2015-07-17 00:14:17 15064

原创 初探sendfile

很早就知道sendfile这个专门用来传输大文件的函数,也称为零拷贝,但一直没测试过,今天用了宿舍的网和小组内的网测试了下,发现结果和我预想的不一样。 为什么效率高,网上说的也很多了,看下man手册中的内容 sendfile() copies data between one file descriptor and another. Because this copying is do

2015-07-05 23:55:44 2140 1

原创 udp 调用connect函数

结论: udp可以调用connect函数。 udp可以多次调用connect函数。 udp调用connect作用: 发送端:我们不需要再次指定也不能指定端口和ip地址 接收端:不必使用类似recvfrom的函数来获得数据报的发送者,一个已连接的udp套接字只与一个ip地址交换数据 已连接的udp如果错误会返回给发送端 udp多次调用connect作用: 指

2015-07-03 02:25:54 2422

原创 linux下修改内核参数进行Tcp性能调优 -- 高并发

前言: Tcp/ip协议对网络编程的重要性,进行过网络开发的人员都知道,我们所编写的网络程序除了硬件,结构等限制,通过修改Tcp/ip内核参数也能得到很大的性能提升, 下面就列举一些Tcp/ip内核参数,解释它们的含义并通过修改来它们来优化我们的网络程序。 这里网络程序主要指的是服务器1. fs.file-max 最大可以打开的文件描述符数量,注意是整个系统。 在服务器

2015-07-01 10:30:03 21320

空空如也

空空如也

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

TA关注的人

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