2019独角兽企业重金招聘Python工程师标准>>>

jvm 变量 内存分配 博客分类: java jvm

public class T {// 常量池中分配 String finalprivate String a = "aa";// 常量池中分配final int ee = 22;// 堆中分配int ff = 20;// 超过一定的范围 在常量池中int ff2 = 200000;// 堆中分配Integer i = 4;// 超过一定的范围 在常量池中Integer i2 = 444444;// 堆中分配final Integer ii = 544;// 超过一定的范围 在常量池中final Integer ii2 = 55555;public void t() {// 常量池中分配 String finalString b = "bb";// 常量池中分配final String c = "cc";// 栈中分配int f = 1;// 超过一定的范围 在常量池中int f1 = 111111;// 栈中分配final int f2 = 33;// 超过一定的范围 在常量池中final int f3 = 33333;}}
const #2 = Asciz        T;
const #3 = class        #4;     //  java/lang/Object
const #4 = Asciz        java/lang/Object;
const #5 = Asciz        a;
const #6 = Asciz        Ljava/lang/String;;
const #7 = Asciz        ee;
const #8 = Asciz        I;
const #9 = Asciz        ConstantValue;
const #10 = int 22;
const #11 = Asciz       ff;
const #12 = Asciz       ff2;
const #13 = Asciz       i;
const #14 = Asciz       Ljava/lang/Integer;;
const #15 = Asciz       i2;
const #16 = Asciz       ii;
const #17 = Asciz       ii2;
const #18 = Asciz       <init>;
const #19 = Asciz       ()V;
const #20 = Asciz       Code;
const #21 = Method      #3.#22; //  java/lang/Object."<init>":()V
const #22 = NameAndType #18:#19;//  "<init>":()V
const #23 = String      #24;    //  aa
const #24 = Asciz       aa;
const #25 = Field       #1.#26; //  T.a:Ljava/lang/String;
const #26 = NameAndType #5:#6;//  a:Ljava/lang/String;
const #27 = Field       #1.#28; //  T.ee:I
const #28 = NameAndType #7:#8;//  ee:I
const #29 = Field       #1.#30; //  T.ff:I
const #30 = NameAndType #11:#8;//  ff:I
const #31 = int 200000;
const #32 = Field       #1.#33; //  T.ff2:I
const #33 = NameAndType #12:#8;//  ff2:I
const #34 = Method      #35.#37;        //  java/lang/Integer.valueOf:(I)L
ang/Integer;
const #35 = class       #36;    //  java/lang/Integer
const #36 = Asciz       java/lang/Integer;
const #37 = NameAndType #38:#39;//  valueOf:(I)Ljava/lang/Integer;
const #38 = Asciz       valueOf;
const #39 = Asciz       (I)Ljava/lang/Integer;;
const #40 = Field       #1.#41; //  T.i:Ljava/lang/Integer;
const #41 = NameAndType #13:#14;//  i:Ljava/lang/Integer;
const #42 = int 444444;
const #43 = Field       #1.#44; //  T.i2:Ljava/lang/Integer;
const #44 = NameAndType #15:#14;//  i2:Ljava/lang/Integer;
const #45 = Field       #1.#46; //  T.ii:Ljava/lang/Integer;
const #46 = NameAndType #16:#14;//  ii:Ljava/lang/Integer;
const #47 = int 55555;
const #48 = Field       #1.#49; //  T.ii2:Ljava/lang/Integer;
const #49 = NameAndType #17:#14;//  ii2:Ljava/lang/Integer;
const #50 = Asciz       LineNumberTable;
const #51 = Asciz       LocalVariableTable;
const #52 = Asciz       this;
const #53 = Asciz       LT;;
const #54 = Asciz       t;
const #55 = String      #56;    //  bb
const #56 = Asciz       bb;
const #57 = String      #58;    //  cc
const #58 = Asciz       cc;
const #59 = int 111111;
const #60 = int 33333;
const #61 = Asciz       b;
const #62 = Asciz       c;
const #63 = Asciz       f;
const #64 = Asciz       f1;
const #65 = Asciz       f2;
const #66 = Asciz       f3;
const #67 = Asciz       SourceFile;
const #68 = Asciz       T.java;{
final int ee;Constant value: int 22
int ff;int ff2;java.lang.Integer i;java.lang.Integer i2;final java.lang.Integer ii;final java.lang.Integer ii2;public T();Code:Stack=2, Locals=1, Args_size=10:   aload_01:   invokespecial   #21; //Method java/lang/Object."<init>":()V4:   aload_05:   ldc     #23; //String aa7:   putfield        #25; //Field a:Ljava/lang/String;10:  aload_011:  bipush  2213:  putfield        #27; //Field ee:I16:  aload_017:  bipush  2019:  putfield        #29; //Field ff:I22:  aload_023:  ldc     #31; //int 20000025:  putfield        #32; //Field ff2:I28:  aload_029:  iconst_430:  invokestatic    #34; //Method java/lang/Integer.valueOf:(I)Ljava/l
teger;33:  putfield        #40; //Field i:Ljava/lang/Integer;36:  aload_037:  ldc     #42; //int 44444439:  invokestatic    #34; //Method java/lang/Integer.valueOf:(I)Ljava/l
teger;42:  putfield        #43; //Field i2:Ljava/lang/Integer;45:  aload_046:  sipush  54449:  invokestatic    #34; //Method java/lang/Integer.valueOf:(I)Ljava/l
teger;52:  putfield        #45; //Field ii:Ljava/lang/Integer;55:  aload_056:  ldc     #47; //int 5555558:  invokestatic    #34; //Method java/lang/Integer.valueOf:(I)Ljava/l
teger;61:  putfield        #48; //Field ii2:Ljava/lang/Integer;64:  returnLineNumberTable:line 1: 0line 4: 4line 7: 10line 9: 16line 11: 22line 15: 28line 17: 36line 19: 45line 22: 55line 1: 64LocalVariableTable:Start  Length  Slot  Name   Signature0      65      0    this       LT;public void t();Code:Stack=1, Locals=7, Args_size=10:   ldc     #55; //String bb2:   astore_13:   ldc     #57; //String cc5:   astore_26:   iconst_17:   istore_38:   ldc     #59; //int 11111110:  istore  412:  bipush  3314:  istore  516:  ldc     #60; //int 3333318:  istore  620:  returnLineNumberTable:line 26: 0line 28: 3line 30: 6line 32: 8line 34: 12line 36: 16line 37: 20LocalVariableTable:Start  Length  Slot  Name   Signature0      21      0    this       LT;3      18      1    b       Ljava/lang/String;6      15      2    c       Ljava/lang/String;8      13      3    f       I12      9      4    f1       I16      5      5    f2       I20      1      6    f3       I}

转载于:https://my.oschina.net/xiaominmin/blog/1597097

jvm 变量 内存分配相关推荐

