JVM: java虚拟机

jvm运行我们编写的.java文件转换后的.class文件

问题一 :Class在本地磁盘上 如何记载到jvm中

问题二:jvm又是如何加载java程序所使用的系统类(系统jar 第三方jar)?

解决方案 :使用java中的类加载器 类加载器是jvm的一部分

类加载器不是一个 当jvm运行
运行
  1. 当jvm运行 先运行应用程序类加载器 判断是否有父加载器 有则启动父加载器

  2. 启动扩展类加载器 启动后检测是否有 父加载器

  3. 启动 启动类加载器(最上层的 父加载器)

加载
  1. 启动类加载器先加载 加载jre/lib的jar

  2. 然后加载扩展类加载器 加载jre/lib/ext下的jar

  3. 应用程序类加载器进行加载 加载classpath(自己编写的类) 自己编写的类的编译的的class文件

【说明】

当一个类被父加载器加载了 子加载器就不会加载

面试题:自己编写和系统类完全一样的类 能否被执行?

​ java.lang 类:String

​ 答案:不能被执行 因为被系统的父类加载器加载了 自己的不会被加载到

​ 双亲委派机制的作用 :确保java的安全,不让自己写的类替换掉Java中的类 自己的不会被加载到。

JVM: java虚拟机相关推荐

  1. JVM(java 虚拟机)

    JVM(java 虚拟机) 一.JVM简介 1.JVM:Java Virtual Machine (java 虚拟机) 通过软件来模拟出来的具有完整的硬件系统功能.运行在完全隔离的环境中的完整的计算机 ...

  2. JVM——Java虚拟机架构

    Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性. 平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行.JVM屏蔽了与具体平台 ...

  3. gateway 内存溢出问题_带你学习jvm java虚拟机 arthas/性能调优/故障排除/gc回收/内存溢出等...

    学完本课程,您将掌握: 内存溢出问题实战 CPU飙升问题实战 阿里巴巴Arthas在线诊断 Class字节详细拆解 手写类加载器.四种类加载器.双亲委托模型 对象创建.存储.访问.加载解析 性能调优. ...

  4. JVM -- Java虚拟机

    java虚拟机实际上只是一层接口 : Java虚拟机实际上只是一层接口 , 一层Java程序和操作系统通讯的接口 . 在windows上 , 如果你装了jre , 那么在 jre\bin\server ...

  5. [JVM] java虚拟机内存管理机制及垃圾收集

    Table of Contents 虚拟机内存结构详解 程序计数器 虚拟机栈 JVM stack 本地方法栈 native method stack 常量池 堆 heap 方法区 method are ...

  6. JavaEE - JVM Java虚拟机

    JVM 大家重点掌握的是垃圾回收算法(引用计数+可达性分析+标记清除+标记整理+复制算法+分代回收) 课程目标: 1. 了解 JVM 的发展史 2. 了解 JVM 运行原理 3. 掌握 JVM 基本组 ...

  7. JVM(JAVA虚拟机)、DVM(Dalvik虚拟机)和ART虚拟机

    一.什么是DVM,和JVM有什么不同? JVM是Java Virtual Machine,而DVM就是Dalvik Virtual Machine,是安卓中使用的虚拟机,所有安卓程序都运行在安卓系统进 ...

  8. [JVM] java虚拟机 堆

    1.概念 Java 虚拟机所管理的内存中最大的一块,Java 堆是所有线程共享的一块内存区域,在虚拟机启动时创建.此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例以及数组都在这里分配内存. J ...

  9. JVM (JAVA虚拟机)

    内容安排 JVM体系结构 JVM中的类加载子系统 JVM中运行时内存区 JVM中执行引擎(执行逻辑,GC逻辑) JVM中的字节码增强技术(拓展) 思维导图 JVM 产品 JVM产品分析 | Proce ...

  10. 5.1.3.jvm java虚拟机系统参数查看

    不同的参数配置对系统的执行效果有较大的影响,因此,我们有必要了解系统实际的运行参数. 1.1.1.1. -XX:+PrintVMOptions 参数-XX:+PrintVMOptions可以在程序运行 ...

最新文章

  1. 深度学习、机器学习与NLP的前世今生
  2. HashMap两种遍历数据的方式
  3. AI算法连载15:统计之数据降维
  4. 飞鸽传书最新C++源码:这两个消息钩子
  5. 分布式任务调度框架hanzelcast使用
  6. 收藏 | 神经网络debug 6大技巧!
  7. python全栈开发基础【补充】包的补充
  8. ios与java交互_5、与iOS、Android的交互 实践篇——主动调用
  9. work summery(5)
  10. java 序列化 学习
  11. 计算机完成双系统无法启动怎么办,电脑双系统引导修复教程
  12. 【Mendeley】自定义文献引用格式(国标GB2005)
  13. web端文字转语音播放的几种方式
  14. html查看器缩字数,在线字数统计工具-统计字符字节汉字数字标点符号-计算word文章字数-使用帮助-字的区别...
  15. 从古琴音乐中浅谈中国古代文人音乐
  16. win10 +ubuntu20.04双系统安装:双硬盘+nvidia独立显卡
  17. 图片化加手动推导深刻记忆冒泡排序全过程
  18. RabbitMQ基础篇 (一)
  19. 做好演讲者的必备条件
  20. 李建忠设计模式之”行为变化“模式

热门文章

  1. 2021最新大厂Java面试真题解析
  2. Android Studio Template模板 制作模板
  3. 单向可控硅和双向可控硅的详细介绍(含引脚的分辨)
  4. 公司用的非标普通自动化用单片机还是plc_自动化专业现在吃香吗?
  5. 软件的性能指标及评估方法
  6. 【reverse】通俗易懂的gcc内联汇编入门+示例:实现花指令
  7. 数控车床铣床仿真加工操机视频教程
  8. python-介绍泊松分布(poisson分布)
  9. ORACLE隐式类型转换
  10. Java之CompletableFuture异步、组合计算基本用法