自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 DPDK和RDMA的区别

相同点:1)两者均为kernel bypass技术,可以减少中断次数,消除内核态到用户态的内存拷贝;相异点:1)DPDK是将协议栈上移到用户态,而RDMA是将协议栈下沉到网卡硬件,DPDK仍然会消耗CPU资源;2)DPDK的并发度取决于CPU核数,而RDMA的收包速率完全取决于网卡的硬件转发能力3)DPDK在低负荷场景下会造成CPU的无谓空转,RDMA不存在此问题4)DPDK用户可获得协议栈的控制权,可自主定制协议栈;RDMA则无法定制协议栈。

2023-04-25 23:27:42 1217

原创 Nginx(三):日志

nginx日志格式

2023-03-04 23:10:50 4654

转载 Lambda表达式基础知识

一、Lambda用法之前写Optional这个类的时候,简单说了一下Lambda是怎么用的,这里再跟大家一起回顾一下,Lambda的语法是这样的:语法以Lambda语法创建线程和匿名内部类创建线程的区别(显然代码少了很多!):public static void main(String[] args) { // 用匿名内部类的方式来创建线程 new Thread(new Runnable() { @Override public void

2021-11-21 11:59:42 244

转载 Lambda表达式基础知识

一、Lambda用法之前写Optional这个类的时候,简单说了一下Lambda是怎么用的,这里再跟大家一起回顾一下,Lambda的语法是这样的:语法以Lambda语法创建线程和匿名内部类创建线程的区别(显然代码少了很多!):publicstaticvoidmain(String[]args){//用匿名内部类的方式来创建线程newThread(newRunnable(){@Overridepublicvoid...

2021-11-19 00:50:26 136

转载 进程间通信IPC (InterProcess Communication)

一、进程间通信的概念每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)进程间通信模型二、进程间通信的7种方式第一类:传统的Unix通信机制1. 管道/匿名管道(pipe)管道是半双工的,数据只能向一个方向流动;需要双方通信时..

2021-06-04 21:02:53 125

转载 Nginx源码学习(一):nginx进程模型解析

nginx进程模型nginx有两类进程,一类称为master进程(相当于管理进程),另一类称为worker进程(实际工作进程)。启动方式有两种:单进程启动:此时系统中仅有一个进程,该进程既充当master进程的角色,也充当worker进程的角色。 多进程启动:此时系统有且仅有一个master进程,至少有一个worker进程工作。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下

2021-06-03 23:33:41 517

原创 Nginx(一):安装与部署

nginx两种安装方法:源码安装和一键安装

2018-09-19 00:24:15 297 1

转载 glibc内存管理ptmalloc源代码分析

https://paper.seebug.org/papers/Archive/refs/heap/glibc%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86ptmalloc%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%90.pdfhttps://blog.csdn.net/maokelong95/article/details/52...

2018-06-05 17:35:03 1958

转载 java内存分析工具

1. jstathttp://blog.csdn.net/fenglibing/article/details/6411951https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html2. 分析栈内存(stack)jstack/kill -3http://jameswxx.iteye.com

2017-01-23 20:30:11 505 1

转载 git 不错的教程

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000http://www.worldhello.net/gotgithub/04-work-with-others/010-fork-and-pull.htmlhttp://jingyan.bai

2016-11-18 22:31:38 361

转载 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)

原文链接:http://blog.csdn.net/ns_code/article/details/14642873在第一章《基本套接字》中,作者给出了一个TCP Socket通信的例子——反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去。     书上客户端代码如下:[java] view plain copy

2016-05-15 22:44:00 686

转载 聊聊 Linux 中的五种 IO 模型

原文链接:http://blog.jobbole.com/99905/上一篇《聊聊同步、异步、阻塞与非阻塞》已经通俗的讲解了,要理解同步、异步、阻塞与非阻塞重要的两个概念点了,没有看过的,建议先看这篇博文理解这两个概念点。在认知上,建立统一的模型。这样,大家在继续看本篇时,才不会理解有偏差。那么,在正式开始讲Linux IO模型前,比如:同步IO和异步IO,阻塞IO和非

2016-05-15 22:41:57 8057

转载 WEB请求处理(1):浏览器请求发起处理

http://blog.jobbole.com/100461/

2016-05-14 22:51:19 24858

转载 日志那点事儿——slf4j源码剖析

阅读目录  slf4j下载  那么如何使用呢?  接下来进入正题,slf4j源码的解读!  这里不了解类加载器的原理的可能会不大明白!  总结Slf4j工作原理前言:  说到日志,大多人都没空去研究,顶多知道用logger.info或者warn打打消息。那么commons-logging,slf4j,logback,log4j,logging又是什么

2015-12-20 22:23:25 1384

转载 log4j.xml配置详解

Xml代码                                                                                 value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />

2015-12-13 20:58:52 7086 1

转载 数字证书原理(ssl, https)

