这两天一直在看一本书《深入Java虚拟机》,从底层来审视整个Java,贯通和学会了很多新的知识点。虽然还没有看完,但已经有了很多的收获。
Java体系结构包括Java语言、Java API、Java class文件、Java虚拟机四个部分。Java设计的初衷在于实现网络化应用,想避开Microsoft和Intel在桌面领域的统治地位,转而主要应用于嵌入式设备和消费类电器设备,只是没想到现在桌面应用和Web应用反而成了其最火的地方。为了实现其最初设定的目标,即便于网络化应用,Java的设计着重考虑了三个方面:平台无关性、安全性和网络移动性。
平台无关性,主要通过为不同的操作系统、硬件设备设计不同的Java平台(JVM和Java API),让Java应用程序通过访问Java API而不是本地方法来实现。当然,Java程序编译成平台无关的class文件也是其关键设计。
安全性,因为考虑到要在网络中下载class文件或调用RMI来实现网络化应用,因此如何避免恶意的Java代码破坏本地系统成为Java安全性设计的一个关键。Java的安全性通过沙箱体系来实现,沙箱体系包括:类装载器(class loader)结构、class文件检验器、内置于Java虚拟机和Java语言的安全特性、安全管理器及Java API。沙箱体系结构也是随着Java平台的版本而发展的,从特别严格的1.0版本,到允许数字签名的1.1版本,到后来基于代码签名和认证的策略体系的1.2版本。详细内容就不罗列了。
网络移动性。平台无关性和安全性,解决了网络计算环境下软件开发人员所面临的两大挑战。而网络移动性则使得Java可以把握网络所带来的巨大机遇。网络移动性包含代码移动性和对象移动性两个方面。代码移动性是指Java应用程序可以通过网络动态下载java class文件,并集成到应用程序中,使得Java应用程序的功能可以在运行时可动态扩展,这样非常便于程序版本的发布和升级,现在微软的Smart Client就是基于同样的设计理念。代码移动性是通过用户自定义类装载器来实现的。对象移动性是指Java应用程序可以通过RMI、Jini等技术手段实现跨JVM的方法调用,现在的SOA、EJB、WebService都应该是这个概念的延伸和发展。
书中提到:“理解Java体系结构的关键,就在于理解代码和对象的网络移动能力是Java设计的中心。虽然Java可以提供很多有价值的优点(比如提高程序员生产力,提高程序的健壮性),甚至有时候你根本不会和远程的网络发生关系,但Java体系的主要焦点还是网络。”
由此,我们可以看出在90年代Java的设计初衷,虽然现在看来这些理念已经不足以支撑现代的应用了,但是在那个时代,这些网络化应用的设计思想是非常先进的,后来的很多技术正式这些思想的延伸。
具体的内容,大家可以学习《深入Java虚拟机》(Inside the Java Virtual Machine, Second Edition),作者 Bill Venners(美),翻译 曹晓刚 蒋靖,机械工业出版社。
分享到:
相关推荐
深入 Java 虚拟机.pdf Java 虚拟机(Java Virtual Machine,JVM)是 Java 语言的 runtime 环境,是 Java 程序执行的核心组件。它提供了一个平台无关的环境,允许 Java 程序在不同的操作系统和硬件平台上运行。 一...
java虚拟机不用多少了吧。 深入java虚拟机第二版.pdf
《深入Java虚拟机(原书第2版)》,原书名《Inside the Java Virtual Machine,Second Edition》,作者:【美】Bill Venners,翻译:曹晓钢、蒋靖,出版社:机械工业出版社,ISBN:7111128052,出版日期:2003 年 9 ...
Java虚拟机(JVM)是Java程序运行的基础,它提供了执行环境和各种内存区域,以支持Java代码的高效运行。本地方法栈是JVM的一部分,它主要负责处理与本地方法(通常是由C或C++编写)相关的调用。本地方法栈在Java线程...
首先,我们来看《深入JAVA虚拟机》这本书,它涵盖了JVM的各个关键方面,包括指令集、运行时数据区、方法区、堆内存、栈帧结构、编译与优化、异常处理和安全性等。书中通过实例解析,帮助读者理解JVM如何处理Java程序...
深入JAVA虚拟机,帮助大家在Java方面进行学习,深入JAVA虚拟机,帮助大家在Java方面进行学习,
《深入JAVA虚拟机第二版》是由Bill Venners撰写,并由曹晓钢和蒋靖翻译的中文书籍。这本书是Java开发者必备的经典读物,它详细地解析了Java虚拟机(JVM)的工作原理,帮助读者深入理解Java程序的运行机制。尽管描述...
总之,《深入Java虚拟机》是一本深度和技术性并重的书籍,对于任何希望提升Java编程技能的开发者来说,都是一本不可或缺的参考书。通过深入学习,开发者不仅可以理解Java程序的运行机制,还能更好地优化代码,提高...
深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf
讲述java虚拟机 唯二的书。本书作者曾因本书荣获专业技术杂志《Java Report》评选的优秀...作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益!
《深入JAVA虚拟机 不那么完美的第二版》这本书虽然在印刷上可能存在一些小瑕疵,但这并不影响我们从中汲取宝贵的Java虚拟机(JVM)知识。Java虚拟机是Java平台的核心组成部分,它负责执行Java程序,提供了跨平台的...
非常详细的,非常经典的java虚拟机技术介绍,想要在Java上有所精进和深入一定要学,让我们一起成为大牛吧。
《深入Java虚拟机(原书第二版清晰版)》这本书是为那些已经学习了Java编程语言,希望通过深入理解Java虚拟机(JVM)来进一步提升自己技术能力的Java程序员所准备的。本书详细介绍了JVM的内部工作机制,包括但不限于...
无论是对于初学者还是经验丰富的开发者来说,《深入Java虚拟机最新版》都是一本非常有价值的参考书,它不仅提供了详尽的技术细节,而且还包含了大量实践案例,有助于读者深入理解并掌握Java虚拟机的核心概念和技术。
深入JAVA虚拟机.part3.rar
详解了java虚拟机的工作流,着重分析了java虚拟机的架构和原理
总之,《深入Java虚拟机》这本书不仅是一本技术手册,更是深入理解和掌握JVM的关键途径。对于希望提升Java应用性能的开发者而言,深入研究JVM的每一个细节都是值得的。通过本书的学习,开发者可以更好地掌握JVM的...
《深入Java虚拟机》是一本深受Java开发者喜爱的经典著作,它详细揭示了Java虚拟机(JVM)的工作原理,帮助开发者提升程序性能、理解和解决运行时问题。这本书的影印版以及附属光盘通常会包含一些补充材料,如源代码...
《深入JAVA虚拟机第二版》是一本深受Java开发者喜爱的经典著作,它详尽地剖析了Java虚拟机(JVM)的工作原理,为程序员提供了深入了解Java平台核心技术的机会。这本书结合了理论与实践,不仅讲解了JVM的内部机制,还...