mina 笔记 基础一

    1.mina 是什么?html

      apach mina 是一个网络应用框架,使开发者更容易开发出高性能可扩展的网络应用。它经过java NIO提供了一个抽象的基于事件驱动的异步API,在例如 TCP/IP ,UDP/IP 等各类传输协议之上.java

     Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.web

    Apache MINA 常常被称为 : apache

    NIO framework library, api

    client server framework library, or网络

    a networking socket libraryoracle

   Apache MINA 伴随着不少子项目 :app

   Asyncweb : An HTTP server build on top of MINA asynchronous framework框架

   FtpServer : A FTP server异步

   SSHd : A Java library supporting the SSH protocol

   Vysper : An XMPP server

 

   2.使用mina以前咱们应该了解什么?

    首先咱们须要了解是MINA在NIO 1的基础上进行设计的(可能3.0版本会加入java 7,NIO-2 的特性吧)。那么第一个问题来了  NIO VS BIO 

    BIO(Blocking IO) : BIO 在调用者进行socket读写等操做时会阻塞调用者直到调用结束。

    NIO : 采用非阻塞模式 使一个线程从某通道发送请求读取数据,可是它仅能获得目前可用的数据,若是目前没有数据可用时,就什么都不会获取。而不是保持线程阻塞,因此直至数据变的能够读取以前,该线程可       以继续作其余的事情。 非阻塞写也是如此。一个线程请求写入一些数据到某通道,但不须要等待它彻底写入,这个线程同时能够去作别的事情。 线程一般将非阻塞IO的空闲时间用于在其它通道上执行IO操做,因此     一个单独的线程如今能够管理多个输入和输出通道(channel)。

    

    Java NIO 由如下几个核心部分组成:

    Channels
    Buffers
    Selectors

  

               

 

   MINA 特性

   MINA is a simple yet full-featured network application framework which provides:

   Unified API for various transport types:
   TCP/IP & UDP/IP via Java NIO
   Serial communication (RS232) via RXTX
   In-VM pipe communication
   You can implement your own!
   Filter interface as an extension point; similar to Servlet filters
   Low-level and high-level API:
   Low-level: uses ByteBuffers
   High-level: uses user-defined message objects and codecs
   Highly customizable thread model:
  Single thread
  One thread pool
  More than one thread pools (i.e. SEDA)
  Out-of-the-box SSL · TLS · StartTLS support using Java 5 SSLEngine
  Overload shielding & traffic throttling
  Unit testability using mock objects
  JMX managability
 Stream-based I/O support via StreamIoHandler
 Integration with well known containers such as PicoContainer and Spring
 Smooth migration from Netty, an ancestor of Apache MINA.  

     

 3.mina 最新版本稳定版本 2.0.9 及下载地址

   http://mina.apache.org/mina-project/downloads.html

   

 

  打开源码包,能看到官方给出的example , ok 第一步就记录到这里了.

 

   

   

 

 

  文章内容来源及参考 :

   http://mina.apache.org/mina-project/userguide

   http://blog.csdn.net/keda8997110/article/details/19549493   

   http://ifeve.com/overview/        Java NIO系列教程

   http://docs.oracle.com/javase/6/docs/api/

相关文章
相关标签/搜索