Java 体系结构介绍

1. 为什么使用Java因为Java是为网络而设计的,它可以保证安全的、健壮的且和平台无关的程序通过网络传播,在很多不同的计算机和设备上运行。

2. 网络带来的挑战和机遇软件开发者面临的挑战之一是这种逐渐增长的以网络为核心的硬件环境,其包含的设备越来越广泛,用Java编写的平台无关的程序会更容易编写、管理和维护,代价也更低。网络为软件开发者带来的另外一个挑战是安全性。Java提供一个受保护的环境,从网络上下载的程序可以以不同的定制安全级别运行。而且Java体系结构对程序的健壮性有一定的保证。无所不在的网络带来了一个机会就是在线程序发布。Java利用这个优点在网络上传送小段二进制代码。所以最终用户运行的总是最新的版本。可移动的代码带来了另一个机会:运动的对象——它同时在网络上传递代码和状态。平台无关性、安全性和网络移动性,Java体系的这三个方面共同使得Java和发展中的网络计算环境相得益彰。

3. 体系结构Java程序设计语言Java class文件格式Java应用编程接口(API)Java虚拟机Java虚拟机和Java API组合共同组成可以在任何地方运行的Java平台。

4. Java虚拟机Java虚拟机的主要任务是装载class文件并且执行其中的字节码。Java虚拟机包含一个类装载器(class loader),它可以从程序和API中装载class文件。字节码由执行引擎来执行。不同的Java虚拟机,其执行引擎实现的可能非常不同。最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快,但是也更消耗内存,叫做“即时编译器”(just-in-time compiler)。第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被缓存,当方法以后被调用的时候可以重用。第三种执行引擎是自适应优化器。虚拟机监视运行中程序的活动,并且记录下使用最频繁的代码段。最后一种虚拟机由硬件芯片构成,它用本地方法执行java字节码,这种执行引擎实际上是内嵌在芯片里的。Java给人们提供了选择的机会。如果希望使用特定主机上的资源,它们又无法从Java API访问,那么可以写一个平台相关的java程序来调用本地方法。如果希望保证程序的平台无关性,那么只能通过Java API来访问底层系统资源。

5. 类装载器的体系结构一个Java应用程序可以使用两种类装载器:bootstrap类装载器和用户定义的类装载器。用户定义的类装载器使得在运行时扩展Java应用程序成为可能。由于类装载器是使用Java编写的,所以使用任何在Java代码中可以表述的风格来进行类的装载。这些类可以通过网络下载,可以从某些数据库中读取,甚至可以动态生成。当被装载的类引用了另外一个类时,虚拟机就会使用装载第一个类的类装载器装载被引用的类。所以被装载的类默认情况下只能看到被同一个类装载器装载的别的类。通过这种方法,Java的体系结构允许在一个Java应用程序中建立多个命名空间。运行时的Java程序中的每一个类装载器都有它自己的命名空间。被不同的类装载器装载的类存放在不同的命名空间中,他们不能相互访问,除非应用程序显式地允许这样做。通过允许实例化用户定义的类装载器知道如何从网络下载class文件,Java类装载器的体系结构提供了对网络移动性的支持;通过允许使用不同的用户定义的类装载器装载不同来源的class文件,Java类装载器的体系结构提供了对安全性的支持。它把不同来源的class文件放置在不同的命名空间中,这就能够限制或阻止不同来源的代码之间的相互访问。

6. Java class文件Java class文件主要在平台无关性和网络移动性方面使Java更适应于网络。它在平台无关性方面的任务是:为Java程序提供独立于底层主机平台的二进制形式的服务。Java class文件还在支持网络移动性的Java体系结构中担当了至关重要的角色。首先,class文件设计得紧凑,因此它们可以快速地在网络上传送。其次,由于Java程序是动态连接和动态扩展的,class文件可以在需要的时候才下载。

7. Java APIJava API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供一套访问主机系统资源的标准方法。运行Java程序时,所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。

8. Java程序设计语言使用Java语言写程序,能够充分利用如下的许多软件技术:面向对象多线程结构化错误处理垃圾收集动态连接动态扩展使用Java语言最引人注目的原因之一是,它能够提高开发者的效率;而它最主要的缺点在于执行速度较慢

Java体系结构特性主要包括跨平台性、安全性、简单性和可移植性。 首先是跨平台性,即Java程序可以在不同的操作系统上运行。这是因为Java程序在编译时会被转换成字节码而不是机器码,而字节码可以由Java虚拟机(JVM)来解释执行。不同的操作系统只需要安装相应的JVM即可运行相同的Java程序,极大地提高了程序的可移植性。 其次是安全性,Java引入了一系列安全机制来保护计算机和网络的安全。Java的安全性主要通过字节码校验、安全沙箱和安全管理器来实现。字节码校验可以检查Java程序的合法性,以防止恶意代码的执行;安全沙箱可以限制Java程序对计算机资源的访问,确保程序不能越权操作;安全管理器可以定义安全策略,对程序的访问进行控制。 再次是简单性,Java的设计目标之一就是简单易学。Java的语法相对简单,去除了C++中复杂的特性,同时提供了垃圾回收和自动内存管理等功能,减轻了程序员的工作负担。Java还提供了丰富的类库,使得开发人员能够更加便捷地编写代码。 最后是可移植性,即Java程序可以在不同的硬件和操作系统上运行。通过Java虚拟机的存在,Java程序不需要针对特定的硬件和操作系统进行优化和适配,使得程序的移植性非常好,减少了开发人员的工作量。 综上所述,Java体系结构特性的跨平台性、安全性、简单性和可移植性使得Java成为一种广泛应用于各种领域的编程语言。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值