http://www.360doc.com/content/13/0809/14/1073512_305848184.shtml

2015-10-21 22:59:58 578

转载 Java并发编程:线程池的使用

在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以通过线程池

2015-09-18 23:19:16 624

转载 Java并发编程:Callable、Future和FutureTask

在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕

2015-09-18 23:17:14 398

转载 Java并发编程:如何创建线程

今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲:  一.Java中关于应用程序和进程相关的概念  二.Java中如何创建线程  三.Java中如何创建进程  若有不正之处,请多多谅解并欢迎批评指正。  请尊重作者劳动成果,转载

2015-09-18 23:15:35 452

转载 jetty

http://www.ibm.com/developerworks/cn/java/j-lo-jetty/

2015-07-15 23:31:02 429

转载 OpenStack Swift源码导读:业务整体架构和Proxy进程

OpenStack的源码分析在网上已经非常多了,针对各个部分的解读亦是非常详尽。这里我根据自己的理解把之前读过的Swift源码的一些要点记录一下,希望给需要的同学能带来一些帮助。一、Swift的整体框架图如上图,Swift的源码目录结构。其中proxy是前端的业务接入进程。account、container和object目录分别是账户、容器 和对象的业务处理逻辑进程

2015-06-28 23:32:24 896

转载 OpenStack Swift 存储策略

OpenStack Swift 对象存储及其存储策略简介Swift 2.0 于 2014 年 7 月 8 日发布,其中最重要的新特性是存储策略(Storage Policy),该特性改变了以往存储系统中存储策略由设计与实施方决定的做法,让用户能够以 Container 为粒度,为不同需求的数据指定不同的副本数量、不同参数的纠删码、不同性能的存储介质、不同地理位置、不同的后端存储设备。存储策

2015-06-28 23:30:51 2529

转载 对象存储系统Swift技术详解:综述与概念

原文连接:http://www.cnblogs.com/yuxc/archive/2011/12/06/2278303.html对象存储系统Swift技术详解:综述与概念       OpenStack Object Storage (Swift) 是用来创建冗余的、可扩展的对象存储(引擎)的开源软件。通过阅读Swift的技术文档,我们可以理解其中的设计的原理和实现的方法 

2015-06-23 23:33:10 3800

原创 插ko失败定位:

1. insmod xx.ko 手动插入ko2. dmesg 看最后的打印信息,可以定位失败原因3. nm -l xx.ko可以查看ko的符号表

2015-04-28 21:51:51 1093

转载 文件防篡改

http://coralzd.blog.51cto.com/90341/667144

2015-04-27 20:15:54 1170

转载 Dijkstra算法实现

迪杰斯特拉算法介绍迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。基本思想通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的

2015-03-21 12:41:12 733

转载 换种思路去理解设计模式(下)

8       对象行为与操作对象8.1     过程描述所谓对象行为和操作对象,需要三方面内容:l  操作过程:一般表现为一个方法。该方法接收一个对象或者组合类型的参数,然后对这个对象或者组合进行操作,例如修改属性、状态或者结构等。l  操作的对象或组合:会作为实参传入操作过程,会被操作过程修改属性、状态或者结构等。l  受影响的对象或组合

2015-01-15 23:08:49 677

转载 换种思路去理解设计模式(中)

7   多个对象组成结构7.1     过程描述  上一节介绍了如何创建一个对象。但大多数情况,一个对象是不够用的,这时候就需要把对象包装、封装、多对象组合。有时候还需要将一个组合作为一个整体使用,组合要提供对外的接口,也可能会用到系统原有的接口。  下面针对每种情况详细介绍。7.2     情况1:借用外部接口  有开发经验的人知道,日常大部分开发都是在已

2015-01-15 23:01:02 704

转载 换种思路去理解设计模式(上)

1 前言  看过许多关于设计模式的博客,也读过关于设计模式的书。几乎所有的介绍的开头,直接就引入了“设计模式”或者“某某模式”。设计模式到底是因什么而来?这是一个很重要的问题。孙悟空从石头缝里蹦出来,《西游记》还介绍了这个石头的来历呢。  要想了解一个东西,至少有“3W”——what、why、how——是什么、为什么、怎么用。看现在大部分的文章或者书籍,重点介绍的还是“what”,

2015-01-15 22:50:57 666

转载 Apache Commons-logging使用实例

1.Commons-Loggin简介Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。JCL提供的接口,对其它一些日志工具,包括Log4J,

2014-09-16 22:32:05 547

转载 HTTP协议学习

http://www.360doc.com/content/10/0930/17/3668821_57590979.shtml

2014-09-16 22:26:23 549

转载 amazon V4鉴权

Signature Version 4 Signing Process

2014-09-05 23:10:32 3245 1

原创 memcache client for java

