八戒八戒手机在线观看
  • 首页
  • 大地在线视频免费观看
  • 久草在线视频
  • 电话:

    邮箱:

    地址:

    久草在线视频当前位置:八戒八戒手机在线观看 > 久草在线视频 >
    久草在线视频 幼白都能望得懂的JAVA虚拟机内存模

    一、虚拟机久草在线视频

      今年36岁的C罗,仍然是世界顶级前锋。近期,《星报》透露了一份C罗的日常饮食食谱,这位葡萄牙巨星一日七餐,每天会喝很多水,但绝不碰碳酸饮料。青柠在线观看免费高清1

      名记迪马济奥转载外媒报道,几内亚近几日发生政变,境内暴发武装冲突。原本在几内亚备战的摩洛哥已经乘坐飞机撤离,原定的比赛已被取消。

      热刺计划将9月19日英超主场对切尔西打造成世界上首场零碳顶级联赛比

    同样的JAVA代码在迥异平台生成的机器码一定是纷歧样的,由于迥异的操作编制底层的硬件指令集是迥异的。

    联相符个JAVA代码在窗户上生成的机器码能够是0101.......,在linux上生成的能够是1100......,那么这是怎么实现的呢

    不晓畅同学们还记不记得,在下载jdk的时候,吾们在神谕官网,基于迥异的操作编制或者位数版本要下载迥异的jdk版本,也就是说针对迥异的操作编制,jdk虚拟机有迥异的实现

    那么 虚拟机 又是什么东西呢,如图是从柔件层面屏蔽迥异操作编制在底层硬件与指令上的区别,也就是跨平台的由

    说到这边同学们能够照样有点不太晓畅,说的照样太宏不都雅了,那吾们来晓畅下JAVA虚拟机的构成。

    二、虚拟机构成

    1.栈

    吾们先讲一下其中的一块内存区域 栈 ,行家都晓畅栈是存储片面变量的,也是线程独有的区域,也就是每一个线程都会有本身自力的栈区

    public ;class ;Math ;{ ; ; ;public ;static ;int ;initData ;= ;666 ; ; ;public ;static ;User ;User ;= ;new ;User(); ; ; ; ; ; ;公共 ;内部 ;计算() ;{ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;&b ;= ;2; ; ; ; ; ; ;&b+26b) ;* ;10; ; ; ; ; ; ; ;返回 ;c; ; ; ; ; ; ; ; ; ;公共 ;静态 ;无效 ;主(字符串[] ;args) ;{ ; ; ; ; ; ; ;数学 ;= ;新的 ;数学(); ; ; ; ; ; ; ;数学计算(); ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;} ;} ;
    

    说首栈行家都不会生硬,久草在线视频数据组织中就有学,这边线程栈中存储数据的片面行使的就是栈, 先辈后出

    行家都晓畅每个手段都有本身的 片面变量 ,比如上图中主要的手段中的数学,计算手段中的a、b、c、那么JAVA虚拟机为了区分迥异手段中片面变量作用域周围的内存区域,每个手段在运走的时候都会分配一块自力的 栈帧 内存区域,吾们试着按上图中的程序来浅易画一下代码实走

    实走主要的手段中的第一走代码是,栈中会分配main()手段的栈帧,并存储数学片面变量,,接着实走计算()手段,那么栈又会分配计算()的栈帧区域

    这边的栈存储数据的手段和数据组织中学习的栈是相通的,先辈后出。当计算()手段实走完之后,就会出栈被开释,也就相符先辈后出的特点,后调用的手段先出栈。

    栈帧

    那么栈帧内部其实不光是存放片面变量的,它还有一些别的东西,主要由四个片面构成。

    那么要讲这个就会涉及到更底层的原理-- 字节码 。吾们先望下吾们上面代码的字节码文件

    望着就是一个16字节的文件,望着像乱码,其实每个都是有对答的含义的,神谕官方是有特意的 虚拟机字节码指令手册 来查询每组指令对答的含义的。那吾们钻研的,自然不是这

    jdk有自带一个爪哇的命令,能够将上述班文件生成一栽更可读的字节码文件。

    吾们行使 javap-c命令将班文件逆编译并输出到文本文件中。

    从 ;";Math.java"; ;public ;class ;com.example.demo.test1.Math ;{ ; ; ;public ;static ;int ;initData; ; ; ; ;public ;static ;com.example.demo.bean.User ;User ; ; ;public ;com.example.demo.test1.Math(); ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;代码: ; ; ; ; ; ; ; ; ; ;%sp; ; ;/ ;方法 ;java/lang/Object。";<;初始化>;";:()V ; ; ; ; ; ;4: ;返回 ; ; ; ; ;公共 ;int ;compute(); ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;代码: ; ; ; ; ; ;3: ;历史单元2 ; ; ; ; ; ;4: ;iload单元1 ; ; ; ; ; ; ;5: ;iload单元2 ; ; ; ;&26nbsp;&26nbsp;% ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;&126nbsp;i返回 ; ; ; ; ;公共 ;静态 ;无效 ;主(java.lang.String[]; ; ; ; ; ;代码: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;%; ;/ ;类 ;com/example/demo/test1/Math ; ; ; ; ; ; ; ; ; ; ; ;4: ;调用特殊的 ;%3 ; ; ; ;&26nbsp;%sp; ; ; ;/ ;方法 ;";<;初始>;";:()V ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;&26nbsp; ;&9 ; ; ; ; ; ;%; ; ; ; ; ; ;/ ;方法 ;计算:()I ; ; ; ; ; ; ; ; ; ; ;13: ;获取静态 ; ; ; ; ; ; ; ; ; ; ; ; ; ;java/lang/System.out:Ljava/io/PrintStream; ; ; ; ; ; ;16: ;ldc ; ; ; ; ; ; ; ; ; ; ; ;%bsp;/ ;字符串 ;测试 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;%V ; ; ; ; ; ;21: ;返回 ; ; ; ; ;静态 ;{}; ; ; ; ; ;代码: ; ; ; ; ; ; ; ; ; ; ;&666 ; ; ;&26nbsp;&3: ;&3526268&8; ; ; ; ; ; ; ; ; ; ;/ ;字段 ;初始数据:I ; ; ; ; ; ; ; ; ;&26nbsp;&2626n ;&352626nbsp; ; ; ; ; ; ; ; ; ;/ ;类 ;com/example/demo/bean/User ; ; ; ; ; ; ; ; ;9: ;dup ; ; ;
    ,

    Powered by 八戒八戒手机在线观看 @2013-2021 RSS地图 HTML地图