- 博客(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 5067
原创 学习 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 21691 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关注的人