![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 75
tacywang
土人一个
展开
-
spring mvc总结
Spring mvc是非常优秀的MVC框架,Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。他和Struts2的思想还是一样的都有一个前端拦截器进行请求转发,只不过Struts2是filter,spring mvc是servlet,但spring mvc非常简单不论是学习还是使用。 这里我列出spring的几个关键类和接口, 1、Dispatc...原创 2014-06-25 11:25:08 · 139 阅读 · 0 评论 -
Netty入门4
1.8. 使用POJO代替ChannelBuffer 目前为止所有的实例程序都是使用ChannelBuffer做为协议消息的原始数据结构。在这一节,我们将改进时间协议服务的客户/服务端实现,使用POJO 而不是ChannelBuffer做为协议消息的原始数据结构。 在你的ChannelHandler实现中使用POJO的优势是很明显的;从你的ChannelHandler实现中分离从 Chan...原创 2014-02-13 09:28:04 · 85 阅读 · 0 评论 -
Netty入门5
1.9. 关闭你的应用 如果你运行了TimeClient,你肯定可以注意到,这个应用并没有自动退出而只是在那里保持着无意义的运行。跟踪堆栈记录你可以发现, 这里有一些运行状态的I/O线程。为了关闭这些I/O线程并让应用优雅的退出,你需要释放这些由ChannelFactory分配的资源。 一个典型的网络应用的关闭过程由以下三步组成: 关闭负责接收所有请求的server socket。 关...原创 2014-02-13 09:27:57 · 99 阅读 · 0 评论 -
Netty入门6
第二章. 架构总览 在这个章节,我们将阐述Netty提供的核心功能以及在此基础之上如何构建一个完备的网络应用。 2.1. 丰富的缓冲实现 Netty使用自建的buffer API,而不是使用NIO的ByteBuffer来代表一个连续的字节序列。与ByteBuffer相比这种方式拥有明显的优势。Netty使用新的 buffer类型ChannelBuffer,ChannelBuffe...原创 2014-02-13 09:27:46 · 106 阅读 · 0 评论 -
Netty入门3
1.7. 流数据的传输处理 1.7.1. Socket Buffer的缺陷 对于例如TCP/IP这种基于流的传输协议实现,接收到的数据会被存储在socket的接受缓冲区内。不幸的是,这种基于流的传输缓冲区并不是一个包队列,而是一个字节队列。这意味着,即使你以两个数据包的形式发送了两条消息,操作系统却不会把它们看成是两条消息,而仅仅是一个批次的字节序 列。因此,在这种情况下我们就无法保证...原创 2014-02-12 16:01:46 · 93 阅读 · 0 评论 -
Netty入门2
1.5. 时间协议服务 这一节需要实现的协议是TIME协议 。这是一个与先前所介绍的不同的例子。这个例子里,服务端返回一个32位的整数消息,我们不接受请求中包含的任何数据并且当消息返回完毕后立即关闭连接。通过这个例子你将学会如何构建和发送消息,以及当完成处理后如何主动关闭连接。 因为我们会忽略接收到的任何数据而只是返回消息,这应当在建立连接后就立即开始。因此这次我们不再使用messag...原创 2014-02-12 15:55:15 · 84 阅读 · 0 评论 -
Netty入门1
1. 问题 现在,我们使用适合一般用途的应用或组件来和彼此通信。例如,我们常常使用一个HTTP客户端从远程服务器获取信息或者通过web services进行远程方法的调用。 然而,一个适合普通目的的协议或其实现并不具备其规模上的扩展性。例如,我们无法使用一个普通的HTTP服务器进行大型文件,电邮信息的交互,或者处理金融信息和多人游戏数据那种要求准实时消息传递的应用场景。因此,这些都要求...原创 2014-02-12 15:47:32 · 80 阅读 · 0 评论 -
nio
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。 Java N...原创 2014-02-12 15:38:22 · 97 阅读 · 0 评论 -
Netty框架之异步事件驱动模型
Netty使用了异步的事件驱动模型,来触发网络I/O的各种操作,其在socket层上面封装一层异步事件驱动模型,使得业务代码不需要关心网络底层,就可以编写异步的无网络I/O阻塞的代码。 Netty的异步事件驱动模型主要涉及到下面几个核心的概念: Channel:表示一个与socket关联的通道 ChannelPipeline: 管道,一个Channel拥有一个Channel...原创 2014-02-12 15:17:37 · 176 阅读 · 0 评论 -
Dubbo暴露服务和引用服务的实现源码分析
1. Dubbo概述 Dubbo是阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及作为SOA服务治理的方案。它的核心功能包括: #remoting:远程通讯基础,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。 #Cluster: 服务框架核心,提供基于接口方法的远程过程调用,包括多协议支持,并提...原创 2014-04-29 19:38:52 · 171 阅读 · 0 评论