栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM文件编译、运行和内存结构概述

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM文件编译、运行和内存结构概述

  •  其它学习参考链接:
  1. JVM内存结构 | Blog
  2. 大白话带你认识JVM - 掘金
  • Java虚拟机(英语:Java Virtual Machine,缩写为JVM)

        一种能够执行Java bytecode的虚拟机,以堆栈结构机器来进行实做。最早由Sun微系统所研发并实现第一个实现版本,是Java平台的一部分,能够执行以Java语言写作的软件程序。

Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。通过对中央处理器(CPU)所执行的软件实现,实现能执行编译过的Java程序码(Applet与应用程序)。

  • 类加载器

Java字节码的组织单位之一是类。类加载器实现必须识别并加载任何为Java类格式的文件。任何实现也可识别其他二进制文件,但必须识别类文件。

类加载器以下列严格顺序执行三个基础任务:

  1. 加载:寻找并导入特定类型的二进制数据;
  2. 链接:执行验证、准备及(可选)解析操作;
    • 验证:确保导入类型的正确性。
    • 准备:为类变量分配内存并初始化内存为默认值。
    • 解析:将类型的符号引用转化为直接引用。
  3. 初始化:调用初始化类变量至正确起始值的Java代码。

通常而言,共有两种类加载器类型:引导类加载器(Bootstrap Class Loader)及用户定义类加载器(User Defined Class Loader)。

每款Java虚拟机实现均必须有加载受信类的引导类加载器。

  • jvisualvm 监控工具​​​​​​​

VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/884801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号