http://code.google.com/p/memcache-client-forjava/ http://marc.iteye.com/blog/28700http://www.jayxu.com/2010/06/09/2342/http://www.iteye.com/topic/128458http://code.google.com/p/xmemcached/wiki

2014-08-28 23:29:33 1327

转载 消息中间件 activeMQ的源码分析 之 开篇

以前对JMS尤其是activeMQ不了解,一看到什么地方需要使用消息中间件,就比较反感。主要原因是感觉JMS的实现都比较复杂,怕在真实使用过程中出现什么问题时会比较被动。所以,我们基本上是自己写类似的消息中间件,当然功能非常简单。但其实我们自己写出来的中间件,随着功能的不断增加、人员和时间的种种问题,导致最终我们自己做出来的所谓消息中间件越来越不能维护。在吸取了一次一次这种重复发明"轮子"的事情中

2014-08-24 21:43:16 2186

转载 Apache Commons-pool实现对象池(包括带key对象池)

Commons-pool是一个apache开源组织下的众多项目的一个。其被广泛地整合到众多需要对象池功能的项目中。官网:http://commons.apache.org/proper/commons-pool/本文是commons-pool的一个简单应用,包括不带key的池和带key的池。带key的池是把key相同的池对象放在一起池里,也就是说有多少个key就有多少个池。

2014-08-12 23:26:48 1974

转载 dns(bind)配置详解(三)

7.server语句服务器(server)语句的定义和使用:server ip_addr {[ bogus yes_or_no ; ][ provide-ixfr yes_or_no ; ][ request-ixfr yes_or_no ; ][ edns yes_or_no ; ][ transfers number ; ][ t

2014-08-07 22:45:23 3903

转载 dns(bind)配置详解(一)

BIND配置文件语法介绍logging 和options 语句只在每个配置中出现一次。 1.acl语句acl 语句的定义和使用acl 语句给一个地址匹配表赋予了一个象征名称。它的名字来自于地址匹配列表的最基本功能:访问控制表列(ACLs)。注意,一个地址表名必须首先在acl中定义了,然后才能在别处使用;提前调用是不允许的。acl ac

2014-08-07 22:43:13 1989

转载 dns(bind)配置详解(二)

6.options语句options语句的定义和使用:options语句用来设置可以被整个BIND使用的全局选项。这个语句在每个配置文件中只有一处。如果出现多个options语句,则第一个options的配置有效,并且会产生一个警告信息。如果没有options语句,则每个选项使用缺省值。options {[ version version_string; ]

2014-08-07 22:38:24 9361

转载 BIND DNS配置详解

前面所介绍的服务器服务大多是用在内部网络环境中的﹐不过﹐以现代的情况和未来的趋势来看﹐每个网络或多或少都需要 Internet 联机以及向 Internet 提供服务。从这一章开始﹐我们将为大家陆续介绍一些在 Internet 环境中常用到的服务器之架设技巧。就算您目前还没真的需要架设 Internet 相关的服务器﹐但许多企业的 Intranet 环境中﹐也需要相类似的服务器来为企业

2014-08-05 00:04:42 36917

转载 调试和修改OpenStack中的Horizon部分

进入调试模式Horizon在python的django框架上进行开发,所以可以利用django的manage.py来进行调试。方式:关闭apache进入Horizon目录执行命令manage.py runserver 0.0.0.0:80这样修改的代码立刻就可以实现,不用每次都重启apache了查看变量方式再没有使用调试模式时,可能需要使用i

2014-07-12 19:26:41 6698

检索与此通道关联的服务器套接字

检索与此通道关联的服务器套接字,检索与此通道关联的服务器套接字

2014-07-10

数据库测试代码

自己写的简单的jdbc数据库测试代码,如果需要可以在main中做成多线程

2014-06-20

db2d3c90_性能指南

在使用开发过程中,该文档描述了db2性能测试和监控指南!

2012-04-02

db2c0c90_Connect用户指南

db2c0c90_Connect用户指南

2012-04-02

IBM-AINewsletterFeb2010

IBM-AINewsletterFeb2010主要技术是IBM的AINewsletterFeb信息!

2012-04-02

DIV+CSS网页布局

DIV+CSS web网页布局利器,对学校网页布局的同学很有帮助哦

2011-05-25

精通linux设备驱动程序开发

精通linux设备驱动程序开发,非常好的一本书哦

2011-05-25

solaris常用命令集

solaris常用命令集,集合了solaris系统的一些常用命令,非常有帮助哦

2011-01-13

PPC405-S Embedded Processor Core User's Manual

IBM PPC405-S Embedded Processor Core User's Manual Version 1.0 power pc

2011-01-13

STL源码剖析(繁体中文版)

介绍STL如何实现,和内部技术,本书不适合初学者,更不适合c++初学者

2010-12-30

编程珠玑(中文第二版)

计算机程序算法深入分析和实现,对工作面试和程序开发很有帮助

2010-12-30

空空如也

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

TA关注的人

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