自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (28)
  • 收藏
  • 关注

转载 浅谈 Linux下的零拷贝机制

什么是零拷贝维基上是这么描述零拷贝的:零拷贝描述的是CPU不执行拷贝数据从一个存储区域到另一个存储区域的任务,这通常用于通过网络传输一个文件时以减少CPU周期和内存带宽。零拷贝给我们带来的好处:减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其他的任务减少内存带宽的占用通常零拷贝技术还能够减少用户空间和操作系统内核空间之间...

2018-07-29 00:19:04 239

转载 netty源码分析(二十五)Netty自定义协议与TCP粘包拆包问题解决之道

上一节说了TCP的粘包和拆包,用一个实例的方式做了说明,那么在netty里面是怎么解决粘包和拆包问题呢,这就需要编解码器,我们写一个简单的自动以协议的demo,说明一下编解码器在解决tcp粘包和拆包的解决方式。 先罗列一下服务端的代码: MyServer负责服务端的启动:public class MyServer { public static ...

2018-07-29 00:18:04 930 5

转载 netty源码分析(二十四)TCP粘包与拆包实例演示及分析

关于粘包与拆包的概念这里不再熬术,下面举一个粘包的例子: 客户端启动的时候向服务端写入了10条消息,然后服务端接收到消息之后,回写客户端一条UUID,客户端打印服务端发过来的UUID MyServer:public class MyServer { public static void main(String[] args) throws I...

2018-07-29 00:17:49 268

转载 netty源码分析(二十三)ReplayingDecoder源码分析与特性解读以及其他编解码器介绍

在介绍ReplayingDecoder之前 想看一下它的用法,构建一个服务端和客户端的模型: 服务端:public class MyServer { public static void main(String[] args) throws InterruptedException { EventLoopGroup bossGr...

2018-07-29 00:17:40 256

转载 netty源码分析(二十二)Netty编解码器剖析与入站出站处理器详解

Netty处理器重要概念: 1、Netty的处理器可以分为两类:入栈处理器和出栈处理器。 2、入栈处理器的顶层是ChannelInboundHandler,出栈处理器的顶层是ChannelOutboundHandler。 3、数据处理时常用的各种编解码器本质上都是处理器。 4、编解码器:无论我们是向网络中写入数据是什么类型(int、char、String、...

2018-07-29 00:17:31 337

转载 netty源码分析(二十一)Netty数据容器ByteBuf底层数据结构深度剖析与ReferenceCounted初探

ByteBuf ByteBuf是Netty提供的代替jdk的ByteBuffer的一个容器,首先看一下他的具体用法:public class ByteBufTest0 { public static void main(String[] args) { ByteBuf byteBuf = Unpooled.buffer(10);/...

2018-07-29 00:17:24 328

转载 netty源码分析(二十)NIO堆外内存与零拷贝深入讲解

ByteBuffer byteBuffer = ByteBuffer.allocateDirect(512); 直接内存:返回DirectByteBuffer对象,DirectByteBuffer的父类是MappedByteBuffer ,MappedByteBuffer 的父类是ByteBuffer , 在ByteBuffer的上边是Buffer,在 ...

2018-07-29 00:17:16 293

转载 netty源码分析(十九)Netty项目开发过程中常见且重要事项分析

一、服务端在回写数据到客户端的时候可以有一下2中方式: 在Netty中有22种发送消息的方式,可以直接写到Channel中,也可以写到与ChannelHandler所关联的那个ChannelHandlerContext中,对于前一种方式来说,消息会从ChannelPipeline的末尾开始流动,对于后一种方式来说,消息将从ChannelPipleline中...

2018-07-28 00:06:35 428

转载 netty源码分析(十八)Netty底层架构系统总结与应用实践

一个EventLoopGroup当中会包含一个或多个EventLoop。一个EventLoop在它的整个生命周期当中都只会与唯一一个Thread进行绑定。所有由EventLoop所处理的各种I/O事件都将在它所关联的那个Thread上进行处理。一个Channel在它的整个生命周期中只会注册在一个EventLoop上。一个EventLoop在运行过程中,会...

2018-07-28 00:06:29 3577

转载 netty源码分析(十七)Netty线程模型深度解读与架构设计原则

上次分析到:public abstract class SingleThreadEventLoop extends SingleThreadEventExecutor implements EventLoop public ChannelFuture register(final ChannelPromise promise) { ...

2018-07-28 00:06:23 276

转载 netty源码分析(十六)Channel选择器工厂与轮询算法及注册底层实现

上一节说到注册的入口,即 MultithreadEventLoopGroup: public ChannelFuture register(Channel channel) { return next().register(channel); }123注册channel第一步调用了next()方法,next()是Multit...

2018-07-28 00:06:17 325

转载 netty源码分析(十五)Channel注册流程深度解读

前边的介绍是netty对一些组件初始化的过程,接下来是第二部分,注册,还是之前的initAndRegister方法: final ChannelFuture initAndRegister() { Channel channel = null;...略 channel = channelFactory.new...

2018-07-28 00:05:53 407

转载 netty源码分析(十四)Netty初始化流程总结及Channel与ChannelHandlerContext作用域分析

我们回到ServerBootstrap的init方法,之前介绍过Attribute的设置,那么Attribute的具体设置是怎样的呢: void init(Channel channel) throws Exception { final Map<ChannelOption<?>, Object> options ...

2018-07-28 00:03:49 602

转载 netty源码分析(十三)Netty核心四大组件关系与构建方式深度解读

上一节主要看了一下ChannelHandlerContext,中间我们走到DefaultChannelPipeline的addLast方法,这一节我们从addLast方法切入: 其中group为null,name为nullpublic class DefaultChannelPipeline implements ChannelPipeline {.....

2018-07-28 00:03:01 788

转载 netty源码分析(十二)Channel与ChannelHandler及ChannelHandlerContext之间的关系分析

还是之前的init代码入口,上一节我们介绍了ChannelOption和AttributeKey,本次我们说下Channel与ChannelHandler及ChannelHandlerContext之间的关系分析。void init(Channel channel) throws Exception { final Map<Channel...

2018-07-28 00:01:40 555

转载 netty源码分析(十一)Netty常量池实现及ChannelOption与Attribute作用分析

ServerBootstrap的init方法是服务初始的关键逻辑: void init(Channel channel) throws Exception { final Map<ChannelOption<?>, Object> options = options0();//是一个linkedHashMap...

2018-07-28 00:01:31 1178

转载 netty源码分析(十)ChannelPipeline创建时机与高级拦截过滤器模式的运用

ChannelPipeline的创建时机: 我们从服务端的入口main程序开始: 1、ChannelFuture channelFuture = serverBootstrap.bind(8899).sync();12、 AbstractBootstrap: public ChannelFuture bind(SocketAddre...

2018-07-27 22:58:06 311

转载 netty源码分析(九)Reactor模式与Netty组件对比及Acceptor组件的作用分析

Reactor模式的角色构成(Reactor模式一共有5种角色构成 ): 1、Handle(句柄或是描述符):本质上表示一种资源,是由操作系统提供的;该资源表示一个个的事件,比如说文件描述符,活是 针对网络编程中的Socket描述符,事件既可以来自外部,也可以来自内部,外部事件比如说客户端的连接请求,客户端发送过来数据等;内部事件比如说操作系统产生的定时器任...

2018-07-27 22:56:27 528

转载 netty源码分析(八)Netty的自适应缓冲区分配策略与堆外内存创建方式

我们总结一下netty的模式: bossGroup将得到的selectedKyes中的socketchannel接收到,然后封装成NioServerSocketChannel,NioServerSocketChannel注册到workerGroup里边,最后客户端直接和workerGroup 里边的NioServe...

2018-07-27 22:55:03 1105

转载 netty源码分析(七)Acceptor与Dispatcher角色分析

理解Reactor模式的另外一篇文章是一篇论文:《reactor-siemens》,论文的环境是日志服务器的例子: 客户端将日志发送到日志服务器,日志服务器将日志通过各种设备输出。 意图: The Reactor design pattern handles service requests that are ...

2018-07-27 22:53:15 370

转载 netty源码分析(六)Reactor模式透彻理解及其在Netty中的应用

前边讲了EventLoopGroup的一些知识,在netty的架构这块我们使用一种bossGroup加workerGroup的方式,bossGroup只负责请求的转发,workerGroup是具体的数据处理,其实netty整个框架使用的是Reactor(响应器)的设计模式。这方面知名的大佬就是Doug Lea,Java.u...

2018-07-27 22:51:44 618

转载 netty源码分析(五)Netty服务器地址绑定底层源码分析

AbstractBootstrapd的initAndRegister方法,完成 初始化和注册: final ChannelFuture initAndRegister() { Channel channel = null; try { ch...

2018-07-27 22:47:56 413

转载 netty源码分析(四)Netty提供的Future与ChannelFuture优势分析与源码讲解

上一节我们讲到netty启动服务类AbstractBootstrap的doBind的方法: private ChannelFuture doBind(final SocketAddress localAddress) { final ChannelFuture regFut...

2018-07-27 22:29:03 2784

转载 netty源码分析(三)Netty服务端ServerBootstrap的初始化与反射在其中的应用分析

上一节说到EventLoopGroup只是对bossGroup和workerGroup的一些初始化,包括线程数量,执行器(命令模式),我们的服务端接下来使用ServerBootstrap对bossGroup和workerGroup进行了包装,整个过程是一个方法链的调用过程,每个方法返回调用者本身: 然后进行了启动,先...

2018-07-27 22:23:34 460

转载 netty源码分析(二)Netty对Executor的实现机制源码分析

上一节说到NioEventLoopGroup 的初始化,到了他的父类MultithreadEventExecutorGroup的构造器: protected MultithreadEventExecutorGroup(int nThreads, Executor executor, ...

2018-07-27 22:20:58 645

转载 netty源码分析(一)EventLoopGroup

首先我们使用netty建立一个服务端和客户端,功能是相互之间发消息,代码 我们把服务端的主要代码贴出来:package com.ceaser.netty.secondexample;import io.netty.bootstrap.ServerBootstrap;import io.netty.chan...

2018-07-27 22:18:22 1653

转载 Java 泛型详解

1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类...

2018-07-19 10:45:08 102

原创 Ubuntu下解决Git保存用户名和密码的方法

在使用Git 的时候,经常会遇到需要频繁输入密码的情况,每次git push 和 git pull 都要求输入用户名和密码,如果提交频繁的话就十分不方便。那么怎么在Ubuntu下解决Git保存用户名和密码呢?1、进入Git 配置文件。zqj@Zqj-ubuntu:~$ vim ~/.gitconfig 2、修改配置文件,添加下面这一行。[credential] helper = store...

2018-07-07 15:23:47 736

转载 foreach循环中为什么不要进行remove/add操作

先来看一段代码,摘自阿里巴巴的java开发手册1 List<String> a = new ArrayList<String>();2 a.add("1");3 a.add("2");4 for (String temp : a) {5 if("1".equals(temp)){6 a.remove(temp);7 } 8 }...

2018-07-05 18:03:37 302

spring整合redis小demo

本资源的功能是利用spring整合redis,进行了基本的操作,具体见博客地址 https://blog.csdn.net/u012150590/article/details/79862294

2018-04-09

基于Eclipse、Maven搭建SSM

基于Eclipse、Maven搭建SSM,数据库为mysql,实现了一个简单的查询功能。

2018-03-31

Groovy插件,适合Eclipse4.7 版本

在线下了好久都没成功,终于用离线版安装搞定了,哈哈哈

2018-03-29

dubboHello-master

dubbo和zookeeper,eclipse,maven搭建的一个微服务架构。

2018-03-13

dubbo/zookeeper

这个压缩文件包括zookeeper和dubbo,可以完美运行,好好享受吧。详情去我的博客寻找 http://blog.csdn.net/u012150590

2018-03-13

JavaFX快速入门Demo

JavaFX快速入门Demo,快速搭建自己的UI界面,快速熟悉JAVAFX开发。

2017-12-28

架构师特刊:深入浅出Netty.pdf

最近几年,Netty社区的发展如火如荼,无论是大数据领域,还是微服务架构,底层都需要一个高效的分布式通信框架作为基础组件。 Netty凭借优异的性能、灵活的可扩展新得到了广泛的应用。短短几年间,Netty已经成为众多Java高性能异步通信框架的首选

2017-12-24

Netty5.0架构剖析和源码解读.pdf

NIO通信框架Netty相关博文,李林峰老师的,有架构剖析和源码解读。

2017-12-24

mysql5.5 绿色精简版

精简版的MYSQL,安装好后82M,哈哈,装完整版需要花费好多的存储空间

2017-12-09

收银系统JSP

jsp实现的收银系统,我做的部分是商品资料和货流两个模块

2017-04-18

jquery实现的柱状图页面

静态柱状图网页

2017-04-02

Java版剑指Offer全部测试用例

花了我太多心血了,全是JAVA版本的,每一个都有测试用例,你们好好享受吧

2016-07-20

JSP+Servlet+Tomcat应用开发从零开始学修正版

JSP+Servlet+Tomcat应用开发从零开始学 这本书给的源码项目很多功能不能实现,我基本上都实现了,唯一还没实现的是立即购买的问题,其实只需要在前端把那个控件不显示就行,数据库脚本也有,做完后我不敢独享,希望能帮助那些买了这本书却不能运行出该项目的人,哈哈,我也是个菜鸟,希望一起进步。。。

2016-06-02

minGW离线安装版

minGW离线安装版

2016-05-18

Eclipse空格上屏问题

解决Eclipse空格上屏问题

2016-05-18

带括号的四则运算表达式js实现

输入一个字符串形式的四则运算表达式,如"1.0+2.1*(3+4)" 直接谈出结果,输入在文件底部,自己写的。思路是先把中缀表达式转成后缀表达式,然后根据后缀表达式建立一个栈求出结果

2016-04-29

音频格式器

万能的音频格式转换器,包含DVD转换成其他格式,太牛逼了,好软件值得收藏

2015-11-10

月出月落时间js

月出月落时间计算,js版的,在浏览器直接运行

2015-10-29

jsp ajax 文件上传(包含图片)

网上找了好多jsp ajax上传好多都用不了,我自己摸索了一番,终于搞出来了,意义就在于ajax的异步刷新,如果用表单上传必须要跳转页面,废话不多说了,里面有图有真相。在这里我说明一下,我举得例子是即时上传头像功能,记住,只能显示服务器上的图片,所以你的图像路径为服务器的路径,例如我的是img/wenjianming.jpg,看到了吧,img就是webcontent的一个文件夹,我把文件上传到这个文件夹所映射的另一个img,有javaweb基础的人都明白代码运行时所有文件都会映射到服务器,说简单一点吧,所映射的img在我的电脑路径为F:\liuyan00\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\upload\img,图片内也有,好好学习吧

2015-10-29

ajax jsp 文件上传

ajax jsp servlet 文件上传

2015-10-29

js jsp 文件上传

js 实现文件上传,该项目是javaweb项目,下载下来直接导入eclipse,在D盘创建一个upload文件夹,就可以接收到上传的文件了

2015-10-16

jquery 复选框 全选,全不选

jquery 复选框 全选,全不选,在同一个按钮实现,格式是html

2015-09-07

带下拉菜单的选项卡html

带下拉菜单的选项卡html,打开该页面就可以知道

2015-09-01

计算月出月落时间

根据经纬度时间算出月出月落时间,三个版本,C,JAVA,HTML,敬请笑纳。

2015-09-01

websocket 多人聊天室 网页版

javaweb 实现的多人聊天系统,代码中相应的url改成你自己的就可以了,直接导入myeclipse就可以运行

2015-07-18

JSP+Servlet+Tomcat应用开发从零开始学

JSP+Servlet+Tomcat应用开发从零开始学 这本书给的源码项目很多功能不能实现,我基本上都实现了,唯一还没实现的是立即购买的问题,其实只需要在前端把那个控件不显示就行,数据库脚本也有,做完后我不敢独享,希望能帮助那些买了这本书却不能运行出该项目的人,哈哈,我也是个菜鸟,希望一起进步。。。

2015-07-11

django 1.8通讯录 增删改查登陆注册

亲自做的,可以用,数据库可以根据自己的需要改,只需要同步一下就可以了

2015-04-25

安卓模拟器上实现的通信录源码带项目

可以在安卓模拟器上运行出来的资源,带完整的项目,在Eclipse直接导入即可运行

2014-10-16

空空如也

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

TA关注的人

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