科帮网-Java论坛、Java社区、JavaWeb毕业设计

登录/注册
您现在的位置:论坛 资料库 JAVA开发 > Java虚拟机JVM学习02 类的加载概述
总共48086条微博

动态微博

查看: 1408|回复: 0

Java虚拟机JVM学习02 类的加载概述

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2015-04-23 09:07:11 |只看该作者 |倒序浏览
    java虚拟机JVM学习02 类的加载概述

    类的加载  类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。
      加载.class文件的方式:
      1.从本地系统中直接加载
      2.通过网络下载.class文件
      3.从zip,jar等归档文件中加载.class文件
      4.从专有数据库中提取.class文件
      5.将Java源文件动态编译为.class文件

      类的加载的最终产品是位于堆区中的Class对象。
      Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。


    类加载器  加载器有两种类型:
      1.Java虚拟器自带的加载器
            根类加载器(Bootstrap)
            扩展类加载器(Extension)
            系统类加载器或称应用加载器(System)
      后两种加载器是Java实现的,根类加载器是C++写的,程序员无法在Java代码中获得该类。
      2.用户自定义的类加载器
            java.lang.ClassLoader的子类
            用户可以定制类的加载方式

      类加载器并不需要等到某个类被首次主动使用时再加载它。
      JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了.class文件缺失或存在错误,类加载器必须在程序首次主动使用该类时才报告错误(LinkageError)。如果这个类一直没有被程序主动使用,那么类加载器就不会报告错误。


    科帮网-Java论坛、Java社区、JavaWeb毕业设计 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网-Java论坛、Java社区、JavaWeb毕业设计享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网-Java论坛、Java社区、JavaWeb毕业设计的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网-Java论坛、Java社区、JavaWeb毕业设计管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表