zoukankan      html  css  js  c++  java
  • Java虚拟机(JVM)入门

    文章主要介绍了Java虚拟机的概念和构成,以及Java虚拟机中类是如何加载和卸载的。

    一 什么是Java虚拟机

     Java虚拟机是一台从实际计算机系统上抽象出来的计算机,可以运行编译好的Java程序。Java虚拟机运行在真实的计算机和操作系统之上,理论上它包含了实际计算机和操作系统的所有组件。Java虚拟机拥有自己完善的的硬件结构,包括处理器、寄存器、内存和指令系统等;也拥有操作系统的功能,包括内存管理、文件系统和网络功能等。

    为什么要实现这样一台虚拟机呢?Java虚拟机最重要的意义就在于平台无关性。从Java程序猿的角度来看,Java虚拟机就是一套提供了完善的API的运行环境,不需要关心其运行在什么操作系统或者硬件系统上。

    那么Java虚拟机又是怎么实现的呢?JVM的实现根据不同厂家会有所差异,但是都遵守JVM规范。根据JVM规范,JVM应该有如下组件:

    自顶向下来看,最上层是ClassLoader,主要作用是加载编译好的Java Class文件。再往下一层是运行时数据区(Runtime Data Area),它提供了Java Class的运行环境,将Java Class解释为可以被操作系统理解的语言。最底层是执行引擎、本地接口、本地库,他负责执行Java运行时交付下来的任务。

    到这里,可以总结一下Java Code是如何运行的。首先Java Code(.java文件)被编译为Java Class文件(.class文件),这是一种字节码。到这里Java Code依然是字节码,而不是机器码,因此并不能被操作系统理解。然后Java Class文件被ClassLoader加载到Java运行环境中,Java Class就可以被解释为机器码,然后被执行。

  • 相关阅读:
    iscsi序列一、搭建iscsi存储系统
    LVS系列三、LVS集群-IP-TUN模式
    LVS系列二、LVS集群-DR模式
    LVS系列一、LVS集群-NAT模式
    LINUX 的网站压力测试工具 webbench
    关于 /proc/sys/net/ipv4/下 文件的详细解释
    CentOS7+rsync+sersync实现数据实时同步
    Linux Shell 自动备份脚本
    Vim的强大配置文件
    nginx出现403 Forbidden解决方法
  • 原文地址:https://www.cnblogs.com/hongyanee/p/3277058.html
Copyright © 2011-2022 走看看