不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2018-10-03 14:14  分类:Java  编辑

在执行 mvn clean test 时报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project hello: Compilation failure: Compilation failure:
[ERROR] /D:/mavenWork/src/test/java/com/clc/helloworld/test/TestHelloworld.java:[2,17] 程序包org.junit不存在
[ERROR] /D:/mavenWork/src/test/java/com/clc/helloworld/test/TestHelloworld.java:[4,10] 找不到符号
作者:php-note.com  发布于:2018-10-02 01:31  分类:Java  编辑

本章节包括:

1)OIO-------阻塞IO传输服务

2)NIO-------异步IO传输服务

3)本地传输服务-----在JVM内异步的通信

4)嵌入式传输服务------测试你的ChannelHandlers

作者:php-note.com  发布于:2018-10-01 23:11  分类:Java  编辑

在接下来的几个小节中,我们将为你讲解Channel,EventLoop,ChannelFuture这几个组件的细节的讨论,这几个组件可以视为Netty网络模块抽象的几个典范

1)Channel-------关键字:Sockets

2)EventLoop-------关键字:控制流,多线程,并发

3)ChannelFuture-------关键字:异步通知

作者:php-note.com  发布于:2018-10-01 11:36  分类:Java  编辑

图2.1展示了我们即将要编写的Netty服务器端和客户端的俯瞰图,如果你是一个专注于web开发的开发者我想你还是很熟悉的,你应该会对Netty服务器端和客户端的模型有着更深的完整理解。

作者:php-note.com  发布于:2018-09-24 16:20  分类:Java  编辑

一、无依赖其他任何jar

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.think.TestMain</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>
作者:php-note.com  发布于:2018-09-23 19:31  分类:Java  编辑

在这个章节,我们将向你展示如果构建一个基于Netty的客户端和服务端,编写的例子很简单------客户端发送信息到服务器端,服务器端将信息原样返回,这个实战例子很重要,这这么两个原因:

 1)这个例子首先需要搭建你的开发环境,并且验证你的开发环境是否可用,当然,如果你打算我们列举的例子应用到你的项目之中做好准备,这也是很重要的

 2)你将获取亲手实践Netty的经验,感受前一章节我们讲述的:用ChannelHandlers去构建你的逻辑应用,这将为你在第三章的深入学习Netty打好良好的基础

作者:php-note.com  发布于:2018-09-23 17:32  分类:Java  编辑

 在这个章节中,我们将浅析Netty的几个核心组件

  1)Channels

  2)Callbacks

  3) Futures

  4) Events and handlers

 

这些构建模块代表了不同的结构种类:资源,逻辑,和通知,你的应用可以使用这些连接到网络,并且通过这些这些获取到数据流

对于每一个组件而言,我们将给一个最基本的定义,并且给出一个合适简单的例子说明它的作用

作者:php-note.com  发布于:2018-09-23 17:09  分类:Java  编辑

在我们准备研究Netty之前,请先查看一下我们下表1.1总结出来的Netty的核心特性,有些是技术方面的,有些是架构层次或者是宏观上的设计,在这本书里我们将要多次讲解分析这些特性,表1.1

类别 Netty特性实现
设计 为多种网络传输类型提供统一的APIs,包括阻塞IO和非阻塞IO
简单但高效的线程模型
真实的无连接的数据包socket的支持
逻辑组件通过链接的链式方式使用,使每个组件可以重复使用
易用性 丰富的JAVA文档和大量的代码示例
仅仅依赖于JDK1.6,部分特性可能需要依赖JDK1.7或者其他的额外jar包
性能 有更大的吞吐量和低延迟性相比于直接使用JAVA 的原生APIs
引用了池的概念和重复利用的理念来减少资源的消耗
最大限度的减少内存拷贝
健壮性 不会因为连接的缓慢,连接的损耗产生OOM
在优质的网络环境中消除Netty应用的不公平的读写比
安全性 完成对SSL\TLS和StartSSL的支持
可以在Applet或者OSGI等这些受限制的环境中运行
社区驱动 社区成立早,且活跃度高,版本更新频繁
作者:php-note.com  发布于:2018-09-23 16:34  分类:Java  编辑

假如你正在为一个大型公司开发一个全新的具有历史意义的使命级的应用,在第一个会议上你了解到这个系统必须无损且高效地支持150000用户并发使用,所有人的眼光都注视着你,你打算怎么说?

如果你自信地说:“可以,没有问题”,所有人将会对你脱帽致敬,但是大多数的我们都会谨慎地去思考。比如去思考可执行性,接着你会拿着一台电脑,然后去搜索“高性能的java网络编程”

 

如果你今天搜索这样的关键词,大概下面的第一个结果就是你将看见的:

作者:php-note.com  发布于:2018-09-23 15:17  分类:Java  编辑

Netty是一个致力于创建一个高性能的网络应用的先进的框架,在这个部分,我们将向你展示netty的性能,并从以下三点向你证明

1)你不需要以专业网络专家的身份用Netty去构建网络应用

2)使用Netty可以比直接使用java原生的API更加简单地去开发应用

3)Netty的设计理念和设计实例都很棒,例如netty使你的应用上逻辑上与网落层解耦,让你无需花费更多的时间去关心网络层