自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

气自华

专注Java工作多年

  • 博客(49)
  • 资源 (11)
  • 收藏
  • 关注

转载 Apache Mina2 框架研究

Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。这个框架的优点:– 异步 – 无阻塞 – 事件驱动 – 支持TCP, UDP, APR, 串口… – 通过 过滤器(Filters)实现扩

2016-09-30 15:29:43 369 1

转载 Apache Mina2 IoService详解

IoServiceIoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括:1、监听器管理2、IoHandler3、IoSession管理4、FilterChain管理5、Statistic

2016-09-30 15:28:15 362

转载 Telnet 解决不显示回现

Telnet 窗口看不见字符,只显示小横线 在用telnet连接tomcat服务器的 时候,窗口中不显示字符,显示成一个一个的横线 解决办法: 按住“Ctrl+]” 回车解决问题

2016-09-29 23:39:42 11872

转载 Java CopyOnWriteArrayList详解

CopyOnWriteArrayList是ArrayList 的一个线程安全的变体,其中所有可变操作(add、set等等)都是通过对底层数组进行一次新的复制来实现的。     这一般需要很大的开销,但是当遍历操作的数量大大超过可变操作的数量时,这种方法可能比其他替代方法更有效。在不能或不想进行同步遍历,但又需要从并发线程中排除冲突时,它也很有用。“快照”风格的迭代器方法在创建迭代器时使用了对数

2016-09-29 18:32:58 262

转载 Java事件处理机制(自定义事件)

java中的事件机制的参与者有3种角色:1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。3.eve

2016-09-29 17:46:24 254

转载 structs2+spring+mybatis 配置log4j

(1)将javax.servlet_1.0.0.0_2-5.jar拷贝到web-inf/lib下。(2)在web-inf根目录下新建文件log4j.properties,配置日志输出级别、日志路径等信息。log4j.properties代码:[plain] view plain copy # debuglog4j.rootLogg

2016-09-29 16:33:39 618

转载 配置 mybatis的 log4j.properties

log4j.rootLogger=debug,stdout,logfile05 06 07### 把日志信息输出到控制台 ###08log4j.appender.stdout=org.apache.log

2016-09-29 16:30:15 4727

转载 Apache mina2 用户指南(十一)ssl过滤器

有待官方完善中...原文链接:http://mina.apache.org/mina-project/userguide/ch11-ssl-filter/ch11-ssl-filter.html。

2016-09-28 22:58:12 363

转载 Apache mina2 用户指南(十二)日志过滤器

背景Apache MINA 体系允许基于 MINA 的应用的开发者使用他们自己的日志系统。SLF4JMINA 使用了简单日志门面 (Simple Logging Facade for Java,SLF4J)。你可以在这里找到 SLF4J 的信息。这个日志工具允许任意数量的日志系统的实现。你可以使用 log4j、java.util.logging 或者其他日志系统。这个的精彩之处在于

2016-09-28 22:56:40 372

转载 Apache mina2 用户指南(十三)调试

第十三章起是 MINA 的高级主题部分,一直到最后一章 (第十七章),将对调试、状态机、代理、JMX 集成、Spring 集成等主题进行详细讨论。        调试        有待官方完善中...原文链接:http://mina.apache.org/mina-project/userguide/ch13-debugging/ch13-debugging.html。

2016-09-28 22:55:05 257

转载 Apache mina2 用户指南(十四)状态机

如果你在使用 MINA 开发一个具有复杂网络的交互的应用,在某种情况下你可能会发现你自己试着使用经典的 状态模式 以尝试解决其复杂性。但是,在你那么干之前,你可能想要检出 mina-statemachine,它尝试去解决状态模式的一些缺陷。        一个简单的例子        我们来以一个简单示例来演示一下 mina-statemachine 是如何工作的。下图演示了一个典

2016-09-28 22:54:07 525

转载 apache mina2 用户指南(十五)代理

有待官方完善中...原文链接:http://mina.apache.org/mina-project/userguide/ch15-proxy/ch15-proxy.html。

