- 浏览: 677006 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (254)
- java分布式应用架构 (22)
- SSH框架整合 (6)
- java web 学习笔记 (49)
- java 学习笔记 (56)
- struts 2 学习 (6)
- Hibernate学习 (10)
- spring 学习 (2)
- 客户端编程(javascript) (4)
- IDE使用 (13)
- 生命 人生 (6)
- 系统维护 (3)
- 技术篇 (10)
- MySql (2)
- J2ME (1)
- java网络编程 (4)
- 数据库 (5)
- C/C++ (8)
- Oracle (7)
- 软件测试 (0)
- 软件的安装和部署 (0)
- Java快讯 (1)
- swt (1)
- Flex (1)
- 软件工程 (1)
- PostgreSQL (1)
- sql server2000 (2)
- 嵌入式数据库sqlite (5)
- J2EE (1)
- XML (1)
- ibatis3(MyBatis) (6)
- Linux&Unix (1)
- velocity (1)
- 回报社会 (4)
- 软件项目管理 (3)
- android研究 (3)
- C# (2)
- Objective-C (1)
- 音乐 (0)
- webx (1)
- JMS (1)
- maven软件项目管理 (1)
- 分布式服务 (0)
- 云平台 (0)
- 分布式存储 (1)
- 分布式系统架构 (0)
- 移动互联网 (1)
- ZooKeeper (1)
最新评论
-
liyys:
楼主,可不可以发这个项目的源码工程出来分享一下,少了几个类。楼 ...
仿照Hibernate实现一个SQLite的ORM框架 -
liyys:
少了一些类的源码没有粘贴出来
仿照Hibernate实现一个SQLite的ORM框架 -
honglei0412:
我使用的是这种方式获取db文件的目录但是 URL p = Fi ...
使用sqlite注意事项 -
honglei0412:
大侠 能不能说明下DbFile您是怎么做的吗?
使用sqlite注意事项 -
ahack:
刚写完mapping才发现早就有人写好了。仔细一看还都是针对的 ...
仿照Hibernate实现一个SQLite的ORM框架
1.Jboss Netty项目-优秀的NIO框架
下载http://www.jboss.org/netty/downloads.html
简介http://www.jboss.org/netty
Jboss的Netty项目旨在提供异步驱动的网络应用程序的框架和工具, 可以用于快速开发, 可方便维护的、高性能的、高扩展性的服务器/客户端之间的通迅协议。
Plurk是一个快速成长,并且已经成为互联网上最大的几个使用python语言的网站之之一,Plurk尝试了以下一些框架/web容器:
Python Twisted:太耗资源了
Jetty:iGoogle的web容器,可惜一万并发的时候用了2G的内存
Apache Tomcat:太吃内存了
Apache MINA:文档很糟糕,可扩展性很差
最后,Plurk发现Netty非常优秀, 在一台四核的服务器上,10万的并发只用了some GB的内存和20%左右的CPU
JBoss社区最近发布了Netty 3.1.0,为用户提供了编写客户/服务网络应用的另一选择。Netty自称是:
一款异步的事件驱动的网络应用框架和工具,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。也就是说,Netty是一个NIO客户端/服务器框架,支持快速、简单地开发网络应用,如协议服务器和客户端。它极大简化了网络编程,如TCP和UDP套接字服务器。
关于Netty的分类,它与Apache Mina和Grizzly属于同一舞台。该最新版本包含了一系列功能和性能、API可用性的增强。其中包括:
* 更简单的大数据流(例子)
* 更多可靠的OutOfMemoryError预防机制
* 新的传输
o 基于OIO和NIO的UDP传输
o VM内传输
o HTTP隧道
* 与Google Protocol Buffers集成
* 与JBoss Microcontainer、OSGI、Guice和Spring集成
HTTP隧道功能满足了用户的迫切需求,在早期发布说明中总结到:
HTTP隧道传输(位于org.jboss.netty.channel.socket.http)是一种套接字传输,支持任意已经存在的套接字应用在HTTP之上通过代理传输。这种传输在需要越过防火墙而不修改现存服务器应用时特别有用。工作原理如下:
Http隧道客户端套接字通道 --> 对HTTP友好的防火墙 --> Servlet容器 (如Tomcat、Jetty) --> Http隧道Servlet --> 你的服务器应用
当然在选择一个框架用于开发网络应用时,性能和可扩展性是重要因素。Netty团队在他们的网站上提供了性能信息。你也可以在Apache Mina网站上找到它的性能数据。Nicholas Hagen发布了一系列博文,记录了他如何选择 Mina、Grizzly或者Netty。最终他决定选用Netty,不过指出:
总的来说,在性能、内存和功能使用方面,我倾向于Netty,而不是Mina和Grizzly。请注意你需要通过自己的分析来决定哪种框架适合你的需求。
Netty下一版本3.2.0,目前正在开发过程中。
JBoss社区最近发布了Netty 3.1.0,为用户提供了编写客户/服务网络应用的另一选择。Netty自称是:
一款异步的事件驱动的网络应用框架和工具,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。也就是说,Netty是一个NIO客户端/服务器框架,支持快速、简单地开发网络应用,如协议服务器和客户端。它极大简化了网络编程,如TCP和UDP套接字服务器。
关于Netty的分类,它与Apache Mina和Grizzly属于同一舞台。该最新版本包含了一系列功能和性能、API可用性的增强。其中包括:
* 更简单的大数据流(例子)
* 更多可靠的OutOfMemoryError预防机制
* 新的传输
o 基于OIO和NIO的UDP传输
o VM内传输
o HTTP隧道
* 与Google Protocol Buffers集成
* 与JBoss Microcontainer、OSGI、Guice和Spring集成
HTTP隧道功能满足了用户的迫切需求,在早期发布说明中总结到:
HTTP隧道传输(位于org.jboss.netty.channel.socket.http)是一种套接字传输,支持任意已经存在的套接字应用在HTTP之上通过代理传输。这种传输在需要越过防火墙而不修改现存服务器应用时特别有用。工作原理如下:
Http隧道客户端套接字通道 --> 对HTTP友好的防火墙 --> Servlet容器 (如Tomcat、Jetty) --> Http隧道Servlet --> 你的服务器应用
当然在选择一个框架用于开发网络应用时,性能和可扩展性是重要因素。Netty团队在他们的网站上提供了性能信息。你也可以在Apache Mina网站上找到它的性能数据。Nicholas Hagen发布了一系列博文,记录了他如何选择 Mina、Grizzly或者Netty。最终他决定选用Netty,不过指出:
总的来说,在性能、内存和功能使用方面,我倾向于Netty,而不是Mina和Grizzly。请注意你需要通过自己的分析来决定哪种框架适合你的需求。
Netty下一版本3.2.0,目前正在开发过程中,路线图可以在这里查看。
此版本的主要更新:
处理大容量数据流更简单
处理协议编码和单元测试更简单
I/O超时和idle状态检测
应用程序的关闭更简单,更安全
更可靠的OutOfMemoryError预防
新的传输方式:
1.基于OIO和NIO的UDP传输
2.本地传输(又名 in-VM传输)
3.HTTP通道,可绕过防火墙
新的编码器:
1.HTTP客户端和服务器端
2.用于实现各种专有协议的工具
与其他技术的整合:
1.Google Protocol Buffers
2.JBoss Microcontainer, OSGi, Guice以及Spring
2、apache mina
下载http://mina.apache.org/downloads.html
下载http://www.jboss.org/netty/downloads.html
简介http://www.jboss.org/netty
Jboss的Netty项目旨在提供异步驱动的网络应用程序的框架和工具, 可以用于快速开发, 可方便维护的、高性能的、高扩展性的服务器/客户端之间的通迅协议。
Plurk是一个快速成长,并且已经成为互联网上最大的几个使用python语言的网站之之一,Plurk尝试了以下一些框架/web容器:
Python Twisted:太耗资源了
Jetty:iGoogle的web容器,可惜一万并发的时候用了2G的内存
Apache Tomcat:太吃内存了
Apache MINA:文档很糟糕,可扩展性很差
最后,Plurk发现Netty非常优秀, 在一台四核的服务器上,10万的并发只用了some GB的内存和20%左右的CPU
JBoss社区最近发布了Netty 3.1.0,为用户提供了编写客户/服务网络应用的另一选择。Netty自称是:
一款异步的事件驱动的网络应用框架和工具,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。也就是说,Netty是一个NIO客户端/服务器框架,支持快速、简单地开发网络应用,如协议服务器和客户端。它极大简化了网络编程,如TCP和UDP套接字服务器。
关于Netty的分类,它与Apache Mina和Grizzly属于同一舞台。该最新版本包含了一系列功能和性能、API可用性的增强。其中包括:
* 更简单的大数据流(例子)
* 更多可靠的OutOfMemoryError预防机制
* 新的传输
o 基于OIO和NIO的UDP传输
o VM内传输
o HTTP隧道
* 与Google Protocol Buffers集成
* 与JBoss Microcontainer、OSGI、Guice和Spring集成
HTTP隧道功能满足了用户的迫切需求,在早期发布说明中总结到:
HTTP隧道传输(位于org.jboss.netty.channel.socket.http)是一种套接字传输,支持任意已经存在的套接字应用在HTTP之上通过代理传输。这种传输在需要越过防火墙而不修改现存服务器应用时特别有用。工作原理如下:
Http隧道客户端套接字通道 --> 对HTTP友好的防火墙 --> Servlet容器 (如Tomcat、Jetty) --> Http隧道Servlet --> 你的服务器应用
当然在选择一个框架用于开发网络应用时,性能和可扩展性是重要因素。Netty团队在他们的网站上提供了性能信息。你也可以在Apache Mina网站上找到它的性能数据。Nicholas Hagen发布了一系列博文,记录了他如何选择 Mina、Grizzly或者Netty。最终他决定选用Netty,不过指出:
总的来说,在性能、内存和功能使用方面,我倾向于Netty,而不是Mina和Grizzly。请注意你需要通过自己的分析来决定哪种框架适合你的需求。
Netty下一版本3.2.0,目前正在开发过程中。
JBoss社区最近发布了Netty 3.1.0,为用户提供了编写客户/服务网络应用的另一选择。Netty自称是:
一款异步的事件驱动的网络应用框架和工具,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。也就是说,Netty是一个NIO客户端/服务器框架,支持快速、简单地开发网络应用,如协议服务器和客户端。它极大简化了网络编程,如TCP和UDP套接字服务器。
关于Netty的分类,它与Apache Mina和Grizzly属于同一舞台。该最新版本包含了一系列功能和性能、API可用性的增强。其中包括:
* 更简单的大数据流(例子)
* 更多可靠的OutOfMemoryError预防机制
* 新的传输
o 基于OIO和NIO的UDP传输
o VM内传输
o HTTP隧道
* 与Google Protocol Buffers集成
* 与JBoss Microcontainer、OSGI、Guice和Spring集成
HTTP隧道功能满足了用户的迫切需求,在早期发布说明中总结到:
HTTP隧道传输(位于org.jboss.netty.channel.socket.http)是一种套接字传输,支持任意已经存在的套接字应用在HTTP之上通过代理传输。这种传输在需要越过防火墙而不修改现存服务器应用时特别有用。工作原理如下:
Http隧道客户端套接字通道 --> 对HTTP友好的防火墙 --> Servlet容器 (如Tomcat、Jetty) --> Http隧道Servlet --> 你的服务器应用
当然在选择一个框架用于开发网络应用时,性能和可扩展性是重要因素。Netty团队在他们的网站上提供了性能信息。你也可以在Apache Mina网站上找到它的性能数据。Nicholas Hagen发布了一系列博文,记录了他如何选择 Mina、Grizzly或者Netty。最终他决定选用Netty,不过指出:
总的来说,在性能、内存和功能使用方面,我倾向于Netty,而不是Mina和Grizzly。请注意你需要通过自己的分析来决定哪种框架适合你的需求。
Netty下一版本3.2.0,目前正在开发过程中,路线图可以在这里查看。
此版本的主要更新:
处理大容量数据流更简单
处理协议编码和单元测试更简单
I/O超时和idle状态检测
应用程序的关闭更简单,更安全
更可靠的OutOfMemoryError预防
新的传输方式:
1.基于OIO和NIO的UDP传输
2.本地传输(又名 in-VM传输)
3.HTTP通道,可绕过防火墙
新的编码器:
1.HTTP客户端和服务器端
2.用于实现各种专有协议的工具
与其他技术的整合:
1.Google Protocol Buffers
2.JBoss Microcontainer, OSGi, Guice以及Spring
package example.helloword.server; import java.net.InetSocketAddress; import java.util.concurrent.Executors; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory; import example.helloword.NetConstant; public class Server { private static Server server = new Server(); private ServerBootstrap bootstrap; private Server() {} public static Server getInstance() { return server; } public void start() { bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), Executors .newCachedThreadPool())); bootstrap.setPipelineFactory(new ServerPipelineFactory()); bootstrap.bind(new InetSocketAddress(NetConstant.server_port)); } public void stop() { bootstrap.releaseExternalResources(); } public static void main(String[] args) { Server server = Server.getInstance(); server.start(); } }
package example.helloword.server; import static org.jboss.netty.channel.Channels.pipeline; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.handler.codec.string.StringDecoder; import org.jboss.netty.handler.codec.string.StringEncoder; public class ServerPipelineFactory implements ChannelPipelineFactory { public ChannelPipeline getPipeline() throws Exception { ChannelPipeline pipleline = pipeline(); pipleline.addLast("encode", new StringEncoder()); pipleline.addLast("decode", new StringDecoder()); pipleline.addLast("handler", new ServerHandler()); return pipleline; } }
package example.helloword.server; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.channel.ExceptionEvent; import org.jboss.netty.channel.MessageEvent; import org.jboss.netty.channel.SimpleChannelUpstreamHandler; public class ServerHandler extends SimpleChannelUpstreamHandler { public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { System.out.println("recive message,message content:" + e.getMessage()); e.getChannel().write("byte"); } public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception { e.getChannel().close(); } }
package example.helloword.client22; import static org.jboss.netty.channel.Channels.pipeline; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.handler.codec.frame.LengthFieldBasedFrameDecoder; import org.jboss.netty.handler.codec.frame.LengthFieldPrepender; import org.jboss.netty.handler.codec.string.StringDecoder; import org.jboss.netty.handler.codec.string.StringEncoder; public class ClientPipelineFactory implements ChannelPipelineFactory { public ChannelPipeline getPipeline() throws Exception { ChannelPipeline pipleline = pipeline(); pipleline.addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4)); pipleline.addLast("frameEncode", new LengthFieldPrepender(4, false)); pipleline.addLast("encode", new StringEncoder()); pipleline.addLast("decode", new StringDecoder()); pipleline.addLast("handler", new ClinetHandler()); return pipleline; } }
package example.helloword.client22; import java.net.InetSocketAddress; import java.util.concurrent.Executors; import org.jboss.netty.bootstrap.ClientBootstrap; import org.jboss.netty.channel.ChannelFuture; import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory; import example.helloword.NetConstant; import example.helloword.client2.ClientPipelineFactory; public class ClientPool { public static ClientPool clientPool = new ClientPool(); private ClientBootstrap bootstrap; private ClientPool() { bootstrap = new ClientBootstrap(new NioClientSocketChannelFactory( Executors.newCachedThreadPool(), Executors .newCachedThreadPool())); bootstrap.setPipelineFactory(new ClientPipelineFactory()); bootstrap.setOption("tcpNoDelay", true); bootstrap.setOption("keepAlive", true); } public static ClientPool getInstance() { return clientPool; } public void getChannelFuture(String host, int port, String message) { ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, NetConstant.server_port)); future.awaitUninterruptibly(); if (!future.isSuccess()) { future.getCause().printStackTrace(); future.getChannel().getCloseFuture().awaitUninterruptibly(); return; } future.getChannel().write(message); } public static void main(String[] args) throws InterruptedException { for (int i = 0; i < 1000; i++) { ClientPool.getInstance().getChannelFuture("127.0.0.1", 0, "test" + i); Thread.sleep(1000 * 3); } } }
2、apache mina
下载http://mina.apache.org/downloads.html
public class Test { public static void main(String[] args) throws IOException { HttpServer httpServer; httpServer = HttpServer.create(new InetSocketAddress(81), 5); httpServer.createContext("/", new Handler()); httpServer.start(); } static class Handler implements HttpHandler { public void handle(HttpExchange exchange) throws IOException { Headers requestHeaders = exchange.getRequestHeaders(); Headers responseHeaders = exchange.getResponseHeaders(); responseHeaders.set("Content-Type", "text/plain"); exchange.sendResponseHeaders(200, 0L); OutputStream responseBody = new BufferedOutputStream(exchange.getResponseBody(), 64*1024); responseBody.write("Hello!".getBytes()); responseBody.close(); exchange.close(); } } }
import java.net.InetSocketAddress; import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; import org.apache.mina.example.echoserver.ssl.BogusSslContextFactory; import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.SocketAcceptor; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; /** * (<b>Entry point</b>) Echo server * * @author The Apache MINA Project (dev@mina.apache.org) * @version $Rev: 677923 $, $Date: 2008-07-18 16:55:24 +0200 (Fri, 18 Jul 2008) $ */ public class Main { /** Choose your favorite port number. */ private static final int PORT = 8080; /** Set this to true if you want to make the server SSL */ private static final boolean USE_SSL = false; public static void main(String[] args) throws Exception { SocketAcceptor acceptor = new NioSocketAcceptor(); DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); // Bind acceptor.setHandler(new EchoProtocolHandler()); acceptor.bind(new InetSocketAddress(PORT)); System.out.println("Listening on port " + PORT); for (;;) { System.out.println("R: " + acceptor.getStatistics().getReadBytesThroughput() + ", W: " + acceptor.getStatistics().getWrittenBytesThroughput()); Thread.sleep(3000); } } }
import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.service.IoHandler; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.ssl.SslFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * {@link IoHandler} implementation for echo server. * * @author The Apache MINA Project (dev@mina.apache.org) * @version $Rev: 713957 $, $Date: 2008-11-14 10:27:16 +0100 (Fri, 14 Nov 2008) $, */ public class EchoProtocolHandler extends IoHandlerAdapter { private final Logger logger = LoggerFactory.getLogger(getClass()); @Override public void sessionCreated(IoSession session) { session.getConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10); // We're going to use SSL negotiation notification. session.setAttribute(SslFilter.USE_NOTIFICATION); } @Override public void sessionClosed(IoSession session) throws Exception { logger.info("CLOSED"); } @Override public void sessionOpened(IoSession session) throws Exception { logger.info("OPENED"); } @Override public void sessionIdle(IoSession session, IdleStatus status) { logger.info("*** IDLE #" + session.getIdleCount(IdleStatus.BOTH_IDLE) + " ***"); } @Override public void exceptionCaught(IoSession session, Throwable cause) { session.close(true); } @Override public void messageReceived(IoSession session, Object message) throws Exception { // Write the received data back to remote peer session.write(((IoBuffer) message).duplicate()); } }
public class Test { public static void main(String[] args) throws IOException { HttpServer httpServer; httpServer = HttpServer.create(new InetSocketAddress(81), 5); httpServer.createContext("/", new Handler()); httpServer.start(); } static class Handler implements HttpHandler { public void handle(HttpExchange exchange) throws IOException { Headers requestHeaders = exchange.getRequestHeaders(); Headers responseHeaders = exchange.getResponseHeaders(); responseHeaders.set("Content-Type", "text/plain"); exchange.sendResponseHeaders(200, 0L); OutputStream responseBody = new BufferedOutputStream(exchange.getResponseBody(), 64*1024); responseBody.write("Hello!".getBytes()); responseBody.close(); exchange.close(); } } }
- netty-3.2.5.Final-dist.zip (8.5 MB)
- 下载次数: 32
- apache-mina-2.0.4-src.zip (6.2 MB)
- 下载次数: 87
- mina-core-2.0.4.jar (629.8 KB)
- 下载次数: 21
- mina-example-2.0.4.jar (131.6 KB)
- 下载次数: 27
- mina-filter-compression-2.0.4.jar (12.4 KB)
- 下载次数: 13
- mina-integration-beans-2.0.4.jar (39.3 KB)
- 下载次数: 14
- mina-integration-jmx-2.0.4.jar (27.5 KB)
- 下载次数: 13
- mina-integration-ognl-2.0.4.jar (15.3 KB)
- 下载次数: 11
- mina-integration-xbean-2.0.4.jar (38.8 KB)
- 下载次数: 12
- mina-statemachine-2.0.4.jar (54.5 KB)
- 下载次数: 12
- mina-transport-apr-2.0.4.jar (30.5 KB)
- 下载次数: 14
- javassist-3.11.0.GA.jar (599.8 KB)
- 下载次数: 19
- javassist-3.7.ga.jar (531.3 KB)
- 下载次数: 15
- jcl-over-slf4j-1.6.1.jar (16.9 KB)
- 下载次数: 9
- jzlib-1.0.7.jar (47.4 KB)
- 下载次数: 8
- ognl-3.0.1.jar (224 KB)
- 下载次数: 7
- slf4j-api-1.6.1.jar (24.9 KB)
- 下载次数: 9
- tomcat-apr-5.5.23.jar (24.6 KB)
- 下载次数: 8
- spring-2.5.6.jar (2.8 MB)
- 下载次数: 8
- xbean-spring-3.7.jar (127.9 KB)
- 下载次数: 9
发表评论
-
Spring MVC集成velocity扩展
2013-07-23 17:18 32181、扩展velocity的视图 [code=" ... -
【分布式系统工程实现】CAP理论及系统一致性
2013-03-08 16:05 1005印象中CAP理论开始流行 ... -
【分布式系统工程实现】分布式事务
2013-03-08 16:03 1344CAP理论虽然告诉我们,一致性和可用性二者不可兼得,但这并不 ... -
用消息队列和消息应用状态表来消除分布式事务
2013-03-08 16:01 1236由于数据量的巨大,大 ... -
使用MBean获取tomcat和jboss端口
2012-04-10 21:29 2647/** * 根据协议和scheme获取服务端口号 ... -
淘宝网架构概述
2011-12-14 19:45 72众所周知,淘宝网是一 ... -
淘宝网的HttpClient工具
2011-11-23 21:02 47package com.taobao.pegasus.comm ... -
在Tomcat中通过JOTM支持JTA
2011-11-04 15:57 1825<?xml version='1.0' encoding ... -
sql server2005备份还原
2011-09-22 11:29 9311、先建立一个同名数据库,停止SQL SERVER2005 ... -
apache mina开发文件传输服务器
2011-09-19 18:03 7703服务器接收端 /** * */ package o ... -
使用 Apache MINA 2 开发网络应用
2011-09-19 10:01 1125简介: Apache MINA 2 是一个开发高性能和高可伸缩 ... -
HTTP上传工具
2011-09-14 11:36 1828package com.dayo.tool; impor ... -
定义一个java类型转换器
2011-09-09 19:48 13261、相关接口 package org.liufei.jweb. ... -
使用mina 作代理服务器例子
2011-09-07 14:38 2322import java.net.InetSocketAddre ... -
Java 通过 HTTP 下载文件
2011-09-07 14:35 1039package core.spider; import ... -
Java 的 HTTP 客户端 http4j 示例代码
2011-09-07 14:32 1415package com.google.code.http4j. ... -
获取IP地址
2011-09-07 13:41 2376public String getIpAddrByReques ... -
netty telnet 应用实例server代码
2011-09-07 12:21 1834public class TelnetServer { ... -
Netty中使用Apache Common FileUpload
2011-09-07 12:19 1247/** * 用Netty来实现上传 */ publi ... -
netty实现Socket NIO服务器
2011-09-06 15:58 8756package org.liufei.dccserver; ...
相关推荐
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
本系统是分布式聊天系统的核心,从零实现分布式,与各服务器之间使用socket通信。 系统主要采用Spring、Hibernate等框架,系统在数据交换采用json进行交换,同时在通信时,采用aes进行加密。 在聊天服务器加入本集群...
Boot-Jee是Java语言的分布式系统架构。 使用Spring整合开源框架。使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。封装监控、路由映射、基本公用数据操作、通信,目的是为了让开发者更加关注业务实现。
在企业级应用中,Java网络通信系统常用于构建分布式系统、微服务架构等,实现不同服务之间的通信和协作。 通过研究与开发Java网络通信系统,可以实现各种网络应用的需求,为用户提供稳定、高效的网络通信服务,促进...
Excavator(挖掘机)是一个分布式的Java RMI框架。(求项目使用,有兴趣的可以电邮oldmanpushcart@gmail.com) 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言...
Netty是一个高性能、异步的网络通信框架,它解决了JDK自带的NIO API使用复杂的问题,提供了更高的性能和更低的延迟。...通过学习Netty,可以提升我们的Java网络编程技能,为构建高性能的分布式系统打下坚实的基础。
socket通信实现,登录系统,玩家线程模型,db系统,分布式id生成器,分布式锁,缓存系统,热更新机制,rpc系统,全服组队等等组织结构gameserver├── client -- 测试用netty客户端├── rpc-api -- 提供分布式的rpc基础├...
##Distributed Sorting Framework 一个简单的容错/负载均衡的分布式排序框架###Design 这个 Sorting 框架有三个主要组件:Client、Server 和 ComputeNode 客户端 (src/Client.java) 用户与客户端 UI 交互,有两个...
为您提供iBase4J分布式系统下载,iBase4J是Java语言的分布式系统架构。使用Spring整合的开源框架。iBase4J特点:使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。系统包括4个子系统:系统管理Service、...
Ehcache 3.x:是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一 个gzip缓存servlet过滤器,支持REST和SOAP api等特点。...
这是如何使用异步通信进行事务处理的示例代码.. t0 - [Java8] - 带有 lambda 和流的最新 Java t1 - [Maven] - 用于依赖管理 t2 - [Spring Boot - Spring data] - 使用的框架 t3 - [轴突框架] - CQRS t4 - [Jackson] ...
iBase4J是Java语言的分布式系统架构。 使用Spring整合开源框架。 使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。 系统包括5个子系统:公共功能、系统管理Service、系统管理Web、业务Service、业务Web...
无锁异步化、事件驱动架构设计的 java netty 网络编程框架; 轻量级,无需依赖任何第三方中间件或数据库就能支持集群、分布式; 适用于网络游戏服务器、物联网、内部系统及各种需要长连接的场景; 通过 ioGame 你...
摘要随着网络技术的发展,越来越多的项目采用了分布式的系统架构。对于这些把系统中的任务分配到不同计算机的架构来说,采用哪种方式在系统中不同的计算机之间进行通信十分
Zookeeper 分布式系统的基石 从0开始搭建3个节点额度zookeeper集群 深入分析Zookeeper在disconf配置中心的应用 基于Zookeeper Watcher 核心机制深入源码分析 Zookeeper集群升级、迁移 基于Zookeeper实现分布式...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
iBase4J是Java语言的分布式系统架构。 使用Spring整合开源框架。 使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。 系统包括4个子系统:系统管理Service、系统管理Web、业务Service、业务Web。 系统...
Service Comb 是华为开发的一个可以支持多语言的开发框架,目前可以支持 Go Java开发语言。 Service Mesh 是一种基于基础设施层、实现服务之间快速通信的新的微服务开发技术。 Spring Cloud 是在应用层实现微服务...
iBase4J是Java语言的分布式系统架构。 使用Spring整合开源框架。 使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。 系统包括5个子系统:公共功能、系统管理Service、系统管理Web、业务Service、业务Web...
操作系统:LInux、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信...