《深入学习java虚拟机》--笔记3

来源:互联网 发布:手机账本软件 编辑:程序博客网 时间:2024/05/21 12:39
 (1)JAVA 体系结构包括四个独立相关的技术:
  * Java程序设计语言
  * Java class文件格式
  * Java 应用编程接口(API)
  * Java 虚拟机
   当编写并运行一个Java程序时,就同行体验了这四种技术。用Java编程语言编写源代码,把它编译成java class文件,然后再在Java虚拟机中运行class文件。当编写程序时,通过条用类中的方法来访问系统资源。当程序运行时,它通过调用class文件中实现了JAVA API 的方法来满足Java API的调用。
    Java虚拟机和JAVA API一起组成了一个“平台”,所有Java程序都在这上面编译。具体了解如图: 
  
《深入学习java虚拟机》--笔记3
(2)Java class文件
    其主要任务:为JAVA程序提供独立于底层主机平台的二进制形式的服务,它可以运行任何支持Java
虚拟机硬件平台和操作系统上的二进制文件

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

(4)JAVA的安全策略
   这里有一个非常重要的概念-沙箱,它可以使你接受来自任何来源的代码,但不会要求你避免将来自不信任站点的代码下载到机器上。但是当来自不可靠来源的代码运行时,沙箱县组织它进行破坏系统的任何动作。不必指出哪些代码可以信任,哪些代码不可以信任,也不必扫面查找病毒,沙箱本身限制了下载任何病毒或恶意代码、有漏洞的代码,使它们不得能对计算机进行破坏。

  Java沙箱,其基本组件如下:
   * 类装载器结构
   * class文件检验器
   * 内置java虚拟机(及语言)的安全性
   * 安全管理器及JAVA API  -->沙箱的外部边界,是可定制的,允许为程序建立自定义的安全策略(如有个check方法)。
  在JAVA沙箱中,类装载器体系结构时第一道防线,在沙箱里所起的作用:
     * 防止恶意代码区干涉善意代码
     * 守护了被信任的类库的边界
     * 将代码归入某类(称为保护域),该类确定了代码可以执行那些部分
原创粉丝点击