深入Java虚拟机(4)——网络移动性

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781

目录(?)[+]

一、软件应用程序发展的几个阶段

软件应用程序发展经历了如下几个阶段:

服务于多个终端用户的大型计算机系统 
孤立的个人计算机上运行孤立的软件 
客户机/服务器模式 
分布式处理模式 
内容服务模式(网络移动性的体现)

分布式处理模式综合了网络和处理器发展的优点,将进程分布在多个处理器上运行,并允许这些进程共享数据。尽管这种模式有许多大型计算机系统所无法比拟的优势,但它也有个不可忽视的缺点:难于管理。软件的更新,安装,维护十分困难。

而内容服务模式(网络移动性的体现)在流行的分布式处理模式的基础上,并可以将软件通过网络自动传送到各台计算机上。这样就解决了分布式处理系统中系统管理的难题。

二、Java体系结构对网络移动性的支持

Java体系结构对网络移动性的支持主要体现在如下几个方面:

(1)平台无关性和安全性:Java体系结构对网络移动性支持和它对平台无关性和安全性的支持是密不可分的。虽然平台无关性和安全性对网络移动性而言并非是必须的,但是两者对网络移动性的实现提供了很大帮助。平台无关性使得网络上传输程序更加容易,不需要针对不同的平台准备不同的版本。 使得用户可以自信地下载各种来源的class文件。

(2)动态连接:网络移动性的主要难题就是时间。Java是支持动态连接的。Java体系结构把传统的单一二进制可执行文件切割成小的二进制碎片-Java class文件-来解决时间问题,类在程序需要时才动态连接,用户不需要等到所有的class文件都下载完毕。

(3)动态扩展:除了动态连接外,Java体系结构也允许动态扩展。动态扩展是装载class文件的另外一种方式,可以延迟到Java应用程序运行时才装载。

(4)紧凑的class文件:除了动态连接和动态扩展,Java体系结构对网络移动性的直接支持还通过class文件格式体现。为减少在网络上传送程序的时间,class被设计得很紧凑。Java编译器不做太多的局部优化。把优化工作留给Java虚拟机。

(5)JAR文件:允许在一次网络传输过程中传送多个文件,减少网络协议握手的时间。

(6)不采用按需下载:另外一个降低最终用户等待时间的策略的就是不采取按需下载class文件的做法,有几种不同的技术,列如采用订阅模式等。

三、Java网络移动性例子

(1)Java applet(网络移动代码的示例 ):它展示了Java基于网络的所有特性:平台无关性,网络移动性,安全性。在任何平台上,只要有支持Java的浏览器,Java applet就可以运行。Java applet也展示了Java在安全上的能力,因为它们是在一个严格受限的沙箱中运行的。最重要的,Java applet展示了它的网络移动性。Java applet可以在一个中心服务器上维护,可以通过网络传送到很多种类的计算机中。要升级一个applet,只需要升级服务器上的即可。用户下次使用时,就可以得到升级过后的版本。因此,维护是本地的,运行是分布的。

(2)Jini 服务对象(网络移动对象的示例 ):除了代码的网络移动性,Java结构还有一个承诺:对象的网络移动性。对象在网络中穿梭,携带着自己的类,加上表示对象状态的快照数据。对象的网络移动性可以简化软件开发者设计和部署分布式系统的工作。通过对象序列化和远程方法调用(RMI),Java API提供了一个在本地对象模型上扩展而成的分布式对象模型,打破了Java虚拟机之间的界限。

时间: 2024-12-04 17:14:03

深入Java虚拟机(4)——网络移动性的相关文章

《深入解析Android 虚拟机》——2.4 网络移动性

2.4 网络移动性 长久以来,如何开发网络软件是Java开发人员所面临的最大挑战之一.在网络领域需要实现平台无关性,因为同一网络中通常连接了多种不同的计算机和设备.除此之外,安全模式也是一个挑战,因为网络可以方便地传输病毒和其他形式的恶意代码.在本节将详细讲解Java如何把握网络所带来的巨大机遇,为步入本书后面知识的学习打下基础. 2.4.1 现实需要网络移动性 当个人计算机互联成网变得越来越普遍的时候,另一种软件模式日益重要起来,即"客户机/服务器"模式."客户机/服务器&

《深入解析Android 虚拟机》——第2章,第2.4节网络移动性