2016-09-28 22:52:41 241

转载 Apache mina2 用户指南(十七)spring集成

本文演示了 MINA 应用和 Spring 的整合。我在我的博客中写了这篇文章,后来也把它放在了这里,这里是这篇信息本来就该归类的地方。你可以在集成 Spring 到 Apache MINA 找到原始文本。        应用架构        一个标准的 MINA 应用应该具有以下构造:一个 Handler (处理器)两个 Filter (过滤器) - Logging 过滤器

2016-09-28 22:50:35 251

转载 Apache mina2 用户指南(十六)JMX集成

JMX 支持        Java 管理扩展 (JMX,Java Management Extensions) 用于管理和监控 Java 应用。本文将提供一个示例,以演示如何对基于 MINA 的应用集成 JMX。        本文旨在帮你将 JMX 技术集成到你的基于 MINA 的应用。在本文中,我们将把 MINA-JMX 相关类集成进图片服务器示例程序。        添

2016-09-28 22:49:01 246

转载 Apache mina2 用户指南(十)执行者过滤器

MINA 1.X 运行用户在 Acceptor 级别定义线程模型。这是 Acceptor 配置的一部分。这个导致了复杂性,MINA 团队决定将这一选项移除,取而代之的是一个更加通用的体系,基于一个过滤器:ExecutorFilter。        ExecutorFilter 类        这个类实现了 IoFilter 接口,根本上讲,它包含了一个执行者将连入的事件传播

2016-09-28 22:46:28 237

转载 Apache mina2 用户指南(九)编解码过滤器

本文解释一下为什么以及如何使用一个 ProtocolCodecFilter。        为什么要使用一个 ProtocolCodecFilter?TCP 担保以正确的顺序交付所有数据包。但是没有担保对于在发送端写操作时影响到接收端的读事件。参考http://en.wikipedia.org/wiki/IPv4#Fragmentation_and_reassembly 和

2016-09-28 22:45:10 544

转载 Apache mina2 用户指南(八)字节缓存

第八章起是 MINA 的核心部分。一直到第十二章,将对 IoBuffer,以及几个过滤器,编解码器、执行者、SSL、日志等过滤器进行详细讨论。        IoBuffer        MINA 应用所用的一个字节缓存。        它是 java.nio.ByteBuffer 的替代。MINA 不直接使用 NIO 的 ByteBuffer 有两个原因:B

2016-09-28 22:43:24 429

转载 Apache mina2 用户指南(七)事件处理器

处理 MINA 所触发 I/O 事件。这一接口时在过滤器链最后完成的所有活动的中心。        IoHandler 具有以下方法:sessionCreatedsessionOpenedsessionClosedsessionIdleexceptionCaughtmessageReceivedmessageSent        sessionCreated 事件     

2016-09-28 22:41:53 236

转载 Apache mina2 用户指南(六)传输

APR 传输        简介        APR (Apache Portable Runtime,Apache 可移植运行) 提供了更好的扩展性、性能以及更好的与本地服务器技术的集成。MINA 照常 APR 传输。现在我们将了解如何使用 MINA 进行 APR 传输。我们将为此使用时间服务器的例子。        先决条件        APR 传输取决于以下组件 

2016-09-28 22:40:40 351

转载 Apache mina2 用户指南(五)过滤器

IoFilter 扮演着很重要角色,它是 MINA 的核心结构之一。它过滤 IoService 和 IoHandler 之间的所有 I/O 事件和请求。如果你有网络应用编程的经验,你完全可以把它当成 Servlet 过滤器的表兄弟。许多开箱即用的过滤器通过使用类似以下的开箱即用过滤器简化横切注入用来提升网络应用的开发速度:LoggingFilter 记录所有事件和请求ProtocolCod

2016-09-28 22:38:45 366

转载 Apache mina2 用户指南(四)会话

