• JVM



    1、什么是 JVM?

    虚拟机Java Virtual Machine ---java 程序的运行环境(Java 二进制字节码的运行环境)


    2、jvm、jre、jdk 关系:

    jvm = 空的java 运行环境
    jre = jvm + java基础类库
    jdk = jre + 编译工具

    image


    3、jvm 作用/好处:

    1) java实现跨平台(可移植性):一次编写,到处运行(java 语言的跨平台),实现代码的平台无关性
    2) 自动内存管理,垃圾回收功能
    3) 数组下标越界检查(java 是抛出异常,而其他语言的数组越界可能会覆盖其他代码的内存)
    4) 多态


    4、内存结构

    内存结构之程序计数器(物理实现就是cpu的寄存器)

    • 作用:记住下一条 jvm 指令的执行地址。

    源码中的语句一条接着一条被解释器翻译成了指令。

    java 源程序 ------ jvm 指令(二进制字节码)

    jvm 读写的频繁 ----- 计算机中 寄存器读取速度快速

    image

    ▪ 特点:

    • 程序计数器是线程私有的每一个线程都有属于自己的程序计数器,记录本线程 jvm 指令的执行位置
    • 不会存在内存溢出

    image


    内存结构之虚拟机栈

    • 虚拟机栈:一个线程运行时所需要的内存。

    一个线程-----------------一个虚拟机栈

    • 虚拟机栈的组成:由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存。

    一个栈帧---------------------一个方法调用(需要的内存)

    一个线程-----------一个活动栈-----------当前正在执行的方法

    • 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。(在栈顶正在执行的方法,就是活动栈帧)
  • 相关阅读:
    码农提高工作效率-黄博文
    myeclipse与tomcat,运行jsp程序
    Ultraedit和写字板修改Tomcat 6.0的server.xml不生效
    MySQL5.5.33对应的JDBC驱动包怎样使用?
    Java是用JDBC连接MySQL数据库
    myeclipse trial expired暂时解决办法
    Json数据使用及学习方法
    在C#中使用json字符串
    vs2012换肤功能,vs2012主题及自定义主题
    给Notepad++换主题
  • 原文地址:https://www.cnblogs.com/shan333/p/16544644.html
Copyright © 2020-2023  润新知