`

使用J2SE进行服务器架构技术选型的变迁

阅读更多

    

 

虽然现在对大多数程序员来讲,基本不会再有使用Java开发一个服务器这样的任务,但是,这方面的技术研究一下,对自己的技术提高还是非常有帮助的。说不定啥时候能派上用场。

 

使用Java(J2SE)来设计服务器产品(不使用开源或其他已有产品)的架构,随着Java的不断发展,这几年也发生了很大变化。在JDK1.4之前,使用Java构建服务器应用本身就很少,所以这里也就不提了,我们从JDK1.4开始说。

 

第一阶段:

 

要点是:一个连接一个线程

 

 



 

 

 

阶段2:

服务器端采用了线程池

 



 

 

 

阶段1和阶段2虽然简单,但是很实用,在很多场景下仍然是第一选择。而且编程模型业内非常简单。

 

阶段3:采用非阻塞IO,多路复用技术,又有两种不同的方式

 





 
 
 

 

 



 

 

 

 

这种方式很重要的一点就是在IO事件发生时得到通知,由程序进行处理。

 

NIO给编程带来了很大的复杂度,使用NIO开发非常不容易,也很容易犯错误,所以,采用别人的框架是一个简单而自然的选择,采用grizzly和mina都很不错,对通用的场景都能满足要求。这里提醒一下,不管mina和grizzly,都有一些你不想用的特性,干扰你想用的功能,需要小心对待,最好自己也能处理mina和grizzly的bug,改进这些框架的功能。

 

再有,给予NIO来开发SSL也很复杂。

 

第四阶段:使用AIO技术

 



 

 

 

 

AIO最大的特性就是事前先设置好事件的回调函数,事件发生时自动调用回调。而且,得到的通知是“IO操作完成”,而不是NIO的“IO操作即将开始”。

 

使用AIO,在上层开发SSL也也很麻烦。

 

 

  • 大小: 46.7 KB
  • 大小: 57.6 KB
  • 大小: 54.4 KB
  • 大小: 56.6 KB
  • 大小: 53 KB
0
1
分享到:
评论

相关推荐

    j2se5.rar_J2SE 架构_j2se

    Java 2 Platform, Standard Edition(J2SE)是Java开发平台的一个重要组成部分,主要针对桌面应用和服务器端应用的开发。这个平台包含了Java语言的核心库,提供了基础的类库、API以及运行时环境,使得开发者能够创建...

    jboss源代码 java源代码 j2se服务器源码

    JBoss是著名的开源Java应用服务器,它基于J2EE(Java 2 Platform, Enterprise Edition)规范,提供了多种服务,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JPA(Java Persistence API)等。...

    J2SE核心技术基础(上).zip

    J2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zipJ2SE核心技术基础(上).zip

    (java)J2SE_核心技术基础

    Java J2SE(Java Standard Edition)是Java平台的核心部分,主要面向桌面应用和服务器端开发。它是Java技术的基础,提供了丰富的API和工具,使得开发者能够创建高性能、跨平台的应用程序。本教程“J2SE_核心技术基础...

    J2SE进阶(技术提高)

    "J2SE 进阶(技术提高)"这个主题意味着我们将深入探讨 J2SE 的高级特性,旨在帮助初学者提升技能,实现技术飞跃。 首先,我们要了解 J2SE 的核心概念。Java 编程语言以其“一次编写,到处运行”的特性闻名,这得益...

    实验1 JAVA开发环境J2SE实验报告.doc

    在本实验中,我们学习了JAVA开发环境J2SE的基本概念和使用方法,并掌握了下载和安装J2SE开发工具的方法,熟悉了J2SE开发工具的使用,编写了简单的Java Application和Java Applet程序,了解了Java源代码、字节码文件...

    J2SE_API J2SE_API

    J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API

    j2se6中文网页版

    本资源“j2se6中文网页版”显然是一个中文版的J2SE 6 API文档,旨在帮助中国开发者更方便地理解和使用Java编程语言。 1. **Java API**:Java API是Java平台的核心,包含了大量预定义的类库,如集合框架、I/O流、...

    J2SE.rar_j2me_j2se

    Java 2 Platform, Standard Edition(简称J2SE)是Java平台的核心部分,它为开发和部署桌面应用、服务器端应用以及应用程序提供基础架构。J2SE是Java技术的基础,为其他两个版本——Java 2 Platform, Micro Edition ...

    j2se程序在MyEclipse下使用

    以下将详细介绍如何在MyEclipse中进行J2SE程序的开发和管理。 1. **安装MyEclipse** 首先,你需要下载并安装MyEclipse。确保选择支持J2SE开发的版本。安装过程中,遵循向导步骤,并配置好Java SDK的路径,因为...

    J2SE基础源代码

    Java Standard Edition(J2SE)是Java平台的核心部分,它为开发和运行桌面应用程序、服务器应用程序和嵌入式系统提供了基础。J2SE包含了Java语言的语法、类库以及运行时环境,使得开发者能够创建可移植性强、安全性...

    使用j2se写的java版90坦克

    《使用j2se写的java版90坦克:深入解析与技术要点》 在Java编程领域,J2SE(Java 2 Platform, Standard Edition)是基础,它提供了开发和运行桌面应用的基本工具。本项目——“使用j2se写的java版90坦克”,是基于...

    JDK、J2EE、J2SE、J2ME概念详解

    J2EE建立在J2SE之上,增加了大量用于构建分布式、多层架构的企业应用的服务和API,包括Servlet、JSP、EJB、JNDI、JMS、RMI-IIOP等。这些技术使得开发者能够构建复杂的B/S架构应用,同时提供对事务管理、持久化、远程...

    J2SE 中文帮助文档

    **J2SE(Java 2 Platform, Standard Edition)是Java平台的标准版,是Java开发工具和技术的基础,主要用于桌面应用的开发。它包含了Java语言的核心库,如基础类库、I/O、网络编程、多线程、集合框架等,以及一些核心...

    J2SE基础知识大全

    以下将详细阐述J2SE中的关键概念和技术。 1. **Java语言基础** - **语法**:包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制(如if语句、for循环、while循环)、异常处理等。 - **类与对象**:...

    j2se_中文版

    Java 2 Platform, Standard Edition(J2SE)是Java开发平台的一个重要组成部分,主要用于桌面应用和服务器端开发。中文版的J2SE API文档对于中国开发者来说尤其方便,它提供了全面的API参考,帮助理解并使用Java编程...

    J2SE资料

    Java Standard Edition(简称J2SE)是Java平台的核心部分,用于桌面应用和服务器端开发。这份"J2SE资料"包含的两个PDF文件——"J2SE第一部分.pdf"和"J2SE第二部分.pdf",很可能是针对J2SE的全面学习教程,涵盖了从...

    j2se1.5中文api

    《J2SE1.5中文API详解》 Java 2 Platform, Standard Edition (J2SE) 1.5,也被称为...通过深入理解这些特性,开发者可以更好地利用Java 5.0进行软件开发,特别是对于手机开发等移动领域,J2SE 1.5的这些改进至关重要。

    J2SE复习源代码

    Java 2 Standard Edition(J2SE)是Java平台的核心部分,用于开发和运行桌面应用程序、服务器端应用以及嵌入式系统。本复习源代码涵盖了多个关键知识点,旨在帮助开发者巩固和提升在J2SE中的技能。 1. **常用类**:...

    学好j2se的标准

    学好J2SE是成为Java开发者的基石,它涵盖了Java编程语言的核心概念和技术。以下是对J2SE学习标准的详细阐述: 首先,掌握基础语法至关重要。这意味着你需要对Java的语法规则有深入的理解,能够迅速识别并修复语法...

Global site tag (gtag.js) - Google Analytics