随笔分类 -  Java框架

FrameWork
摘要:一、ByteBuf工作原理 1. ByteBuf是ByteBuffer的升级版: jdk中常用的是ByteBuffer,从功能角度上,ByteBuffer可以完全满足需要,但是有以下缺点: ByteBuffer一旦分配完成,长度固定,不能动态扩展和收缩,当需要编码的POJO对象大于分配容量时发生索引 阅读全文
posted @ 2016-12-21 18:06 carl_ysz 阅读(2947) 评论(0) 推荐(0) 编辑
摘要:原生的NIO类图使用有诸多不便,Netty向用户屏蔽了细节,在与用户交界处做了封装。 一、服务端创建时序图 步骤一:创建ServerBootstrap实例 ServerBootstrap是Netty服务端的启动辅助类,它提供了一些列的方法用于设置参数,由于参数太多,使用builder模式。 步骤二: 阅读全文
posted @ 2016-12-20 21:11 carl_ysz 阅读(3115) 评论(0) 推荐(0) 编辑
摘要:来源:《Netty权威指南》 作者:李林峰 一、私有协议介绍 由于现代软件的复杂性,一个大型软件系统往往会被人为地拆分称为多个模块,另外随着移动互联网的兴起,网站的规模越来越大,业务功能越来越多,往往需要集群和分布式部署。模块之间的通信就需要进行跨节点通信。传统的Java应用中节点通信的常用方式: 阅读全文
posted @ 2016-12-19 21:17 carl_ysz 阅读(8688) 评论(2) 推荐(1) 编辑
摘要:一、HTTP协议的弊端 将HTTP协议的主要弊端总结如下: (1) 半双工协议:可以在客户端和服务端2个方向上传输,但是不能同时传输。同一时刻,只能在一个方向上传输。 (2) HTTP消息冗长:相比于其他二进制协议,有点繁琐。 (3) 针对服务器推送的黑客攻击,例如长时间轮询。 现在很多网站的消息推 阅读全文
posted @ 2016-12-16 23:24 carl_ysz 阅读(21295) 评论(2) 推荐(1) 编辑
摘要:一、HTTP协议简介 应用层协议http,发展至今已经是http2.0了,拥有以下特点: (1) CS模式的协议 (2) 简单 - 只需要服务URL,携带必要的请求参数或者消息体 (3) 灵活 - 任意类型,传输内容类型由HTTP消息头中的Content-Type加以标记 (4) 无状态 - 必须借 阅读全文
posted @ 2016-12-16 22:10 carl_ysz 阅读(23995) 评论(4) 推荐(0) 编辑
摘要:上一篇 netty入门篇(1) 一、编码解码技术 如何评价一个编解码技术: 是否支持跨语言,或者说支持的语言是否丰富 编码码流大小,影响传输速度 编码和解码的性能,即时间 类库是否精致,API是否方便 使用难度 1. Java序列化缺点 Java也提供了序列化技术,在工业化工程中有以下缺点: 无法跨 阅读全文
posted @ 2016-12-15 22:00 carl_ysz 阅读(1297) 评论(1) 推荐(0) 编辑
摘要:上一篇 nio简介 下一篇 netty中级篇(2) 一、为什么选择Netty Netty是最流行的框架之一、健壮性、功能、性能、可定制性和可扩展性在同类框架中首屈一指,因此被大规模使用,例如ROCKETMQ的NameSRV,例如Hadoop的Avro,例如Dubbo中的RPC通信等等。。 为什么选择 阅读全文
posted @ 2016-12-15 16:12 carl_ysz 阅读(1651) 评论(2) 推荐(0) 编辑
摘要:一、AOP的基本概念 Spring 框架的一个关键组件是面向方面的编程(AOP)框架。面向切面的编程需要把程序逻辑分解成不同的部分称为所谓的关注点。跨一个应用程序的多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样的常见的很好的方面的例子,如日志记录、审计、声明 阅读全文
posted @ 2016-12-10 11:46 carl_ysz 阅读(439) 评论(0) 推荐(0) 编辑
摘要:一、MyBatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old 阅读全文
posted @ 2016-12-08 22:52 carl_ysz 阅读(636) 评论(0) 推荐(0) 编辑
摘要:参考: 开源社区:https://github.com/alibaba/RocketMQ rocketmq入门: http://www.cnblogs.com/LifeOnCode/p/4805953.html 考拉哥的博客: http://lifestack.cn/archives/tag/roc 阅读全文
posted @ 2016-12-02 09:34 carl_ysz 阅读(947) 评论(0) 推荐(0) 编辑
摘要:一、Curator介绍 zookeeper的提交人也说过,curator对于zookeeper而言就像是guava对于java差不多,更加优雅高效。 而且之前的zookeeper原生API,往往因为2个问题而让代码变的非常复杂: (1) session expired,当会话由于各种原因而断掉之后的 阅读全文
posted @ 2016-11-23 14:11 carl_ysz 阅读(1360) 评论(0) 推荐(0) 编辑
摘要:参考文档:zookeeper中文网 一、介绍安装 zookeeper 是一个高效的分布式协调服务,它暴露了一些公用服务,比如命名/配置/同步控制/群组服务等。我们可以使用ZK来实现一些功能,例如:达成共识/集群管理/leader选举等,也是一个高可用的分布式管理与协调框架,基于ZAB算法(原子消息广 阅读全文
posted @ 2016-11-22 18:14 carl_ysz 阅读(467) 评论(0) 推荐(0) 编辑
摘要:参考: documentation: https://www.rabbitmq.com/documentation.htmldemo: https://www.rabbitmq.com/getstarted.html Rabbitmq入门: http://www.jianshu.com/p/a5f7 阅读全文
posted @ 2016-11-17 14:12 carl_ysz 阅读(391) 评论(0) 推荐(0) 编辑
摘要:一、SpringMVC大致流程 Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活、松散耦合的 web 应用程序的组件。MVC 模式导致了应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)的分离,同时提供了在这些元素之间的松散耦合。 模型封装了应用程序数据,并且 阅读全文
posted @ 2016-11-11 14:50 carl_ysz 阅读(364) 评论(0) 推荐(0) 编辑