使用高效的日志工具—Log4J

大家在编程时经常不可避免地要使用到一些日志操作,比如开发阶段的调试信息、运行时的日志记录及审计。调查显示,日志代码占代码总量的4%。通常大家可以简单地使用System.out.println()语句输出日志信息,但是往往会有一些判断,比如: if (someCondition) {System.out.println("some information.");}这些判断造成正常的程序 …… 阅读全文

为高速网络使用select

摘要:转载:转载请保留本信息,本文来自http://www.matrix.org.cn/resource/article/0/437.html 概要:J2SE1.4加入了新的I/O库(NIO)允许在Java应用中使用高速I/O。IO使用了新的I/O模型,它与原有的I/O库使用的模型有着很大区别。这篇文章将一步一步教您使用NIO库中的select工具。select使您的服务器可以处理来自多个连接 …… 阅读全文

使用Java NIO提高服务端程序的性能

在前面的章节里,我们讨论了Java NIO的基本概念,在这一节里,我们将结合具体的Java Socket编程,讨论使用NIO提高服务端程序的性能的问题。 Java NIO增加了新的SocketChannel、ServerSocketChannel等类来提供对构建高性能的服务端程序的支持。 SocketChannel、ServerSocketChannel能够在非阻塞的模式下工作,它们都是s …… 阅读全文

非阻塞套接字(Nonblocking Sockets) 概述

摘要:文章工具收藏投票评分发表评论复制链接Giuseppe Naccarato 著   张明星 译09/04/2002非阻塞套接字(Nonblocking sockets),自J2SE 1.4版引入,它允许网络通信在应用程序和没有阻塞的进程中使用套接字。在这篇文章中,将详细介绍什么是Nonblocking sockets,怎样工作及其用途。由于JSR …… 阅读全文

Java网络服务器编程(NIO版)

从Java 1.4开始提供的NIO API常用于开发高性能网络服务器,本文演示了如何用这个API开发一个TCP Echo Server。 Java网络服务器编程一文演示了如何使用Java的Socket API编写一个简单的TCP Echo Server。其阻塞式IO的处理方式虽然简单,但每个客户端都需要一个单独的Thread来处理,当服务器需要同时处理大 …… 阅读全文

Java NIO API详解

在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供异步(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。 NIO AP …… 阅读全文

Java线程模型缺陷研究

Java 编程语言的线程模型可能是此语言中最薄弱的部分。它完全不适合实际复杂程序的要求,而且也完全不是面向对象的。本文建议对 Java 语言进行重大修改和补充,以解决这些问题。   Java 语言的线程模型是此语言的一个最难另人满意的部分。尽管 Java 语言本身就支持线程编程是件好事,但是它对线程的语法和类包的支持太少,只能适用于极小型的应用环境。   关于 Java 线程编程的大多数书籍都长篇 …… 阅读全文

多人在线游戏开发心得(服务器端)

bromon原创 版权所有  一个多人在线的棋牌类网络游戏的项目临近尾声,我参与了该项目的整个设计流程,并且完成了90%的核心代码。关于这个项目,有很多地方值得聊一聊。本系列不打算把这个项目将得多么详细规范,那是设计文档应该描述的,我打算只说说一些值得注意的地方。这个项目的一个特别之处是,客户端是手机,用户通过移动网络与服务器通信。和PC相比,手机的处理能力极弱,而且网络流量费用昂贵。因为除了要考 …… 阅读全文