<commit_before>![](http://git.oschina.net/uploads/images/2016/0510/122514_7d971a34_116083.jpeg)


[![](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![](https://maven-badges.herokuapp.com/maven-central/org.voovan/voovan-framework/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.voovan/voovan-framework)
![JDK 1.8](https://img.shields.io/badge/JDK-1.8-green.svg "JDK 1.8")
[![jar size 270K](https://img.shields.io/badge/size-270K-green.svg "size 270K")](https://git.oschina.net/helyho/Voovan/raw/master/voovan-framework.jar)

##### Voovan 是一个高性能异步网络框架和WEB服务器框架,同时支持HTTP客户端抓取、动态编译支持、数据库访问封装以及DateTime、String、Log、反射、对象工具、流操作、文件操作、异步双向通道等功能。旨在提供可靠、方便、可单元测试的代码。它是一个无任何依赖的独立工具包，希望能够方便广大开发者快速的实现应用。

###极其简单优雅的编码是 Voovan 的宗旨和目标

---------------------

###Maven中央库支持:
```xml
<dependency>
    <groupId>org.voovan</groupId>
    <artifactId>voovan-framework</artifactId>
    <version>2.0.0</version>
</dependency>
```

---------------------
Voovan 迎来了 2.0 新版本,此版本应广大使用者朋友们的要求将 Voovan 拆分成多个模块:
####Common模块:
集各种Voovan工具类于一身,提供JSON,运行时编译,反射,日志对象池,非堆缓冲通道,文件,字符串,日期,流操作等于常用工具类,这些工具类在 voovan 开源的各个项目广泛使用.


####Database模块:
数据库操作模块,提供最基本的 ORM 操作,方便朋友们基于此封装更高级的 ORM 框架.

####Network模块:
高性能异步通信框架,同时支持AIO/NIO两种形式,并且提供对 TCP/UDP 的完整支持,以及对 SSL 非对称密钥通信的支持.并天然提供粘包处理使粘包处理更加优雅,以及同类型框架都具备的对过滤器的支持.
在编码形式上voovan 提供了同步和异步调用两种模式,使您随时可以轻松的开发出高性能的异步通信程序.

####Web模块
提供了Web 常用的 HttpClient 和 HttpServer 两种支持,使用 web 模块可以轻松搞定 http 的服务和 客户端模式, 同时无论是服务端还是客户端都提供对 websocket 的支持,是您在开发过程中不在组合各种框架来完成同一类的功能.

---------------------


###JDK支持:

 - 推荐使用 JDK1.8,懒人专用。
 - 如果仅使用 AIO 需要 JDK1.7。【[如何兼容到JDK1.7?](http://voovan.mydoc.io/?t=113242)】
 - 如果 WebServer 使用lambda 需要 JDK1.8,不使用 lambda 需要 JDK1.7。
 - 有能力的同学可以通过很简单几行修改使 WebServer 和 HTTPClient使用 NIO 那么就是 JDK1.6。

---------------------

###框架特点介绍:
 - 使用 JDK8 的 lambda 表达式,快速实现 HTTP/WebSocket 服务的开发。[【演示】](http://webserver.voovan.org/)/[【性能测试报告】](https://git.oschina.net/helyho/Voovan/issues/12)
 - 异步通信框架解决粘包问题,过滤器链等。
 - 独立无依赖的代码。
 - 源码注释丰富，方便码友学习、调试、使用。

---------------------

###一、高性能异步通信(AIO、NIO异步通信) [voovan-network]

  类似 Netty 和 MINA 的异步 Socket 通信框架.但有有所不同。
  1. **可灵活解决Socket通信粘包的支持**（源码中包含 HTTP协议,字符串换行,定长报文的粘包实现）。
  1. **支持 SSL/TLS 加密通信。**<commit_msg>更新 Readme.md<commit_after>![](http://git.oschina.net/uploads/images/2016/0510/122514_7d971a34_116083.jpeg)


[![](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![](https://maven-badges.herokuapp.com/maven-central/org.voovan/voovan-framework/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.voovan/voovan-framework)
![JDK 1.8](https://img.shields.io/badge/JDK-1.8-green.svg "JDK 1.8")
[![jar size 270K](https://img.shields.io/badge/size-270K-green.svg "size 270K")](https://git.oschina.net/helyho/Voovan/raw/master/voovan-framework.jar)

##### Voovan 是一个高性能异步网络框架和WEB服务器框架,同时支持HTTP客户端抓取、动态编译支持、数据库访问封装以及DateTime、String、Log、反射、对象工具、流操作、文件操作、异步双向通道等功能。旨在提供可靠、方便、可单元测试的代码。它是一个无任何依赖的独立工具包，希望能够方便广大开发者快速的实现应用。

###极其简单优雅的编码是 Voovan 的宗旨和目标

---------------------

###Maven中央库支持:
```xml
<dependency>
    <groupId>org.voovan</groupId>
    <artifactId>voovan-framework</artifactId>
    <version>2.0.0</version>
</dependency>
```

---------------------
Voovan 迎来了 2.0 新版本,此版本应广大使用者朋友们的要求将 Voovan 拆分成多个模块:
####Common模块:
集各种Voovan工具类于一身,提供JSON,运行时编译,反射,日志对象池,非堆缓冲通道,文件,字符串,日期,流操作等于常用工具类,这些工具类在 voovan 开源的各个项目广泛使用.


####Database模块:
数据库操作模块,提供最基本的 ORM 操作,方便朋友们基于此封装更高级的 ORM 框架.

####Network模块:
高性能异步通信框架,同时支持AIO/NIO两种形式,并且提供对 TCP/UDP 的完整支持,以及对 SSL 非对称密钥通信的支持.并天然提供粘包处理,使粘包处理更加优雅,并且包含同类型框架都具备的对过滤器的支持.
在编码形式上voovan 提供了同步和异步调用两种模式,使您随时可以轻松的开发出高性能的异步通信程序.

####Web模块
提供了Web 常用的 HttpClient 和 HttpServer 两种支持,使用 web 模块可以轻松搞定 http 的服务和 客户端模式, 同时无论是服务端还是客户端都提供对 websocket 的支持,使您在开发过程中不在组合各种框架来完成同一类的功能.

---------------------


###JDK支持:

 - 推荐使用 JDK1.8,懒人专用。
 - 如果仅使用 AIO 需要 JDK1.7。【[如何兼容到JDK1.7?](http://voovan.mydoc.io/?t=113242)】
 - 如果 WebServer 使用lambda 需要 JDK1.8,不使用 lambda 需要 JDK1.7。
 - 有能力的同学可以通过很简单几行修改使 WebServer 和 HTTPClient使用 NIO 那么就是 JDK1.6。

---------------------

###框架特点介绍:
 - 使用 JDK8 的 lambda 表达式,快速实现 HTTP/WebSocket 服务的开发。[【演示】](http://webserver.voovan.org/)/[【性能测试报告】](https://git.oschina.net/helyho/Voovan/issues/12)
 - 异步通信框架解决粘包问题,过滤器链等。
 - 独立无依赖的代码。
 - 源码注释丰富，方便码友学习、调试、使用。

---------------------

###一、高性能异步通信(AIO、NIO异步通信) [voovan-network]

  类似 Netty 和 MINA 的异步 Socket 通信框架.但有有所不同。
  1. **可灵活解决Socket通信粘包的支持**（源码中包含 HTTP协议,字符串换行,定长报文的粘包实现）。
  1. **支持 SSL/TLS 加密通信。**
{'fraction_non_alphanumeric': 0.2047978676143936, 'fraction_numerical': 0.033762772101288314, 'mean_word_length': 4.379928315412187, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 16, 'lorem ipsum': 0, 'www.': 2, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '692005', 'n_tokens_mistral': 2897, 'n_tokens_neox': 3119, 'n_words': 224}