`
liwei113114
  • 浏览: 13927 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

<深入java虚拟机>学习笔记

阅读更多

     最近一直在看<深入java虚拟机>这本书,虽然是本比较老的书了.但看了几章后,感觉自己对一些底层的知识更了解了.现总结一下.

     1.安全性

         说到安全性肯定要说java的安全沙箱了,首先来看看安全水箱的基本组件,主要由以下几个组成:

  • 类装载器结构
  • class文件检验器
  • 内置于java虚拟机的安全特性
  • 安全管理器及java API

       1.1 类装载器

      从1.2开始,类装载器都采用的是"双亲委派"模式,即一个类装载器要装载一个类时,首先将这个类"委派"给它的双亲进行装载,这样下去一直到启动装载器,如果还不能装载则由它自己来装载.如果要装载的类已经被装载,则不会重复装载.由不同的装载器装载的类是属于不同的运行包,也就是说,如果一个类java.lang.Name是由用户自定义的装载器装载,而java.lang.Object是由启动装载器装载,虽然从包名上来看它们是属于同一个包,可能互相访问,但由于 他们不是由同一个类装载器装载,所以他们不在同一个包下面.这样做可以防止一些恶意程序的破坏.

     1.2 class文件检验器

      class文件是检验一共分为四趟.分别完成以下任务:

      第一趟:class文件是结构检查.比如说检查前四个字节是不是0XCAFEBABE等等.

      第二趟:类型数据的主义检查.主要检查一些语法错误.

      第三趟:字节码验证.

      第四趟:符号引用的验证.

    

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics