java中栈,堆,静态域,常量池的说明

分两种情况:第一种就是在类的内部,栈中存放的是基本类型的变量数据和对象的引用,堆中存放的是所有new出来的对象,比如int a=10,则a=10就在栈中存放的,String a=new String(),则a就在栈中存放的,new String()在堆中存放的,a相当于一个指针指向new出来的那个String的内存地址,静态域中存放的是static定义的,public static int a=0,则a=0就存放在静态域中,常量池存放的是字符串常量和基本类型常量(public static final),如public static final int a=9,则a=9就存放在常量池中;第二种是在类的内部的那些new的对象,在那些对象中,他们的成员变量是在堆中存放的,局部变量是在栈中存放的,栈内存中的局部变量随着方法的消失而消失,堆内存中的成员变量由垃圾回收器负责回收

参考文章
Java堆、栈和常量池

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 任何语言所编写的程序,其中的各类型的数据都需要一个存储位置,Java中数据的存储位置分为以下5种: 1.寄存器 最...
    闭家锁阅读 2,312评论 0 0
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,372评论 11 349
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,518评论 0 3
  • 夏天到了,每天都是高温,酷暑难耐暑气攻心的时候,最幸福的事情就是吃上一根冒着冷气的雪糕。可是夏天如果没有节制的给宝...
    心理测试控阅读 211评论 0 0