mina笔记基础一
mina 笔记 基础一
1.mina 是什么?
apach mina 是一个网络应用框架,使开发者更容易开发出高性能可扩展的网络应用。它通过java NIO提供了一个抽象的基于事件驱动的异步API,在例如 TCP/IP ,UDP/IP 等各种传输协议之上.
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.
Apache MINA 经常被称为 :
NIO framework library,
client server framework library, or
a networking socket library
Apache MINA 伴随着很多子项目 :
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/keda***/article/details/***
http://ifeve.com/overview/ Java NIO系列教程
http://docs.oracle.com/javase/6/docs/api/
如何高回报投资数字货币,离比特币减半倒计时一年半不到,最后一波10~100倍财富回报盛宴,错过了就不再有!
在币圈中
靠头脑不是耳朵
靠信息不是靠想像
靠实力不是靠猜测
会玩的叫投资
不会玩的叫消费
如果你做不到,那你就选择依托强者生存聪明的人懂得在自己不擅长的领域先向别人学习。
大家好,本人七年虚拟货币玩家,大牛谈不上,但是也带着上万名学生做了几年投资了,没错过比特币,没错过以太坊,没错过山寨币,没错过ICO,回报在1000倍左右了,从2013年年前开始带学生投资区块链,学生的平均回报也在200倍左右,欢迎大家一起交流,互相学习!
mina 笔记 基础一
------
延伸阅读:
各大数字货币一览
初入币圈的朋友,看到林林种种的数字货币,真是眼花缭乱,这些加密货币是什么来头,有什么特点呢?这里来简要介绍一下一些主流加密货币。
比特币系
比特币是最早诞生的加密货币,2008年,化名中本聪的网络极客发表了一篇论文《比特币:一种点对点的电子现金系统》,2009年,第一个创世区块由中本聪挖出,一直发展至今。比特币最初的区块大小只有 1M,拥堵问题日益加剧,手续费也不断上升,于是区块扩容被提上了日程,Core开发组主张用隔离见证和闪电网络实现扩容,而大区块派主张直接扩大区块。双方争执不下,最后,2017年8月1日,比特币现金(BCH)从比特币(BTC)上分叉,以扩大区块的方式实现了扩容。这次分叉开了一个分叉币的头,之后,比特黄金、比特钻石、超级比特币、比特上帝等一众分叉币纷纷涌现。到了后来,BCH 自身也碰到了一次分叉,自称中本聪的澳洲人CSW又要继续扩大区块,还要锁死比特币底层协议,他号称要做出一个符合中本聪愿景的比特币,这次分叉的币叫BSV。
除了 BCH 和 BSV 外,其他分叉币大多已经式微,BTC、BCH、BSV 分别代表了对三个不同方向的探索,BTC 最为保守谨慎,BSV 最为激进,BCH 相对温和渐进。目前 BTC 享有事实上的比特币之名,市值也最大。
以太坊系
2013年年末,94年出生的天才程序员 Vitalik Buterin(V神) 发表了以太坊白皮书,提出了可以在加密货币上添加各种智能合约的设想,可以用于社交、交易、游戏等领域,以太坊市值一路飞升,很快就仅次于比特币了,加上了智能合约的以太坊,也被称为区块链2.0。
2016年,以太坊碰到了一次严重的黑客盗币事件(DAO),V神决定使用回滚的方式删掉这次盗币记录,但有一些坚持区块链不可篡改的人反对回滚,于是以太坊也发生了分叉。与比特币不同的是,以太坊原链成了少数派,被称为以太坊经典(ETC),进行了回滚的新链成了多数派,成为了事实上的以太坊(ETH)。
稳定币系
稳定币一般锚定法币,可以用稳定币向发行方1:1兑换法币,币值比较稳定,但有时交易也会有少量溢价,在加密货币交易中应用很广。现在最常见的稳定币就是Tether公司发行的 USDT,1 USDT =1美元。稳定币一般发行在其他加密货币网络上,有比特币Omni协议、以太坊ERC20协议等好几种USDT。
匿名币系
比特币上,每条交易都是清晰可查的,虽然我们并不知道地址背后对应的人是谁。有人认为比特币隐私性还不够,于是一些能够掩盖用户信息的匿名币又横空出世了,像门罗币(XMR)、达世币(Dash)、大零币(Zcash)等。门罗币使用了环签名技术,达世币采取了混币技术,大零币使用了零知识证明,都可以起到不同程度的匿名效果。
平台币系
一些数字货币交易平台往往会发布自己的平台币,使用平台币交易有一定的优惠,比如 OKEx 的 OKB,火币的HT,币安的 BNB 等。
其他一些主流币种
莱特币(LTC)复制了比特币的代码,更换了共识算法,缩短了出块时间,比特币要升级时往往也先在比特币上面做实验,莱特币号称“比特金,莱特银”。
瑞波币(XRP)是目前市值第三大的币种,它本身是一种互联网交易协议,允许用户快速低廉地全世界转账。
柚子币(EOS)号称区块链3.0、以太坊升级版,试图在上面引入更多的功能和应用拓展。
------------------
推荐阅读:
SHIBTORO币怎么买卖交易?SHIBTORO币上线了哪些交易所?