2.4 网络移动性 长久以来,如何开发网络软件是Java开发人员所面临的最大挑战之一.在网络领域需要实现平台无关性,因为同一网络中通常连接了多种不同的计算机和设备.除此之外,安全模式也是一个挑战,因为网络可以方便地传输病毒和其他形式的恶意代码.在本节将详细讲解Java如何把握网络所带来的巨大机遇,为步入本书后面知识的学习打下基础. 2.4.1 现实需要网络移动性 当个人计算机互联成网变得越来越普遍的时候,另一种软件模式日益重要起来,即"客户机/服务器"模式."客户机/服务器&

网络如何演进以满足移动性要求?

  受提高企业生产力应用的智能移动设备大量增长的推动,对访问内容.数据和应用程序快速增长的需求促使要求随时随地接入企业应用程序和使用内容的移动员工得到日益增长. 虚拟化和云服务等技术正在改变着IT通过要求按需能力和可访问性为用户创造可用的内容和应用程序的方式.这样一来,移动性的定义转变为在跨设备.应用程序和网络上提供.管理并支持无缝用户体验. 但是,网络管理员可用的工具.流程和结构仍深陷于一个VLANs.IP 地址而非用户.设备和应用程序的世界. 为了确保用户体验的一致性.故障排除和审计的可视性

《部署IPv6网络(修订版)》一1.6 IP移动性

1.6 IP移动性 部署IPv6网络(修订版)Internet已经变得如此无所不在,无论您在哪儿,您都能够将您的计算机接线插入墙上插座,或连接到无线LAN,然后过一会儿,您将能够通信.不是这种移动性吗?喔,不完全是. 这种类型的"移动性"是在连接的网络内通过获得一个新的IP地址.丢失所有与以前IP地址绑定的会话而得到的.这对从单位到家庭的企业用户也许是可接受的,但对经常旅行的人而言就非常恼人,并且对IP电话而言也是不能容忍的. 移动IP为主机提供了网络层方法,使主机无论在Interne

极进网络:网络如何演进以满足移动性要求

受提高企业生产力应用的智能移动设备大量增长的推动,对访问内容.数据和应用程序快速增长的需求促使要求随时随地接入企业应用程序和使用内容的移动员工得到日益增长. 虚拟化和云服务等技术正在改变着IT通过要求按需能力和可访问性为用户创造可用的内容和应用程序的方式.这样一来,移动性的定义转变为在跨设备.应用程序和网络上提供.管理并支持无缝用户体验. 但是,网络管理员可用的工具.流程和结构仍深陷于一个VLANs.IP 地址而非用户.设备和应用程序的世界. 为了确保用户体验的一致性.故障排除和审计的可视性并对

深入Java虚拟机(1)——Java体系结构

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] Java体系结构 Java体系结构包括四个独立但相关的技术: 1.Java程序设计语言 2.Java class文件格式 3.Java应用编程接口(API) 4.Java虚拟机 当编写并运行一个Java程序时,就同时使用了这四种技术.用Java程序设计语言编写源代码,把它编译成Java class文件,然后在java虚拟机中运行class文件.当编写程序时,通过调用实现了J

理解Java虚拟机体系结构(转)

1 概述 众所周知,Java支持平台无关性.安全性和网络移动性.而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么.正是得益于Java虚拟机,它号称的"一次编译,到处运行"才能有所保障. 1.1 Java程序执行流程 Java程序的执行依赖于编译环境和运行环境.源码代码转变成可执行的机器代码,由下面的流程完成: Java技术的核心就是Java虚拟机,因为所有的Java程序都在虚拟机上运行.Java程序的运行需要Java

[看书笔记]《深入java虚拟机》——java体系结构(一)

java的这种适合网络环境的能力是由其体系结构决定的,它可以保证安全的.健壮的且和平台无关的程序通过网络传播,在很多不同的计算机和设备上运行. 体系结构包括四个独立但相关的技术:- java程序设计语言- java class文件- java应用编程接口(API)- java虚拟机 用java编程语言编写源代码,把它编译成java class文件,然后再在java虚拟机中运行class文件.当程序运行的时候,它通过调用class文件中实现了java API的方法来满足程序的java API调用.

深入Java虚拟机读书笔记[1:4]

第一章 Java体系结构 1. Java体系结构 the Java programming language the Java class file format the Java Application Programming Interface the Java Virtual Machine 2. Java语言优点或使用的技术: object-orientation multi-threading structured error-handling garbage collection d