• 了解JVM


    一.了解JVM

    1.1什么是JVM

    JVM是Java Virtual Machine(Java虚拟机)的缩写,是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟计算机功能来实现的,JVM屏蔽了与具体操作系统平台相关的信息,Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改的运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

    虚拟机可以分为系统虚拟机和程序虚拟机

    系统虚拟机是一种虚拟化技术,它模拟整个计算机硬件环境,包括处理器、内存、存储和外部设备。它的主要目标是在单个物理计算机上同时运行多个操作系统。每个虚拟机都具有独立的操作系统和应用程序,就像在不同的物理计算机上运行一样。系统虚拟机的例子包括VMware、VirtualBox和Hyper-V。

    程序虚拟机是一种虚拟化技术,它仅模拟计算机上的一个单独的应用程序运行环境,而不是整个操作系统。它的主要目标是提供一个独立的运行环境,使应用程序能够在不同的操作系统上运行而无需修改。程序虚拟机通常用于解决跨平台兼容性的问题,模拟一个应用程序的运行环境,使应用程序能够跨平台运行。常见的程序虚拟机包括Java虚拟机(JVM)。

    1.2JRE/JDK/JVM

    JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API)。

    JRE(Java Runtime Environment,Java运行环境), 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,主要包括 Java 虚拟机(JVM)、Java 基础类库(Class Library)。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)

    JVM(Java Virtual Mechinal)是JRE的一部分,叫做JAVA虚拟机,它是整个java实现跨平台的最核心的部分,负责解释执行并运行字节码文件(.class)。

    1.3JVM的整体结构

    ClassLoader:Java 代码编译成二进制后,会经过类加载器,这样才能加载到 JVM 中运行。

    Method Area:类是放在方法区中。

    Heap:类的实例对象。

    当类调用方法时,会用到 JVM Stack、PC Register、本地方法栈。

    方法执行时的每行代码是有执行引擎中的解释器逐行执行,方法中的热点代码频繁调用的方法,由 JIT 编译器优化后执行,GC 会对堆中不用的对象进行回收。需要和操作系统打交道就需要使用到本地方法接口。
     

  • 相关阅读:
    tensorflow中的slim函数集合
    navigator.mediaDevices.getUserMedia(constraints)可设置参数
    用 Go 快速开发一个 RESTful API 服务
    锐捷网络有限公司自工序完结项目圆满结束
    通过pyserial操作串口
    (二十)mmdetection源码解读:config配置文件models Faster R-CNN
    tomcat 部署web项目
    什么是数据库的读写分离?什么是主表从表,主库从库?
    【深入理解计算机系统CSAPP】第六章 存储器层次结构
    用户画像系列——布隆过滤器在策略引擎中的应用
  • 原文地址:https://blog.csdn.net/WeBot6/article/details/132983175