`
wang吖
  • 浏览: 240761 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浅学JAVA类加载-学习笔记1(转载)

    博客分类:
  • Jvm
 
阅读更多

Java ClassLoader 
Java的类加载器是个什么,如何运做... 学习下. 

类加载器使J具有动态性,J程序是由许多类组成,每个类生成一个文件,互相对应. 
执行时JVM找到J程序需要的类并载入内存. 
就是把硬盘的.CLASS文件复制一份到内存中,并初始化 

例: 

Java代码  收藏代码
  1. class A{  
  2.    public void print(){  
  3.        System.out.println("class A");  
  4.    }  
  5. }  
  6. class B{  
  7.     public void print(){  
  8.         System.out.println("class B");  
  9.     }  
  10. }  
  11.   
  12. public class Main{  
  13.     public static void main (String[] args){  
  14.        A a=new A();  
  15.        a.print();  
  16.        B b=new B();  
  17.        b.print();  
  18.     }  
  19. }  



执行 java -verbose:class Main 

Java代码  收藏代码
  1. [Loaded java.io.FilePermission from shared objects file]  
  2. [Loaded java.io.FilePermission$1 from shared objects file]  
  3. [Loaded java.io.FilePermissionCollection from shared objects f  
  4. [Loaded java.security.AllPermission from shared objects file]  
  5. [Loaded java.security.UnresolvedPermission from shared objects  
  6. [Loaded java.security.BasicPermissionCollection from shared ob  
  7. [Loaded java.security.Principal from shared objects file]  
  8. [Loaded java.security.cert.Certificate from shared objects fil  
  9. [Loaded Main from file:/C:/wang/]  
  10. [Loaded A from file:/C:/wang/]  
  11. class A  
  12. [Loaded B from file:/C:/wang/]  
  13. class B  
  14. [Loaded java.lang.Shutdown from shared objects file]  
  15. [Loaded java.lang.Shutdown$Lock from shared objects file]  



先把核心类库载入内存,然后可以清楚的看到载入了J程序的类Main.class,A.class 
B.class到内存中. 

当然,如果程序中先new一个B的对象调用print方法,在new个A的对象调用print方法, 
就是载入Main.class,B.class,A.class 

java.exe找到JRE,运行时环境执行.class文件. 

  預先载入,按需求載入 

在自己写的类中,B.class和A.class在用到这些类的时候才回被载入... 

把程序B实例化的例子和调用方法的语句注释后,B类就不会被载入. 

Java代码  收藏代码
  1. [Loaded Main from file:/C:/wang/]  
  2. [Loaded A from file:/C:/wang/]  
  3. class A  
  4. [Loaded java.lang.Shutdown from shared objects file]  
  5. [Loaded java.lang.Shutdown$Lock from shared objects file]  


只载入了A类和主类. 

不管如何,总会载入JAVA的基础类库,既JAVA程序必须的类,预先载入. 
自己写的类载入就是按需求载入. 

分享到:
评论

相关推荐

    xml浅学笔记

    1、XML AJAX: Asynchronous Javascript And Xml 1、什么是XML eXtensible Markup Language 可扩展的 标记 语言 XML的标记没有预定义过,需要自行定义 XML的宗旨是做数据传递的,而非数据显示 2、XML的语法...

    浅学二极管与三极管

    ### 浅学二极管与三极管 #### 一、二极管基础 ##### 1.1 PN结概述 二极管的核心是**PN结**。**PN结**是通过特殊的制造工艺,在同一块半导体材料(通常是硅或锗)上,通过扩散作用将**P型半导体**和**N型半导体**...

    pascal语言的浅学

    `定义了一个包含两个整数字段的记录类型`Trec`,并且可以初始化记录常量,如`IntRec : Trec = (fl1:1; fl2:2);`。 总的来说,Pascal语言以其严谨的语法和丰富的数据类型,为初学者提供了学习编程的良好起点。理解...

    浅学RC充放电电路

    通过对RC充放电电路的学习,我们了解到电容器是一种重要的储能元件,能够实现充电和放电过程,并且这一过程的速度可以通过调整电阻和电容的值来控制。RC电路不仅在基础电路分析中占据重要地位,也在实际应用中发挥着...

    浅学电子幸运大转盘知识

    通过对RC充放电电路、三极管电路、NE555电路以及CD4017电路的学习与理解,我们不仅能够设计出电子幸运大转盘的基本电路,还能进一步优化其性能,比如通过调整电阻和电容的参数来改变LED灯的移动速度或等待时间。...

    深度学习数据+配合博文“在git上面看到的代码,浅学了一下”

    1. 这个是git上朋友发的,我这就是蹭蹭人家流量了 2. 是一个时序预测的问题的数据集 3. 每个小时一个数据,每个batch训练的数据是前一周也就是196个小时,预测的结果是下一天的数据24小时

    浅学字节序——字节序大小端,主机字节序,网络字节序的理解

    ### 字节序的基础概念 字节序,又称为字节顺序或字节排列方式,指的是在计算机内存中或网络传输过程中多字节数据的存储顺序。...无论是对于初学者还是有经验的程序员来说,深入学习字节序的相关知识都是非常有益的。

    android-studio图书管理系统

    (7)这篇文章只是为了供一些初学者免费学习(主要是当时哥们交作业的时候没有找到类似的,就浅学了一点点内容然后做出来的,内容肯定不够充实完整),不要不要直接当大作业交上去!!! 适用读者: 学习移动终端...

    浅学AS,设置Button点击事件的三种方式

    1.在布局文件中指定onClick属性的方式设置点击事件 这里就是通过布局文件中Button控件的属性值onClick=”click”实行回调函数click,代表着点击按钮有click方法响应。 回调函数代码如下,首先要通过id找到对应的...

    跟我学linux-入门级教程

    非常好的教程,浅学易懂,主要是基于centos的讲解

    基础教育课程改革的核心理念是.pdf

    3. 创新教学方法:避免盲目追求新颖,教学方法应以激发学生兴趣、提高学习效率为目标,确保每个学生都有平等的学习机会,降低学习的负担,提高学习的乐趣,从而克服浅学、苦学、倦学和厌学的问题。 4. 强化学生主体...

    测试性压缩工具.zip

    基于Huffman编码思路的一个测试性压缩工具,但是由于个人水平原因(浅学的业余爱好者),并没有利用到Huffman编码的树状结构特点。另,由于快开学了......so,bug还没来得及修复,开学后有时间我会再打磨一下,另,...

    一篇文章带你搞懂Vue虚拟Dom与diff算法

    由于小编接触Vue比较多,React只是浅学,所以本篇主要针对Vue来展开介绍,带你一步一步搞懂它。 虚拟DOM 什么是虚拟DOM? 虚拟DOM(Virtual Dom),也就是我们常说的虚拟节点,是用JS对象来模拟真实DOM中的节点,...

    谚语精选(中文英文对照).doc

    1. "time flies." —— 时间易逝。 这句话提醒我们时间过得飞快,要珍惜每一刻。 2. "time is money." —— 一寸光阴一寸金。 这句谚语告诫我们时间如同金钱,应高效利用时间。 3. "time and tide wait for no man...

    2023-2024年中国企业出海4.0阶段发展研究报告:涵盖路径、模式及区域分析

    内容概要:本文详细解析了中国企业出海的发展趋势及其在4.0阶段的新特点。报告涵盖了企业出海的背景、驱动力和发展阶段,强调了企业在不同领域的出海路径、模式及区域选择。特别提及了电子商务、信息技术、先进制造...

    oclhashcat.zip

    oclhashcat.zip

    我的选课建议和升学经验 .pages

    我的选课建议和升学经验 .pages

    《中国企业海外人才发展白皮书》2021年版由领英中国联合中国贸易报社发布

    《中国企业海外人才发展白皮书》2021年版由领英中国联合中国贸易报社发布,深入分析了中国企业在海外的人才发展现状和趋势。报告指出,在疫情和逆全球化的双重压力下,中国企业海外用工节奏未被打乱,反而迎来逆周期...

Global site tag (gtag.js) - Google Analytics