A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 19886wang 中级黑马   /  2015-5-1 16:18  /  1386 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[size=14.285715103149414px]由该博客产生的问题    [size=14.545454025268555px]http://blog.csdn.net/woainike/article/details/6413984[size=14.545454025268555px]该博客给出以下几个理论:
1.成员变量又分为

[size=14.285715103149414px]实例变量
[size=14.285715103149414px]和
[size=14.285715103149414px]类变量[size=14.285715103149414px](static[size=14.285715103149414px]静态变量[size=14.285715103149414px]).
2.[size=14.285715103149414px]全局变量应该是成员变量的俗称[size=14.285715103149414px]3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放
[size=14.285715103149414px]4.[size=14.285715103149414px]实例变量取决于类的实例。每创建一个实例,[size=14.285715103149414px]java[size=14.285715103149414px]虚拟机就会为实例变量分配一次内存,实例变量位于堆区中
[size=14.285715103149414px]全局变量若是成员变量的俗称,成员变量包含实例变量和类变量,由3全局变量时存储在静态区的,但是4又说实例变量时存储在推中的。
[size=14.285715103149414px]理解障碍:
[size=14.285715103149414px]全局变量和类变量是从属关系还是相同的?全局变量存储在哪?成员变存储在哪里?


评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

15 个回复

倒序浏览
为什么没有人回复我,是问题太弱了么~:'(
回复 使用道具 举报
只要是基本变量类型就是存储在栈 对象类型都是存储在堆 成员变量也是存储的堆
回复 使用道具 举报
看完我也是醉了!  我只找到概念仅供参考,理解还是有些困难,具体在那里存储 我也不清楚
全局变量:也叫成员变量,是指在类中定义的变量,它在整个类中都有效。全局变量又可分为:类变量和实例变量。
http://blog.csdn.net/ydt_lwj/article/details/8967443  这有一个博客写的不错你看看
回复 使用道具 举报
储存在方法区
回复 使用道具 举报
带static就是在静态存储区,反之不是
当我们实例化一个类的时候,首先会创建静态的属性于静态存储区,
之后会创建类所属的属性,就是你说的全局变量于栈中,
如果属性为8种基本数据类型,则栈中存放值,
反之,栈中存放指向堆内存的地址

建议阅读--<<thinging in java>>
回复 使用道具 举报
Java貌似没有全局标量的感念,只有“成员变量”~

作用和全局变量是一样的。
回复 使用道具 举报
zy18692243338 发表于 2015-5-8 23:05
带static就是在静态存储区,反之不是
当我们实例化一个类的时候,首先会创建静态的属性于静态存储区,
之后会 ...

谢谢!!
回复 使用道具 举报
一般不建议使用全局变量。。因为它一直存在与内存中,除了重启 JVM 吧,要不然一直占用资源。高手才知道怎么处理他,我们这种小菜鸡,只要知道尽量少用就行了
回复 使用道具 举报
全局变量是在静态存储区当中的,由于java是运行在jvm上所以除非结束jvm否则会一直占用内存,不像C的语言这些只要程序关了就行了
回复 使用道具 举报
为什么 这段话这么长 我表示没看懂
回复 使用道具 举报
中间是什么东西,怎么看不清楚
回复 使用道具 举报
Cat 中级黑马 2015-5-12 21:52:26
13#
学习一下~
回复 使用道具 举报
应该是栈和堆里面存储吧,我也正在看,也有些不懂,等这两天看懂了,再来补充。
回复 使用道具 举报
美女  支持一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马