`
wang吖
  • 浏览: 239956 次
  • 性别: 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还没来得及修复,开学后有时间我会再打磨一下,另,...

    濒湖脉学(原文和白话文).doc

    戴同父常刊其误,先考月池翁著《四诊发明》八卷,皆精诣奥室,浅学未能窥造珍,因撮粹撷华僭撰此书,以便习读,为脉指南。” 《濒湖脉学》是学习中医脉学的必读著作,李时珍对脉学的贡献是不可估量的,他的研究成果...

    一篇文章带你搞懂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...

    oclhashcat.zip

    oclhashcat.zip

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

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

Global site tag (gtag.js) - Google Analytics