u013693144
当你途径我的盛放
2017-01-22 04:24
采纳率: 55.6%
浏览 2.0k
已采纳

成员变量,类变量,类方法、静态代码块存储位置

成员变量,类变量,类方法、静态代码块、普通代码块、构造方法的存储位置
,网上搜的都千篇一律,没什么讲的特别透彻的,求解?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • wu1226419614
    Seeker-Wu 2017-01-22 06:08
    已采纳

    就一个秘诀,占用内存小的,都是在栈里,占用内存大的都是在堆里,字符串都在常量池里,记住这三点,基本没有问题。

    点赞 评论
  • bjjoy2009
    迷茫猿小明 2017-01-22 05:19

    http://blog.csdn.net/u010425776/article/details/45748379?ref=myread
    这篇还可以,看了还算明白,就是差个图一类的东西,有了就更好了

    点赞 评论
  • static_coder
    智_永无止境 2017-01-22 05:25

    Jvm的内存大概分为三个,分别是堆内存、栈内存以及方法区。在类加载的过程中,所有的非静态成员和静态成员会分别加载到JVM的方法区中,静态变量的赋值以及静态构造代码块会先执行,也就是静态代码块是存储在方法区中的。在创建对象的时候,非静态成员会被加载堆内存中,并完成成员变量的赋值初始化。也就是说所有的非静态成员(包括成员变量、成员方法、构造方法、构造代码块、普通代码块)是保存在堆内存中的,但是方法调用的时候,调用的方法会在栈内存中执行,构造代码块也会在栈内存中执行。

    点赞 评论

相关推荐