2019独角兽企业重金招聘Python工程师标准>>>

类加载器虽然只用于实现类的加载动作,但它在java程序中起到的作用却远远不限于类加载阶段。

对于任意一个类,都需要由加载它的类加载器和这个类本身一同确定其在java虚拟机中的唯一性。这句话可以表达得更通俗一些:比较两个类是否“相等”,只有在这两个类是由同一个类加载器加载的前提之下才有意义,否则,即使这两个类是来源于同一个class文件,只要加载它们的类加载器不同,那么这两个类就必定不相等

这里所指的“相等”,包括代表类的Class对象的equals()方法、isAssignableFrom()方法、isInstance()方法的返回结果,也包括了使用instanceof关键字做对象所属关系判定等情况。如果没有注意到类加载器的影响,在某些情况下可能会产生具有迷惑性的结果。

转载于:https://my.oschina.net/doctor2014/blog/398328

类与类加载器---《深入理解java虚拟机》相关推荐

  1. 深入理解Java虚拟机二(类加载器和类的加载过程)

    类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识. ClassLoader只负责class文件的加载,至于它是否可以运行,则由Ex ...

  2. 深入理解Java虚拟机:虚拟机类加载机制

    目录 7.1 概述 7.2 类加载的时机 类的生命周期 5种情况需要"初始化" 7.3 类加载的过程 1.加载 2.验证 3.准备 4.解析 5.初始化 7.4 类加载器 类与类加 ...

  3. 深入理解Java 虚拟机

    Java 虚拟机 Java 虚拟机 一.运行时数据区域 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 二.垃圾收集 判断一个对象是否可被回收 引用类型 垃圾收集算法 ...

  4. mysql种编译码写在哪_深入理解Java虚拟机(程序编译与代码优化)

    对于性能和效率的追求一直是程序开发中永恒不变的宗旨,除了我们自己在编码过程中要充分考虑代码的性能和效率,虚拟机在编译阶段也会对代码进行优化.本文就从虚拟机层面来看看虚拟机对我们所编写的代码采用了哪些优 ...

  5. 深入理解Java虚拟机——JVM类加载机制(类加载过程和类加载器)

    一.什么是类加载机制? 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 二.类加载的时机 类 ...

  6. JAVA类加载对字节码的处理_深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)...

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 周志明的< ...

  7. 深入理解Java虚拟机(类加载机制)

    文章首发于微信公众号:BaronTalk 上一篇文章我们介绍了「类文件结构」,这一篇我们来看看虚拟机是如何加载类的. 我们的源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行.虚拟机 ...

  8. 《深入理解Java虚拟机》笔记5——类加载机制与字节码执行引擎

    第七章 虚拟机类加载机制 7.1 概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 在J ...

  9. 《深入理解Java虚拟机》笔记4——类文件结构

    代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 由于最近十年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进 ...

最新文章

  1. Tango+Daydream,刀剑合璧的Android VR开发
  2. 取木棒21根c语言,关于m根火柴 ,人机最多取n根火柴(21根火柴进阶)
  3. 从命令行参数中得到一个字符串,统计该字符串中字母 a 的出现次数。
  4. [JAVA实现]微信公众号网页授权登录,java开发面试笔试题
  5. VS 2017安装教程
  6. eclipse 中各种小图标含义
  7. unity IOS 微信踩坑记录
  8. 音乐播放器的滚动歌词的实现
  9. Java8新特性函数式编程
  10. 开源数据计算引擎,实现媲美ElasticSearch的高性能并发查询
  11. 2,4-二硝基苯磺酰基(DNBS)修饰BODIPY染料识别GSH/溶酶体
  12. 那种淡淡厌倦的感觉——榛生
  13. Qt-OpenCV学习笔记--人脸识别
  14. 为Hexo博客next主题添加友链
  15. java毕业生设计薪酬福利管理信息系统计算机源码+系统+mysql+调试部署+lw
  16. Scanner、Random和ArrayList的基本使用规则;猜数字的小游戏程序与随机不重复点名的程序
  17. 发票查验小知识-发票开出后多久可以查真伪
  18. 圆转随意运鸿蒙,缠丝圆转运鸿蒙
  19. 云时代:重新定义运维
  20. python实现四个数字的全排列

热门文章

  1. 推荐很好用的Goroutine连接池
  2. 敏捷落地的会议和工具
  3. Linux的DNS高速缓存
  4. 手动编译cloudfoundry
  5. Struts2中Action各种转发类型
  6. 初始化参数之memory_target
  7. 《并行计算的编程模型》一3.5 远程内存访问:put和get
  8. vmware虚拟化之vswitch详细资料
  9. Sysprep命令详解
  10. android开源SlidingMenu使用