  1. JVM之内存分配与回收策略

    JVM之内存分配与回收策略 来源 https://www.cnblogs.com/xiaoxi/p/6557473.html JVM分代垃圾回收策略的基础概念 来源 https://www.cnblo ...

  2. JVM初探- 内存分配、GC原理与垃圾收集器

    JVM初探- 内存分配.GC原理与垃圾收集器 标签 : JVM JVM内存的分配与回收大致可分为如下4个步骤: 何时分配 -> 怎样分配 -> 何时回收 -> 怎样回收. 除了在概念 ...

  3. Java之JVM的内存分配策略

    周末有小伙伴留言说上周面试时被问到内存分配策略的问题,但回答的不够理想,小伙伴说之前公号里看过这一块的文章的,当时看时很清楚,也知道各个策略是干嘛的,但面试时脑子里清楚,心里很明白,但嘴里就是说不清楚 ...

  4. JVM 之 内存分配与回收策略

    不诗意的女程序媛不是好厨师~ 转载请注明出处,From李诗雨-[https://blog.csdn.net/cjm2484836553/article/details/103842357] <J ...

  5. JAVA对象在JVM中内存分配

    如果你还不了解JVM内存模型的建议您先看下JVM内存模型 以一下代码为例,来分析下,java对象在内存中的空间分配. public class Student {private String name ...

  6. 阿里P8架构师谈:JVM的内存分配、运行原理、回收算法机制

    不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型.内存分配,以及回收算法机制等,这些都是必考.必会技能. JVM内存模型 JVM内存模 ...

  7. JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)

    一个类创建实例的时候,需要经过多个步骤,比如我们调用new的时候经过了哪些流程,本文就来详细分析下 专业术语 逃逸分析算法 逃逸分析其实就是分析java对象的动态作用域, 如果一个对象被定义之后,被外 ...

  8. 变量 内存 分配 ios iphone

    转载说明(谢谢) http://blog.csdn.net/a21064346/article/details/7785535 点击打开链接 对于 内存分配的掌握,对于一个ios程序开发来说很重要 在 ...

  9. JAVA之JVM之内存分配与回收策略(二)

    前言 对象的内存分配,往大的方向上讲,就是在堆上分配,少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节决定于当前使用的是哪种垃圾收集器组合,当然还有虚拟机中与内存相关的参数 ...

最新文章

  1. Python高级编程(二)
  2. Objective-C中常用转义字符
  3. Python这门语言为什么适合初学者?88.7%的小白听了会感谢选择它
  4. CG-CTF-Web-php decode
  5. angular面试题及答案_关于最流行的Angular问题的StackOverflow上的48个答案
  6. svg入门经典pdf_机器学习最好的入门课程是什么?
  7. Notepad++便签模式
  8. 数据那点事001---集合
  9. 用python读取txt文件、并计算数据的总合和平均值_Python,读取许多文件并合并结果...
  10. Part 3 —— 发布 Go Modules
  11. 计算机二级access上机题,2017历年全国计算机二级access上机试题及答案
  12. MSSQL同步刷新视图字段长度和源表保持一致
  13. android qq输入法表情,QQ输入法如何输入表情
  14. matlab中国官网下载,首页 - MATLAB中文论坛
  15. git ------git stash(储藏到缓存中) 暂时保存未被提交的数据至堆栈中
  16. 编辑网页document.body.contentEditable=‘true‘;
  17. android短信验证码方案,Android之短信验证码
  18. 海思HI35xx平台软件开发快速入门之H264解码实例
  19. JavaBeans 教程
  20. 计算机专业用什么轴的键盘,平常爱打游戏,机械键盘应该买什么轴?

热门文章

  1. FTPClient.listFiles()不能获取目录里的文件
  2. Physical Plausible Shading
  3. match VS match_phrase
  4. Arduboy 游戏机制作参考教程
  5. UltraEdit(UE)如何设置去掉.bak备份文件?
  6. postgresql基本命令操作
  7. 案例研究 路由器到路由器EOMPLS---基于端口
  8. (转载)经典SQL语句大全3-技巧篇
  9. MPLS/×××网络解决MTU问题方法
  10. .Net 4.0 之 Dynamic 动态类型