详情参考:https://my.oschina.net/wangsifangyuan/blog/711329

前言:当要判断一个变量存在什么空间上哪儿时,先分析它是哪一种(是实例变量还是局部变量),实例变量存在于所属的对象中,因此在创建对象后才存在,存在于堆上;

   如果为局部变量,局部变量是被声明在方法中的,它是暂时的,且生命周期只限于方法被放于栈上的这段期间(方法调用至执行完毕),因此存在于栈上;

堆区:

1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 
2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身

栈区: 
1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中 
2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。 
3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。

方法区: 
1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。

2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。

注意容易入坑的地方:

    1、栈上只保存基础数据类型的对象和自定义对象的引用(对的),但是不是说基础数据类型的对象和自定义对象的引用只保存在栈上(这是错的)

1 public class Student{
2 private int age;
3}
1  public void go(){
2 Student students[] = new Student[3];
3 students[0] = new Student();
4 students[0].age = 20;
5 students[1] = new Student();
6 students[1].age = 20;
7 students[2] = new Student();
8 students[2].age = 20;
9    int a = 10;
10 }

      

最新文章

  1. MarkDown简要语法
  2. <转>Hibernate的优、缺点(局限性)
  3. 转!! Java中ThreadLocal的设计与使用
  4. 20145218 《Java程序设计》第01次实验报告
  5. Hibernate、批量操作数据
  6. Caché Monitor 2.03发布,Caché的SQL开发工具 - 开源中国社区
  7. 存储管理(一):openfiler介绍及存储理解
  8. Archive for required library:xxxxx/spring-beans-3.2.4.RELEASE.jar in project XXXXX cannot be read or is not a valid ZIP file
  9. Pymsql
  10. 一次apk打开时报内存溢出错误,故写下内存溢出的各种原因和解决方法
  11. keil教程之新建软件工程
  12. Bootstrap-table使用总结(整合版)
  13. PCA(主成分分析)的简单理解
  14. 对比PG数据库结构是否一致的方法
  15. centos7安装dnsmasq局域网dns
  16. 20181017 PL/SQL 记录
  17. Codeforces Round #503 (by SIS, Div. 1)E. Raining season
  18. C# 多线程之List的线程安全问题
  19. 剑指offer4
  20. R中的各种概率统计分布

热门文章

  1. 2. DVWA亲测命令执行漏洞
  2. [CentOS7] 通过vncviewer屏幕扩展
  3. SQL数据库操作整理
  4. Java实现发送邮箱验证码/注册验证链接
  5. C#网络编程学习(5)---Tcp连接中出现的粘包、拆包问题
  6. [APIO2019T1]奇怪装置
  7. codeforces C. Vasya And The Mushrooms (思维+模拟)
  8. Codeforces Round #129 (Div. 2) B
  9. ERROR: Unable to globalize '/usr/local/NONE/etc/php-fpm.d/*.conf' (ret = 2) from /usr/local/etc/php-fpm.conf at line WARNING: Nothing matches the include pattern '/usr/local/php7/etc/php-fpm.d/*.conf'
  10. scrapy可视化管理工具spiderkeeper使用笔记