Java nio(四)》的相关内容

请问Java网络编程如何在不使用多线程的情况下实现异步返回?

我指的是在不使用多线程的情况下进行并发处理 具体的情况是,在不使用多线程的情况下,服务器侦听某个端口,在有连接进来的时候会调用某个函数对此连接进行处理,但是由于处理的过程可能会比较长,为了不让后面连接的用户等待,需要此函数能异步返回,而不是阻塞在这个函数。 之所以希望不使用多线程,是因为考虑到同时连接的用户数会比较多,如果用多线程的话,线程创建,销毁和切换的开销会太大。虽然可以使用线程池,但是 ...
by ssnake 2007-09-29 浏览 (995) 回复 (4) 关键字: 网络编程

高性能的HTTP引擎—— Grizzly(一) NIO简介

NIO简介 作为Java EE Web层面的最前端,HTTP引擎是负责接收客户请求的最开始的部分,这部分的性能在很大程度上决定了整个Java EE产品的性能和可扩展性。回顾现有的J2EE产品,大部分的HTTP引擎都不是用纯Java编写的。例如,Sun的JES应用服务器内置了一个用本地语言(C/C++)开发Web服务器,JBoss的Web Server也不是纯Java的,它使用了大量与平台相关的运行 ...
by sasion 2008-03-20 浏览 (926) 回复 (0) 关键字:

使用Java NIO编写高性能的服务器

从JDK 1.4开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。 说来惭愧,直到JDK1 ...
by tenyears 2006-12-24 浏览 (5074) 回复 (2) 关键字: java nio

tomcat6使用NIO后ThreadLocal不再灵光?

http://www.jdon.com/jivejdon/thread/24664.html fangshun 写道使用ThreadLocal可以大量减少参数的传递,可以使代码简洁,但是一定要明白,一个线程会绑定多个自己定义的局部对象,ThreadLocal是抽象在线程上的对象创建工厂,目前的Tomcat5使用了线程池,一个线程处理一个request,这样ThreadLocal对象可以抽象的绑定 ...
by liusong1111 2007-04-27 浏览 (8594) 回复 (27) 关键字: threadlocal

高性能的HTTP引擎—— Grizzly(三) Grizzly的特点

对企业级的服务器软件,高性能和可扩展性是基本的要求。除此之外,还应该有应对各种不同环境的能力。例如,一个好的服务器软件不应该假设所有的客户端都有很快的处理能力和很好的网络环境。如果一个客户端的运行速度很慢,或者网络速度很慢,这就意味着整个请求的时间变长。而对于服务器来说,这就意味着这个客户端的请求将占用更长的时间。这个时间的延迟不是由服务器造成的,因此CPU的占用不会增加什么,但是网络连接的时间会 ...
by sasion 2008-03-20 浏览 (876) 回复 (1) 关键字:

用java.nio.*进行网络编程

转载:http://java.chinaitlab.com/net/522829.html 前言     因为打算用java编写异步通信的server和client程序,笔者便学习使用java.nio 开发包,其间遇到一些问题,上网却发现网上对它的应用描述的不是很多。所以,笔者不惜班门弄斧,做些简单的讨论,以便大家更进一步的讨论。 对相关类的简单介绍 &nb ...
by wenzhihua1983 2007-08-27 浏览 (257) 回复 (0) 关键字: nio网络编程

nio

因为打算用java编写异步通信的server和client程序,笔者便学习使用java.nio 开发包,其间遇到一些问题,上网却发现网上对它的应用描述的不是很多。所以,笔者不惜班门弄斧,做些简单的讨论,以便大家更进一步的讨论。 对相关类的简单介绍 java.nio.*, 据说它提供了一些更加底层的一些功能,如:类似windows环境下的 AsyncSocket类的异步操作的功能,能显著降低 ...
by bat0906 2008-05-13 浏览 (66) 回复 (0) 关键字:

MINA Begin

1. 传统Socket:阻塞式通信在java传统socket技术中,每建立一个Socket连接时,须同时创建一个新线程对该Socket进行单独通信(采用阻塞的方式通信)。这种方式具有很高的响应速度,并且控制起来也很简单,在连接数较少的时候非常有效,但是如果对每一个连接都产生一个线程无疑是对系统资源的一种浪费,如果连接数较多将会出现资源不足的情况。下面的代码就说明了这一点。a) server cod ...
by lanmh 2008-07-22 浏览 (23) 回复 (0) 关键字:

[转贴]Java NIO API详解

原文出处:http://blog.csdn.net/daijialin/archive/2004/12/27/231384.aspx 作者:DaiJiaLin mailto:woodydai@gmail.com http://blog.csdn.net/DaiJiaLin --------------------------------------- ...
by lee5593 2007-06-07 浏览 (757) 回复 (0) 关键字: java nio

浅谈JavaNIO使用

  代碼分爲客戶端、服務端以及調試代碼 客戶端: package test.nio.tcp; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetSocketAddress; import java.n ...
by szuyork 2007-04-10 浏览 (1048) 回复 (0) 关键字: Java技术

问个socket的问题。

在写socket程序的时候,现在出现了一个问题。具体的是什么原因,没有找到。google上和论坛里都没有找到。请大人们帮忙解决。问题是这样的:一个Server端。一个Client端。Server接收数据时候,因为client端的socket关闭了。(是我手动关闭的,用来模拟数据传输失败的场景),结果Server端的程序都死掉了。实在是找不出原因。本人采用的操作系统:Server端是红帽企业版3.0 ...
by RyanPoy 2007-06-12 浏览 (2198) 回复 (14)

消息中间件及WebSphere MQ入门

阅读提示:通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 消息中间件概述 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 在分布式计算环境中,为了集成分布式应 ...
by IBM文章编辑 2007-08-06 浏览 (2038) 回复 (0)

c10k问题

The C10K problem 编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。应当抛弃它们,采用epoll/kqueue/dev_poll来捕获I/O事件。最后简要介绍了AIO。 网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被称为 C10K问题。随着互联网的迅速发展,越来越多的网络服务开始面临C10K问题,作为大型 网站的开发人员有 ...
by dogstar 2008-05-29 浏览 (299) 回复 (1)

由weblogic.servlet.FutureResponseServlet引发的思考

FutureResponseServlet 和 FutureServletResponse 的特性令人咂舌. Look! import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import java.util.Stack; import javax.servlet.Servle ...
by apolloty 2007-11-08 浏览 (397) 回复 (0)

基于Spindle的增强HTTP Spider

构建于lucene之上的可用的Java开源Spider少之又少,spindle长期没有更新且功能不够完善,故而自己参考其源 代码重新编写了一个可扩展的WebCrawler,本着开源共享,共同进步的想法发布于此,期冀得到大家的批评指正, 有任何意见及建议均可Email联系我(kaninebruno@hotmail.com) 以下代码基于lucene-2.3.1,htmlparser-1.6, ...
by brunoplum 2008-04-01 浏览 (1226) 回复 (6) 关键字: spindle

SPProcPool 0.5 发布

SPProcPool 是一个 linux/unix 平台上的进程池服务器框架,使用 c++ 实现。 在 0.5 版中增加了一个类似 apache worker 的服务器模型。在之前 Leader/Follower 模型的基础上,在每个子进程中使用一个固定大小的线程池来为每个请求服务。这个模型的特点是能够支持较高的并发连接数。 项目主页: http://code.google.com/p/spp ...
by iunknown 2008-01-05 浏览 (359) 回复 (0) 关键字: 进程池 prefork

推荐知识库条目

Comming soon