java八个框架
在本文中,我只是整理了以下主流框架:
1。阿帕切米纳
项目主页:http://mina.apache.org/
它为开发高性能和高可用性网络应用提供了一个非常方便的框架,支持基于Java NIO技术的TCP/UDP应用程序开发和串行通信程序。
2,Grizzly
官方网站:http://xsocket.sourceforge.net/
与一般的NIO框架相比,设计有很大的不同。主要的区别在于读写都是阻塞的,并且使用了临时选择器。
线程模型是高度可配置的,但是根据作者的介绍,在运行选择器主线程来处理accept时,使用线程池来处理读写性能最好,这并不奇怪。
3,Netty
官方网站:http://netty.io/
它提供了一组基于事件的API来开发高性能、可管理的TCP/IP服务器或客户端应用程序。对于高性能的网络应用,netty提供了许多基本特性,如就绪选择、线程池、防止写缓冲区DoS、可重用缓冲区等。
4。氧化镍框架
构建在Java NIO库上,它封装了原始NIO的大部分复杂性。使用NIO框架,很容易开发安全和高性能的Java网络应用程序。
5。快速服务器
官方网站:http://www.quickserver.org/
一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户只能专注于应用程序的逻辑/协议。
6,XSOCKET
官方网站:http://xsocket.sourceforge.net/
基于NIO的轻量级服务器框架用于开发高性能石材、可扩展的多线程服务器。框架封装了线程处理、异步读/写等。
7,IOServer
与Apache的Mina相比,高性能、易于扩展的网络框架是轻量级的,源代码更容易读取。源代码中有很多详细的中文注释,这是一个很好的学习框架。该框架主要针对中国市场的移动网络游戏服务器端编程。
ioserver构建简单的服务器例程(更详细的例程可以下载例程包或访问wiki视图),服务器从客户机接收一个整数并将其返回给客户机。
8,XIIO
官方网站:http://xnio.jboss.org/
一个Java包,帮助您简化NIO应用程序开发;
提供一个独特且易于使用的API,它结合了阻塞和非阻塞操作。即使在同一个通道上,它也允许您利用简单和低延迟的阻塞I/O,同时也获得了非阻塞I/O的优势。
还引入了一个强大的基于回调的接口,以大大简化传统的基于状态机的非阻塞应用程序,并在应用程序之间实现吞吐量和延迟之间的完美平衡。
java八个框架的更多相关文章
- 《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)
1.简介 经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试.这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用de ...
- 《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
1.简介 在实际测试过程中,我们经常会遇到这样的情况,开发由于某些原因导致一些模块进度延后,而你的自动化测试脚本已经提前完成,这样就会有部分模块测试,有部分模块不能进行测试.这就需要我们暂时不让一些t ...
- 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)
1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...
- 《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志-上篇(详解教程)
1.简介 TestNG还为我们提供了测试的记录功能-日志.例如,在运行测试用例期间,用户希望在控制台中记录一些信息.信息可以是任何细节取决于目的.牢记我们正在使用Selenium进行测试,我们需要有助 ...
- 《手把手教你》系列基础篇(八十五)-java+ selenium自动化测试-框架设计基础-TestNG自定义日志-下篇(详解教程)
1.简介 TestNG为日志记录和报告提供的不同选项.现在,宏哥讲解分享如何开始使用它们.首先,我们将编写一个示例程序,在该程序中我们将使用 ITestListener方法进行日志记录. 2.Test ...
- 《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
1.简介 自动化测试中如何输出日志文件.任何软件,都会涉及到日志输出.所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件.开发通过看日志文件,知道这个崩溃产生的原因,至少知道 ...
- 《手把手教你》系列基础篇(八十七)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-上篇(详解教程)
1.简介 Apache Log4j 是一个非常古老的日志框架,并且是多年来最受欢迎的日志框架. 它引入了现代日志框架仍在使用的基本概念,如分层日志级别和记录器. 2015 年 8 月 5 日,该项目管 ...
- 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...
- Java三方---->excel框架之POI的使用一
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.pdf框架之IText的使用,参见我的博客:Java ...
随机推荐
- <javaScript>谈谈JavaScript中的变量、指针和引用
1.变量我们可能产生这样一个疑问:编程语言中的变量到底是什么意思呢?事实上,当我们定义了一个变量a时,就是在存储器中指定了一组存储单元,并将这组存储单元命名为a.变量a的值实际上描述的是这组存储单元中 ...
- [go]gorhill/cronexpr用go实现crontab
// crontab基础 // linux crontab // 秒粒度, 年配置(2018-2099) // 哪一分钟(0-59),哪小时(0-23),哪天(1-31),哪月(1-12),星期几(0 ...
- substr 字符串截取
<!DOCTYPE html> <html> <body> <?php echo substr("Hello world",0,10).& ...
- 九十:CMS系统之项目结构
目录结构 cms模块 from flask import Blueprint bp = Blueprint('cms', __name__, url_prefix='/cms') @bp.route( ...
- python matlab 带包实现全排列
>> A=[2,5,7];perms(A) ans = 7 5 2 7 2 5 5 7 2 5 2 7 2 7 5 2 5 7 >> perms(1:4) ans = 4 3 ...
- Java泛型(4):泛型与匿名内部类
泛型同样也可以使用在匿名内部类中. 下面的例子是对 Java泛型(3):泛型方法 中例(2)的修改. public interface Generator<T> { T next(); } ...
- AC自动机--summer-work之我连模板题都做不出
这章对现在的我来说有点难,要是不写点东西,三天后怕是就一无所有了. 但写这个没有营养的blog的目的真的不是做题或提升,只是学习学习代码和理解一些概念. 现在对AC自动机的理解还十分浅薄,这里先贴上目 ...
- 20190925 - macOS 的包管理工具
众所周知,macOS 的包管理工具有 MacPorts 和 Homebrew,后者似乎更受欢迎,但前者但包数量更多. 喜欢手冲咖啡,看到 brew 这个词有好感,但可能部分由于网络的问题,部分因为 b ...
- 【AMAD】django-countries -- 为Django app的form提供country选项,为model提供CountryField
动机 简介 个人评分 动机 有时候看一些数据库设计,国家数据会存在一个单独的表里面.这种方式读取数据库无疑又要加上一层join,很不划算. 简介 [django-countries]1解决的是: 不用 ...
- 【并行计算-CUDA开发】浅谈GPU并行计算新趋势
随着GPU的可编程性不断增强,GPU的应用能力已经远远超出了图形渲染任务,利用GPU完成通用计算的研究逐渐活跃起来,将GPU用于图形渲染以外领域的计算成为GPGPU(General Purpose c ...