jvm -java体系介绍

本文介绍了Java体系结构的四大核心组成部分:Java程序设计语言、Java Class文件格式、Java应用编程接口(API)以及Java虚拟机(JVM)。重点阐述了JVM的角色及其如何实现平台无关性、安全性和网络移动性。此外,还探讨了类装载器体系结构对于安全性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java体系结构包括四个独立但相关的技术
1.java程序设计语言
2.java class文件格式
3.java应用编程接口(api)
4.java虚拟机


 当编写并运行一个java程序时,就同时体验了这四种技术。用java编程语言编写源代码,把它编译成java class文件,然后在java虚拟机中运行class文件。当编写程序时,通过调用类(这些类实现了java api)中的方法来访问资源当程序运行的时候,它通过调用class文件中实现了java api的方法来满足程序的java api调用。


1.3.1 java虚拟机


   java的面向网络的核心就是java虚拟机,它支持java面向网络体系结构三大支柱的所有方面:平台无关性,安全性和网络移动性


   java虚拟机是一台抽象的计算机,其规范定义了每个java虚拟机都必须实现的特性,但是为每个特定实现留下了很多选择。java虚拟机的主要任务就是装载class文件并且去执行它的字节码
 
 java虚拟机包含一个类加载器,它可以从程序和api中装载class文件,java api中只有程序执行时需要的那些类才会被加载。字节码由执行引擎来执行。不同的java虚拟机中,执行引擎可能实现的非常不同。在由软件实现的虚拟机中,最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快,但是也更消耗内存,叫做"即时编译器"。
  
1.3.2 类装载器的体系结构


   类装载器的体系结构是java虚拟机在安全性和网络移动性上发挥重要作用的一个方面。一个java应用程序可以使用2种类装载器:"启动"类装载器和用户定义的类装载器,启动类装载器是java虚拟机实现的一部分。每一个类被装载的时候,java虚拟机都监视这个类,看它到底被启动类装载器还是被用户定义类装载器装载。当被装载的类引用了另外一个类时,虚拟机就会使用装载第一个类的类装载器装载被引用的类。例如,如果虚拟机使用一个特定的类装载器装载了a这个类,它就会使用这个类装载器装载a类使用的所有的类。如果a使用了一个叫做b的类,比方说,可能调用了b类的一个方法,那么虚拟机将使用a的同一个类装载b,这样,被这个类装载器返回的b类就会动态地与a类建立起了联系。由于java虚拟机采用这种方式进行类的装载,所以被装载的类默认情况下只能看到被同一个类装载器装载别的类。通过这种方法,java的体系结构允许在一个java应用程序中建立多个命名空间。这样典型的例子就是web浏览器,web浏览器使用用户定义的类装载器从网络下载用于java applet的class文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值