关闭
当前搜索:

SpringMVC doDispatch方法的基本思路梳理

SpringMVC doDispatch方法的基本思路梳理 在分析之前,先介绍一个类 1、HandlerExecutionChain public class HandlerExecutionChain { private static final Log logger = LogFactory.getLog(HandlerExecutionChain.class...
阅读(70) 评论(0)

Netty源码分析:read

Netty源码分析:read在博文Netty源码分析:NioEventLoop启动以及其IO操作和Task任务的处理的末尾我们分析了processSelectedKey这个方法。 private static void processSelectedKey(SelectionKey k, AbstractNioChannel ch) { final NioUnsafe uns...
阅读(226) 评论(0)

Netty源码分析:accept

Netty源码分析:accept在介绍accept之前,先介绍下NioServerSocketChannelConfig这个类,为什么先介绍这个类呢,这是因为:在accept客户端连接时会使用该类的maxMessagesPerRead这个字段,该字段的含义为:每次读的最大信息,Netty中将accept客户端连接也认为是一种读操作。对于accept客户端连接的这种读,利用该字段表示的是一次能够接受的...
阅读(216) 评论(0)

Java中判断两个Date是否是同一天

Java中判断两个Date是否是同一天在Java中如何判断两个Data是否是同一天呢?你可以选择自己借助于Calendar来实现(如何实现,可以参考下面将分析的commons-lang包的isSameDay方法),当然,你也可以选择借助于commons-lang3这个jar中的DateUtils.isSameDay方法来实现,下面这里看一下这个类的内部实现。commons-lang3的版本为:3.3...
阅读(1463) 评论(0)

Loop doesn't see changed value without a print statement

今天逛V2的时候,看到别人发的一个帖子,问到了这样一个问题,然后在stackoverflow上看到了一个非常精彩的回答,特记录一下。问题和答案在这里:https://stackoverflow.com/questions/25425130/loop-doesnt-see-changed-value-without-a-print-statement...
阅读(142) 评论(0)

React学习笔记

React学习笔记跟着参考资料一路实践了下,终于算是对React有一定的了解了,这篇博文就是相关的一些记录。1、使用create-react-app快速构建React开发环境create-react-app是来自于Facebook,通过该命令我们无需配置就能快速构建React开发环境。create-react-app自动创建的项目是基于Webpack+ES6.首先切换到相应的目录,然后在命令行执行以...
阅读(338) 评论(0)

Netty源码分析:PooledByteBufAllocator

Netty源码分析:PooledByteBufAllocator无论是我们使用语句ByteBuf byteBuf = Unpooled.buffer(256);来分配buf,还是使用如下的语句来分配Buf: PooledByteBufAllocator allocator = new PooledByteBufAllocator(false); ByteBuf byte...
阅读(509) 评论(0)

Netty源码分析:PoolChunkList

Netty源码分析:PoolChunkList在博文 Netty源码分析:PoolArena中我们知道,在第一次申请内存时,会调用如下的allocateNormal方法来新建一个Chunk,然后在此Chunk上分配内存。分配完成之后会将这个Chunk添加到名为qInit的PoolChunkList中。在下次分配内存时会先尝试在6个PoolChunkList来寻找chunk来分配内存。 priv...
阅读(200) 评论(0)

Netty源码分析:PoolArena

Netty源码分析:PoolArenaArena本身是指一块区域,在内存管理中,Memory Arena是指内存中的一大块连续的区域,PoolArena就是Netty的内存池实现类。Netty的PoolArena是由多个Chunk组成的大块内存区域,而每个Chunk则由一个或者多个Page组成(在博文Netty源码分析:PoolChunk已经明确了这点),因此,对内存的组织和管理也就主要集中在如何管...
阅读(456) 评论(0)

Netty源码分析:PoolSubpage

Netty源码分析:PoolSubpage在上篇介绍Netty源码分析:PoolChunk的博文中,我们分析了allocateSubpage方法(如下)的前半部分,后半部分是借助于PoolSubpage来完成的。这篇博文就介绍下PoolSubpage这个类。 private long allocateSubpage(int normCapacity) { int d = max...
阅读(183) 评论(0)

Netty源码分析:PoolChunk

Netty源码分析:PoolChunkChunk主要用来组织和管理多个Page的内存分配和释放。在Netty中,Chunk中的Page被构建成一颗二叉树。本博文将从源码的角度来看下PoolChunk。1、属性和构造函数先看下PoolChunk的属性和构造函数 final class PoolChunk {// PoolChunk会涉及到具体的内存,泛型T表示byte[](堆内存)、或ja...
阅读(308) 评论(0)

《人生就是一个不断相遇与离别的过程》

《人生就是一个不断相遇与离别的过程》本没想这么快就写一篇关于自己入职美团以来的感受,但今天下午大boss给我们开会说:boss高明哥即将不负责我们团队的工作了,准备去阿里了。听到这个消息对我而言确实相当的伤感,眼泪一直在眼眶转,真的不舍。有人说:工作就是要遇见一个好boss,幸运的我刚毕业参加工作就遇到了一个好boss,高明哥真的是一个好boss,对我们团队的每个人都照顾有加,对我这个刚入职不久新人...
阅读(487) 评论(0)

Netty源码分析:AbstractByteBuf

Netty源码分析:AbstractByteBufByteBuf与Java NIO ByteBuffer类似,由于ByteBuffer存在一定的缺陷,具体缺陷如下:1)ByteBuffer长度固定,一旦分配,则容量不能动态扩展和收缩2)ByteBuffer只有一个标识位置的指针,读写的时候需要手动的调用flip()方法来进行从写到读模式的切换,否则读出来的内容就是错误的。而Netty实现的ByteB...
阅读(273) 评论(0)

Redux记录:Store是如何自动调用reducers来处理action的

Redux记录:createStore是如何自动调用reducers来处理action的作为一个后端程序员,经常也要写一点前端、维护一下前端。因此一直在与前端打交道,但是一直没有理解当用户操作view通过dispatch发出 action之后,我们定义的一系列的reducer是如何来自动执行处理的。先说结论:当用户操作view之后发出一个action,store会遍历所有的reducers来依次处理...
阅读(219) 评论(0)

Netty源码分析:客户端连接

Netty源码分析:客户端连接博文Netty源码分析:服务端启动全过程对服务端的启动进行了全面的分析,本篇博文将对客户端如何连接到服务端进行一个分析。一般情况下,客户端的启动代码类似如下: // Configure the client. EventLoopGroup group = new NioEventLoopGroup(); try {...
阅读(338) 评论(0)

Netty源码分析:ChannelPipeline

Netty源码分析:ChannelPipeline在博文Netty源码分析:服务端启动全过程我们在知道NioServerSocketChannel这个类的构造函数的调用链如下: public NioServerSocketChannel() { this(newSocket(DEFAULT_SELECTOR_PROVIDER));//newSocket的功能为:利用Select...
阅读(261) 评论(0)

Netty源码分析:NioEventLoop启动以及其IO操作和Task任务的处理

Netty源码分析:NioEventLoop类的execute、startThread、run方法在上篇博文分析服务端启动的过程中,我们遇到了如下的代码片段, if (eventLoop.inEventLoop()) {//判断当前线程是否为该EventLoop中拥有的线程,如果是,则直接注册,如果不是,则添加一个任务到该线程中 register...
阅读(267) 评论(0)

Netty源码分析:服务端启动全过程(篇幅很长)

Netty源码分析:服务端启动全过程一般服务端的代码如下所示: public final class SimpleServer { public static void main(String[] args) throws Exception { EventLoopGroup bossGroup = new NioEventLoopGroup(1);...
阅读(930) 评论(0)

Netty源码分析:ServerBootstrap

Netty学习笔记:ServerBootstrap一般服务端的代码如下所示: package com.wrh.server; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; imp...
阅读(258) 评论(0)

Netty源码分析:NioEventLoopGroup

Netty学习笔记:NioEventLoopGroup在工作之余,看到自己公司的超哥(俞超)关于Netty的系列博文,讲解的很好,因此,自己在学习之余也跟了下源代码,来了解Netty,也做了相关的笔记,将形成系列博文,这是第一篇。超哥的博文地址在这里:http://www.jianshu.com/p/c5068caab217Netty版本:4.0.23.Final借用超哥的例子,一般服务端的代码如下...
阅读(420) 评论(0)
620条 共31页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:708131次
    • 积分:12749
    • 等级:
    • 排名:第1302名
    • 原创:606篇
    • 转载:14篇
    • 译文:0篇
    • 评论:115条
    联系方式
    有问题欢迎探讨咨询哈
    qq号就不留了哈
    欢迎留言
    博客专栏
    最新评论