美文网首页
01__JVM(1)

01__JVM(1)

作者: 忞触动心灵 | 来源:发表于2019-05-25 16:56 被阅读0次

什么是JVM:(jvm有跨平台性)

java代码-->(翻译)class(字节码文件)-->机器上运行

JVM 代码--->==类加载器--->运行是数据区(内存)--->执行引擎==--->机器识别码

内存管理是JVM的"五章六腑" : 包含-> 内存管理和垃圾回收

image

运行时数据区

线程私有(指令):程序计数器 , 本地方法栈 , 虚拟机栈(java栈)

线程共享(数据): 堆(对象) , 方法区(静态变量和常量)

image

程序计数器

指向当前线程正在执行的字节码(class)指令的地址(行号)

为什么需要程序计数器(每一个线程都有一个程序计数器,栈(虚拟机栈,本地方法栈))
  • java 天生就是多线程的,意味着线程需要切换
  • 确保多线程情况下的程序正常执行

(STack): 数据结构--->java方法的执行是吻合的

入口和出口只有一个

入栈

出栈

特点:

先进后出(FILO)

为什么jvm要使用栈:

虚拟机栈:(大小可以用 -Xss128k 设置)

==java的class文件进行反编译(javap -v .\javaStack.class > a.txt)的文件==
(javap指令 -v 执行 .\javaStack.class所执行的文件地址)

Java字节码指令大全

存储当前线程运行方法所需的数据, 指令. 返回地址

虚拟机栈有: ==栈帧== (类中每一个方法对应一个栈帧)

------主要有------

局部变量表(是32位的地址(2^32寻址范围):八大基本数据类型(64位,高低位进行))
(如果是对象)对象的引用的地址

反编译文件里对应的局部变量表 image

操作数栈

image

动态链接(多态)

image

返回地址

image image

虚拟机栈图解:

image

相关文章

  • 01__JVM(1)

    什么是JVM:(jvm有跨平台性) java代码-->(翻译)class(字节码文件)-->机器上运行 JVM 代...

  • 01__JVM(4)内容图

    JVM 常见 问题处理方式 保存堆栈快照日志 分析内存泄漏 调整内存设置 控制垃圾回收频率 选择合适的垃圾回收器 ...

  • 01__JVM(2)线程私有部

    线程私有部分(指令区)-----运行时才有 运行时数据区------内存分配和优化 运行时分配 生命周期是跟随线程...

  • 01__JVM(3)线程共享区

    JVM(3)线程共享区 方法区 类信息 常量 静态变量 及时编译期编译后的代码(运行时编译的 如:动态代理添加的)...

  • 1▪1▪1▪1▪1

    今天是国际劳动节,出门看人头,上路遇堵车,处处挤破头,急哭也停不下车。 不如歇了吧 ...

  • 1+1+1…+1=1

    对“一”的理解: 赠人玫瑰,不仅仅是手留余香。 利益他人,实际上也疗愈了自己。 利他、利己,如此往复循环, 最终利...

  • (-1)×(-1)= 1

    数学家经过很长一段时间才认识到(-1)×(-1)= 1是不能被证明的(即使大数学家欧拉曾给出不能令人信服的...

  • 1-2-1-1-1

    【下马请罪】 子龙下马,向张飞跪地请罪道:“张将军,一时失手……”话未停,便被张飞一矛刺了个透心凉。子龙堵着胸口汩...

  • 1 1:1 1(原创小说)

    闪回:那天她…… 当时,我确实听到了那个声音,可如今却怎么也记不清了。 掉下来了。 我觉得,那一刻...

  • 《1+1=1-1》

    十一月十一日晚,致X小姐。 十月初九, 一个人购物的孤独, 你谈起, 月光下轧过的马路, 金钱带不来满足, 忙忙碌...

网友评论

      本文标题:01__JVM(1)

      本文链接:https://www.haomeiwen.com/subject/kutxaqtx.html