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

简介:

目录(?)[+]

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

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

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

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

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

二、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虚拟机之间的界限。


相关文章
|
18天前
|
存储 监控 安全
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
46 11
|
2月前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
70 9
|
2月前
|
人工智能 Java 物联网
JAVA网络编程的未来:URL与URLConnection的无限可能,你准备好了吗?
随着技术的发展和互联网的普及,JAVA网络编程迎来新的机遇。本文通过案例分析,探讨URL与URLConnection在智能API调用和实时数据流处理中的关键作用,展望其未来趋势和潜力。
50 7
|
29天前
|
存储 监控 算法
深入探索Java虚拟机(JVM)的内存管理机制
本文旨在为读者提供对Java虚拟机(JVM)内存管理机制的深入理解。通过详细解析JVM的内存结构、垃圾回收算法以及性能优化策略,本文不仅揭示了Java程序高效运行背后的原理,还为开发者提供了优化应用程序性能的实用技巧。不同于常规摘要仅概述文章大意,本文摘要将简要介绍JVM内存管理的关键点,为读者提供一个清晰的学习路线图。
|
2月前
|
网络协议 Java 物联网
Java网络编程知识点
Java网络编程知识点
55 13
|
2月前
|
Java 开发者
JAVA高手必备:URL与URLConnection,解锁网络资源的终极秘籍!
在Java网络编程中,URL和URLConnection是两大关键技术,能够帮助开发者轻松处理网络资源。本文通过两个案例,深入解析了如何使用URL和URLConnection从网站抓取数据和发送POST请求上传数据,助力你成为真正的JAVA高手。
68 11
|
2月前
|
安全 Java API
深入探索Java网络编程中的HttpURLConnection:从基础到进阶
本文介绍了Java网络编程中HttpURLConnection的高级特性,包括灵活使用不同HTTP方法、处理重定向、管理Cookie、优化安全性以及处理大文件上传和下载。通过解答五个常见问题,帮助开发者提升网络编程的效率和安全性。
127 9
|
2月前
|
JSON 安全 算法
JAVA网络编程中的URL与URLConnection:那些你不知道的秘密!
在Java网络编程中,URL与URLConnection是连接网络资源的两大基石。本文通过问题解答形式,揭示了它们的深层秘密,包括特殊字符处理、请求头设置、响应体读取、支持的HTTP方法及性能优化技巧,帮助你掌握高效、安全的网络编程技能。
78 9
|
2月前
|
JSON Java API
JAVA网络编程新纪元:URL与URLConnection的神级运用,你真的会了吗?
本文深入探讨了Java网络编程中URL和URLConnection的高级应用,通过示例代码展示了如何解析URL、发送GET请求并读取响应内容。文章挑战了传统认知,帮助读者更好地理解和运用这两个基础组件,提升网络编程能力。
60 5
|
3月前
|
存储 算法 Java
Java虚拟机(JVM)的内存管理与性能优化
本文深入探讨了Java虚拟机(JVM)的内存管理机制,包括堆、栈、方法区等关键区域的功能与作用。通过分析垃圾回收算法和调优策略,旨在帮助开发者理解如何有效提升Java应用的性能。文章采用通俗易懂的语言,结合具体实例,使读者能够轻松掌握复杂的内存管理概念,并应用于实际开发中。

热门文章

最新文章