Mina学习之---mina整体流程介绍】的更多相关文章

现在公司使用的NIO框架一直时候Mina,当然这也的框架还有Netty.虽然一直在用,但只是简单的停留在业务层面,最近面试的时候有问Mina相关的东西.在之前的博客中已经对BIO,NIO,AIO这三种java提供的IO流进行了介绍以及原理的讲解.今天我就打算开始对实现NIO的Mina框架的学习,看看这个框架是如何帮助我们更好的去管理selector,以及ByteBuffer,和我们的channel.以及如何处理高并发.好了今天就对mina框架的几个重要的概念用一个Mina框架入门代码的方式给大家…
背景 有关博文:通信报文的构成 . 上一讲说到可变头与消息体要结合不同的报文类型才能够进行分析(实际上,官方的文档的介绍顺序就是这样的) 那么,我们就来具体看看有关的报文类型. 在此之前 我们捋一捋完整的通信流程,以及在这个过程中有关的报文. 客户端到服务端的网络连接建立后,客户端发送给服务端的第一个报文必须是CONNECT, 连接服务端报文. 服务端发送CONNACK, 确认连接请求报文响应从客户端收到的CONNECT报文.服务端发送给客户端的第一个报文必须是CONNACK. PUBLISH,…
一. JVM自身的物理结构 从图中可以看出 JVM 的主要组成部分 ClassLoader(类加载器),Runtime Data Area(运行时数据区,内存分区),Execution Engine(执行引擎),Native Method Library(本地库接口) 这四大组成部分可以用文字描述如下.JVM 是执行 Java 程序的虚拟计算机系统,然后我们来看看执行过程:首先需要准备编译好的 Java 字节码文件(即class文件),计算机要运行程序需要先通过 类加载器 将 class 文件加…
一.架构 下面谈谈我对Tomcat架构的理解 总体架构: 1.面向组件架构 2.基于JMX 3.事件侦听 1)面向组件架构 tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server.Service.Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也实现了代表生存期的接口Lifecycle,使其组件履行固定的生存期,在其整个生存期的过程中通过事件侦听LifecycleEvent实现扩展.Tomcat的核心类图如下所示: 1.Catalina…
基于MINA应用程序结构图: 我们可以看出,MINA是应用程序(客户端或服务端)和底层基于TCP,UDP等通讯协议的网络层之间的粘合剂.而且各个模块之间是相互独立的,你只需要在MINA体 系基础上设计你的应用程序,而不用去处理复杂的网络层. 下图展示了MINA的内部组件以及MINA各个组件的功能. 很显然,基于MINA的应用程序被划分为3层: 1. I/O Service  -- 执行真正的I/O操作 2. I/O Filter Chain -- 过滤,转换字节流为想要的数据结构 3. I/O…
前言 Apache的MINA框架是一个早年非常流行的NIO框架,它出自于Netty之父Trustin Lee大神之手.虽然目前市场份额已经逐渐被Netty取代了,但是其作为NIO初学者入门学习框架是非常合适的,因为MINA足够的简单,它的实现相对于Netty的难易程度,大概只有Netty的40%左右(个人在对比了MINA和Netty的底层实现得出的结论):然而其在整体架构上的设计是非常类似的,因此在学习完MINA之后再去看Netty,也会相对简单一些.与此同时,一些老的系统在底层实现上也有很多使…
MINA学习汇总 Apache Mina Server 是一个网络通信应用框架,用于开发高性能和高可用性的网络应用程序.它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),Mina 提供了事件驱动.异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型. Apache Mina简单理解它是一个封装底层IO操作,提供高级操作API的通讯框架! Mina在整个网通通信结构中位置: Mina处于中间…
芯航线——普利斯队长精心奉献 课程目标: 1.了解并学会FPGA开发设计的整体流程 2.设计一个二选一选择器并进行功能仿真.时序仿真以及板级验证 实验平台:芯航线FPGA开发板.杜邦线 实验内容: 良好的文件夹设置以及工程管理是一个好的FPGA设计的基础,在学习之初就建立俩良好的习惯,会少走一些弯路.因此我们首先在新建的工程文件夹下面,分别建立如图2-1所示的子文件夹. 图2-1 FPGA工程子文件夹 上图中,prj为工程文件存放目录:rtl为verilog可综合代码存放目录:testbench…
前言:2018年,是最杂乱的一年!所以你看我的博客,是不是很空! 网上有很多关于Mybatis原理介绍的博文,这里介绍两篇我个人很推荐的博文 Mybatis3.4.x技术内幕和 MyBaits源码分析!让我找到了学习的入口,当然另外你必须要看的官方文档 MyBatis学习.那么有了这些知识,就让我们愉快的吃鸡之路吧! 一:你首先得知道的知识点. 1.1 JDBC 在个人看来, Mybatis的核心就是对SQL语句的管理!那么在JAVA环境下,对SQL的管理或者其他任何的实现,肯定是离不开JAVA…
前言 Flink 是一种流式计算框架,为什么我会接触到 Flink 呢?因为我目前在负责的是监控平台的告警部分,负责采集到的监控数据会直接往 kafka 里塞,然后告警这边需要从 kafka topic 里面实时读取到监控数据,并将读取到的监控数据做一些 聚合/转换/计算 等操作,然后将计算后的结果与告警规则的阈值进行比较,然后做出相应的告警措施(钉钉群.邮件.短信.电话等).画了个简单的图如下: 目前告警这块的架构是这样的结构,刚进公司那会的时候,架构是所有的监控数据直接存在 ElasticS…