会话处于 MINA 的核心位置:每当一个客户端连接到服务器,一个新的会话会被创建,并会在客户端关掉连接前一直保存在内存中。        会话用于保存连接的持久信息,以及在请求处理过程中、会话的生命周期中服务器可能需要用到的任何信息。        会话的状态        会话会有一个随着时间演变的状态:已连接:会话已被创建并可用闲置:会话在至少一段时间 (这段时间是可配的)

2016-09-28 22:37:10 306

转载 Apache mina2 用户指南(三)IO服务

MINA IoService - 正如《Apache MINA 2.0 用户指南》第二章:基础知识 在介绍应用架构时提到过的,是支持所有 IO 服务的基类,不管是在服务器端还是在客户端。        它将处理所有与你的应用之间的交互,以及与远程对端的交互,发送并接收消息、管理 session、管理连接等等。        它是为一个接口,服务器端实现为 IoAcceptor,客户端为

2016-09-28 22:35:13 375

转载 Apache mina2 用户指南(二)

在第一章中,我们对 Apache MINA 有了一个基本认识。本章中,我们将继续认识一下客户端/服务器端结构以及规划一个基于 MINA 的服务器或者客户端的详情。        我们也将披露一些很简单的,基于 TCP 和 UDP 的服务器和客户端的例子。        基于 MINA 的应用架构        问的最多的问题:"一个基于 MINA 的应用看起来像什么"?本小节我

2016-09-28 22:33:45 538

转载 Apache mina2用户指南(一)

Apache MINA 2.0 用户指南》系列博客总序        《Apache MINA 2.0 用户指南》取材自 Apache 官方指南,共分十七章,此系列博客完本后,笔者会整理一份中英文对照阅读的 PDF 文档,届时将公布下载地址。敬请期待。        《Apache MINA 2.0 用户指南》第一章:入门        本章中,我们将给你关于什么是

2016-09-28 22:31:35 1769

转载 Apache MINA 2.0入门指南

【译】Apache MINA 2.0 第一章 入门指南举报 只看楼主 发言楼主 ヅ虫虫ゎ 管理员 2014-01-23 14:34:18     第一章,我们将会告诉你什么是MINA,什么是NIO,我们为什么在NIO基础上研发一种框架以及里面你会发现什么。我们还将向你展示如何运行一个非常简单的MINA示例服

2016-09-28 18:10:33 370

转载 Mina知识汇集

一、什么是MINA  MINA是Multipurpose Infrastructure Networked Applications的首字符缩写,直译过来是“多目的基础设施网络应用程序”,它是一个Apache的顶级开源项目,目的是为了帮助开发人员简化网络程序的开发,把注意力集中在业务逻辑上。它的整体架构如下:     从架构图上,我们可以看到各个组件的功能如下:  

2016-09-28 17:03:57 415

转载 mina(二)

在mina的源码,整个框架最核心的几个包是 :org.apache.mina.core.service :IoService、IoProcessor、IoHandler、IoAcceptor、IoConnectororg.apache.mina.core.sessionorg.apache.mina.core.pollingorg.apache.mina.transport.socket

2016-09-27 23:31:31 294

转载 mina(一)

Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。Mina包的简介:org.apache.mina.core.buffer用于缓冲区的IoBufferorg.apache.mina.core.serviceorg.

2016-09-27 23:30:19 288

转载 mina框架详解

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Mina 主要有1.x 和

2016-09-27 23:24:27 1257

转载 java nio原理和通信模型

Java NIO是在jdk1.4开始使用的,它既可以说成“新IO”,也可以说成非阻塞式I/O。下面是java NIO的工作原理:由一个专门的线程来处理所有的IO事件,并负责分发。事件驱动机制:事件到的时候触发,而不是同步的去监视事件。线程通讯:线程之间通过wait,notify等方式通讯。保证每次上下文切换都是有意义的。减少无谓的线程切换。阅读过一些资料之后,下

2016-09-27 16:56:31 371

转载 全面学习java nio

本文简介: JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并考察更新后的库中的标准 I/O 是如何工作的。您还将了解只能通过 NIO 来完成的工作,如异步 I/O 和直接缓冲区。◆  输入/输出:概念性描述

2016-09-27 13:14:19 281

转载 java nio与IO区别

传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 

2016-09-26 20:41:24 168

转载 java nio

Java NIO与IO的区别和比较导读J2SE1.4以上版本中发布了全新的I/O类库。本文将通过一些实例来简单介绍NIO库提供的一些新特性:非阻塞I/O,字符转换,缓冲以及通道。一. 介绍NIONIO包(java.nio.*)引入了四个关键的抽象数据类型,它们共同解决传统的I/O类中的一些问题。1. Buffer:它是包含数据且用于读写的线形表结构。其中还提供了一个特殊

2016-09-26 20:20:33 167

转载 Java NIO原理图文分析及代码实现

Java NIO原理图文分析及代码实现 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoop的RPC机制的实现主要用到了两个技术:

2016-09-25 23:13:56 168

转载 Java io nio

Java IO在Client/Server模型中,Server往往需要同时处理大量来自Client的访问请求,因此Server端需采用支持高并发访问的架构。一种简单而又直接的解决方案是“one-thread-per-connection”。这是一种基于阻塞式I/O的多线程模型。在该模型中,Server为每个Client连接创建一个处理线程,每个处理线程阻塞式等待可能达到的数据,一旦数据到达

2016-09-25 23:00:36 235

转载 Java String对象问题

最近在论坛上看到关于String s = new String("XYZ") + new String("XYZ");到底创建几个对象的讨论,觉得比较有意思,在此总结一下。 在JAVA中除了8种基本类型之外,其他的都是类对象及其引用。所以 "XYZ"在JAVA中是一个String对象,对于String类对象来说它的对象值是不能修改的,也就是具有不变性。 但是在下面一

2016-09-25 22:44:54 162

转载 Java中的i=i++

Java的JVM剖析:在jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区。 语句istore_1是将堆栈中的值弹出存入相应的变量区(赋值);语句iload_1是将变量区中的值暂存如堆栈中。 因为i = i++;是先将i的值(0)存入堆栈,然后对变量区中的i自加1,这时i的值的确是1,但是随后的istore_1又将堆栈的值(0)弹出赋给变量区的i,所以

2016-09-25 22:36:09 332

转载 Java synchronized 理解

搞清楚 synchronized 锁定的是哪个对象,就能帮助我们设计更安全的多线程程序●首先是synchronized关键字的作用域可以有两种:・某个对象实例内synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线 程访问了其中的一个synchronized方

2016-09-25 22:18:15 169

转载 Java NIO四()

在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为每个客户端请求建立一个线程,由该线程单独负责处理一个客户请求。这种模式带来的一个问题就

2016-09-25 22:10:02 180

转载 Java NIO(三)

在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等。在本文中我们来看一下缓冲区一些更细节的内容。缓冲区的分配在前面的几个例子中,我们已经看过了,在创建一个缓冲区对象时,会调用静态方法allocate()来指定缓冲区的容量,其实调用 allocate()相当于创建了一个指定大小的数组,并把它包

2016-09-25 20:50:28 431

数据仓库基础.rar

学习数据仓库

2019-10-10

ZooKeeper-分布式过程协同技术详解.rar

入门的zookeeper教程、

2019-10-10

mysql-connector-java-5.1.33-bin.src

mysql链接驱动源码

2016-11-06

向ios推送消息

轻松向IOS设备发送推送,Java实现

2016-10-14

poi导出office文件

poi导出office文件

2016-10-09

jfreechart所需的jar文件

jfreechart所需的jar文件

2016-10-09

发送短信的jar文件

发送短信的jar文件

2016-10-07

Java nio源码

Java nio源码

2016-10-07

Java spring源码

Java spring源码

2016-10-07

基于中国网建发送短信的源码

基于中国网建发送短信的源码

2016-10-07

Java mina2源码

mina2源码

2016-10-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除