JAVA中的成员变量和局部变量的位置

JAVA中的成员变量存储在堆内存中,而局部变量存在于栈内存中JAVA中的成员变量存储在堆内存中,而局部变量存在于栈内存中

0

3个回答

首先,你自己也明白成员变量存在堆中,局部变量存放在栈中。
其次,栈:是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量
堆:是一个可动态申请的内存空间(其记录空闲内存空间的链表由操作系统维护),是一个运行时数据区。
最后:成员变量:是在程序加载时jvm就为它分配了内存;局部变量:是在执行到它的时候才会在栈中为它分配内存,一旦它脱离自己的作用域,那么内存就会被释放。

0

1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型
2.成员变量存储在堆,局部变量存储在栈
3.存在时间不同
4.成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值

0

JAVA中的成员变量存储在堆内存中,
而局部变量存在于栈内存中
这句话,,,不完全对,

jvm五大部分
(1). 堆,------------ 存放对象实例数据,数组开辟等等。是一块共享的区域(比较大)
(2). 虚拟机栈 ------- 线程私有,用来存放线程运行时的数据(也包含对象的引用,不包含对象的实例数据)
(3). 本地方栈 ------- 功能同虚拟机栈,只是用运行本地方法。
(4). 程序计数器 ----- 线程私有,用来标记当前线程运行到字节码的位置。
(5). 方法区 --------- 包含类的信息,常量池,常量一般存放在这里。

还有什么问题还可以追问,,,对你有帮助请采纳,,,哎纯手码。

0
Small_Mouse0
小鼠标丶 http://blog.csdn.net/small_mouse0/article/details/76861957这是我自己总结的jvm思维导图,,你可以瞅瞅)
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java中成员变量、局部变量、全局变量、静态变量存在位置及初始化
根据定义变量位置的不同,可以将变量分为成员变量和局部变量。rn成员变量是 定义在一个类的变量:类中方法外 局部变量是定义在一个方法内的变量:方法中rn成员变量分为:rn静态属性:随类的存在而存在,是在类加载的初始化rn非静态属性:随实例的属性存在而存在。rn局部变量:rn局部变量不能加static,包括protected, private, public这些也不能加。局部变量保存在栈中。rn局部编程必须在声明时...
java 成员变量以及局部变量的区别及存储
成员变量:1.存储在类中,在方法之外 n 2.初始化有默认值 n 3.值存储在堆中 n 4.生命周期:当对象为null时,由jvm中垃圾机不定时的回收,但也不是立刻回收局部变量:1.存储在方法之中 n 2.初始化没有默认值 n 3.值存储在栈中
java 成员变量和局部变量深入理解
1. 成员变量无需显示初始化信息,系统会将成员变量自动初始化2.因为成员变量不是静态变量,不会独立与实例而存在,而该类实例化后放在堆中,所有存放在堆成员变量就中3.java虚拟机栈是线程私有的,生命周期跟线程相同,每个方法在调用的时候都会创建一个建帧用于存储局部变量的表,操作数栈,动态链接,方法出口等信息,每个方法调用的过程,就代表一个键帧在虚拟机栈到出栈的过程,当进入一个方法时,这个方法在栈中需...
成员变量和局部变量(栈和堆)
成员变量和局部变量1,两者的作用域不同:局部变量只能在定义它的方法中被使用,出了方法就等于被销毁;(全局)成员变量是创建在类中但又在方法之外的变量,它的作用范围是整个类2,初始值不同:假如我们不给变量赋值,那么java会自动给成员变量(全局变量)赋一个初始值;并不会给局部变量赋初始值;3,使用注意规范: 局部变量规范:a在同一个方法中不能同时存在同名的局部变量;不同的方法可以存在同名局部白能量; ...
Java类和对象、方法、成员变量和局部变量
参考资料nn[1]. 疯狂Java讲义(第三版) 李刚 nnnn类和对象nnnn定义类nn类(class)和对象(object,也被称为实例,instanceof),其中类是某一批对象的抽象,可以把类理解成某种观念,对象才是一个具体的实体。 n普通类或抽象类的语法如下:nnnn[public] [final] [abstract] class 类名 [extends 被继承的类名,] implem
成员变量存在堆中,局部变量存在栈中的理解
局部变量,如果是基本数据类型,那么就直接存在栈中,如果是应用数据类型,比如String str = new String("12");,会把对象存在堆中,对象的引用(指针)存在栈中,成员变量,类的成员在不同对象中各不相同,基本数据类型和引用数据类型都存储在这个对象中,作为一个整体存储在堆中。而类的方法是所有的对象共享的,方法是存在方法区的,只用当调用的时候才会被压栈,不用的时候是占内存的。...
成员变量、局部变量、常量和静态变量在内存中的分配
代码如下:nnnpublic class Birthday {n public static int constant = 1;//静态边量 类加载放在方法区内存中n public final int constant_final = 1;//常量 类加载放在方法区内存中n private int day;n private int month;n private int year;nn publ...
Java局部变量与成员变量的定义位置及区别
语法:nn成员变量:访问权限修饰符 修饰符 类型 属性名;nn局部变量:修饰符类型 属性名;nnn局部变量没有访问权修修饰符(public private...),但有修饰符static (静态)final(常量)transient (该属性不能被序列化)volatile 线程安全nnn定义位置:nn成员变量:类中,方法外nn局部变量:方法里、方法的参数、代码块中nnn不是在类中方法外的一般都...
JAVA中局部变量和成员变量的区别
如题:rn局部变量描述的是这个方法体内的属性,而成员变量描述的是这个对象里的属性的,它们之间的区别如下:rn1.成员变量可以被public、protected、default、private、static、final修饰符修饰。rn2.局部变量可以被final修饰符修饰,但不能修饰public、protected、default、private、static。rn3.成员变量是在堆里进行创建的,而
JAVA基础之局部变量与全局变量以及成员变量的区别
局部变量rn定义:在方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的内存将被释放。rn全局变量rn定义:全局变量,又称“外部变量”,它不是属于哪个方法,作用域从定义的地址开始到源文件结束。rnrn注意事项:rn当局部变量与全局变量重名时,起作用的是局部变量。rn成员变量rn定义:在类体的变量部分中定义的变量,也称为字段。rn区别:rnjava中没有全局变量的定义,这是C中的
Java 类中 成员变量及局部变量的范围
注意:如果 局部域内有该变量M,则先调用M;没有则扩大范围,调用成员变量 n实例说明:int m =0;npublic int printNum(int n ){n for (int i = 0; i < n; i++) {n for (int j = 0; j <i; j++) {//如果n为4,只有i为1 2 3 才执行内循环n Syst
Java之成员变量、全局变量、局部变量的区别
存储区域:nn全局变量(全局静态变量)是放在方法区中。nn成员变量如果没有实例化那么变量是放在栈中;实例化了对象放在堆中,栈中放的是指向堆中对象的引用地址。nn局部变量放在栈中,new的对象放在堆中,8中基本数据类型变量放在栈中,变量所对应的值是放在栈帧中。nn生命周期:nn全局变量:当类加载的时候,就开始被创建,在类中只有一份; 会跟着类的消失而消失,生存时间叫长。nn成员变量:在对象被创建时而...
成员变量、类变量、局部变量的区别
面向对象编程nnn1.封装性n面向对象编程核心思想之一就是将数据和对数据的操作封装在一起,通过抽象即从具体的实例中抽取共同的性质形成一般的概念。n2.继承n子类可以继承父类的属性和功能,即子类继承了父类所有的数据和数据上的操作,同时又可以添加子类独有的数据和数据上的操作。n3.多态有两种意义的多态   nn   1)操作名称的多态n   2)和继承有关的多态nnn类:
java中从内存区域和类加载机制理解类变量、成员变量和局部变量加载过程
1 定义nnnn1.1 类变量nn归属类的变量,它是通过在定义类的属性的时,增加static修饰符,所以又称为静态变量。类变量不仅可以直接通过类名.变量名来访问,也可以通过类对象.变量来访问.nn1.2成员变量nn归属于类的实例的变量,没有经过static修饰,成员变量存在于类之内,方法和代码块之外。实例变量只能通过类对象.变量访问。 nnnn1.3局部变量nn是在类中方法体里面所定义的变量,不管...
java中成员变量和局部变量的初始化
java中成员变量和局部变量的初始化n成员变量的初始化 n在java中,成员变量存在于类之内,方法和代码块之外。nclass A{n修饰符  数据类型 成员变量名;n方法(){}n}这类变量在创建时如果不给初始化值,创建之后java会自动赋默认值:n 基本数据类型n 默认值 byten 0n shortn 0n intn 0n longn 0Ln charn \u0000(空
java中的成员变量和成员方法的修饰符和局部变量的修饰符
在java中成员变量和成员方法的修饰符有以下几种:可以被 public static protected default final 修饰局部变量只能被 default 和final修饰
Java中静态变量(类变量)、实例变量、局部变量和成员变量
导读nn学习Java的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。nn例程nnnnpackage com.cunyu.demonnpublic class Demo {nn private String name; //成员变量、实例变量n private int age; //成员变量、实例变量n private int ID; ...
java中成员变量(实例变量),局部变量,类变量的区别
主要从以下几个方面来比较:n作用域:n成员变量:成员变量又叫实例变量,它是类的实例,所作用于所在的整个类。n局部变量:只在某个范围有效(例如方法中)。n类变量:有效性主要和变量前的修饰符有关,例如private修饰就只对此类有效,public对所有包都有效。n存储位置:n成员变量:随着对象的创建而创建,对象消失则此变量也消失,存储于堆内存中。n局部变量:在方法被调用时产生,方法调用结束则变量消失。...
Java变量分为静态变量,成员变量,局部变量,说明他们的生命周期以及作用域?
n静态变量随着类的加载而存在,随着类的消失而消失。作用在类中,方法外;n成员变量随着对象的创建而存在,随着对象被回收而释放。作用在类中,方法外;n局部变量随着方法的创建而存在,随着方法被回收而释放。作用方法中,或者方法的形式参数;nn总结:nnnnnnn成员变量n局部变量n静态变量nnnnn定义位置n在类中,方法外n方法中,或者方法的形参n在类中,方法外nnn初始化值n有默认初始化值n无,先定义,...
Java中类对象成员变量与局部变量的区别
在java编程语言中,类是经常被使用的,而有了类的定义,对象也是必不可少的。但是类中的成员变量和局部变量有着很多区别。nnA:初始化值不同nn       对象成员变量:有默认的初始化值。nn               局部变量:无默认的初始化值,必须赋值nn如图:nnnnnn如果不对基本数据类型的数据进行变量初始化,则会有报错。       nnB:在类中的位置不同nn            ...
Java之this关键字区分局部变量和成员变量
0.0这里的代码是从别的地方截取的,大家不明白也没啥。 nthis关键字区分局部变量和成员变量,访问成语变量时+this,当局部变量与成员变量同名时,使用this进行区分。 n例如: void introduce()n {n int tel =00000000000;n System.out.println("name:"+name+" "+"Tel:"+t
多线程-局部变量和成员变量
Java多线程对成员变量和局部变量的影响最近复习了一下Java多线程的一些基础的础知识,这里演示一个java多线程对成员变量和局部变量的Demo对局部变量的操作:/**n * Java局部变量和成员变量代码演示n */npublic class TTTTTT {n public static void main(String[] args)n {n DemoThread
Java学习笔记02--成员变量和局部变量、构造函数、构造代码块、this关键字、static关键字、静态函数
nnn成员变量和局部变量n构造函数njava构造函数函数详解niOS构造函数对比描述nnnnnimport nimport “Person.h”n快捷键nMarkdown及扩展n表格n定义列表n代码块n脚注n目录n数学公式nUML 图:nnn离线写博客n浏览器兼容nnnnnnnnnn成员变量和局部变量nnn自定义的位置区别:nn成员变量是定义在方法之外,类之内的变量。 n局部变量是声明在方法之内的...
JAVA成员变量(又叫全局变量)和局部变量的区别
 成员变量局部变量作用域整个类所在的方法初始化默认有初始化值默认没有初始化值优先级低高
java 图说 全局变量 成员变量 静态变量 实例变量 局部变量 的关系和区别
刚入门java时,对这些个和种名称的变量名搞得晕头转向,而在网上搜资料呢,大家 讲的是东一块西一块,很不成体系,所以特别整理出我自己的东西,希望能帮到正在迷惑的其他猿们啊~~ nn直接上图,你就会恍然大悟了 nnnn例 1 nnpublic class Demo01 {nn static int j=10;nnn public static void main(String[] a...
Java中ThreadLocal,成员变量和局部变量。
一.成员变量和局部变量nn1.程序例子:nnnpublic class HelloThreadTestn{n public static void main(String[] args)n {n HelloThread r = new HelloThread();nn Thread t1 = new Thread(r);n Thread t2 ...
Java 成员变量和局部变量
Java 面向对象中的两类 变量 : 成员变量和局部变量
【Java笔记】成员变量和局部变量的概念理解和区别
成员变量和局部变量的概念理解和区别碍于自己的Java基础战五渣,只能从头开始复习一些基础概念,顺便做一下笔记,shame…成员变量和局部变量的概念成员变量的概念: rn成员变量就是属于类的变量,在类中,方法体外定义的变量成员变量又分为两种:rn类变量(又称静态变量)rn实例变量(又称非静态变量)rn类变量(静态变量)是被static所修饰的成员变量,是属于类的部分,属于类的范畴。 rn实例变量(非静态变量)是
Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量
代码示例rnpublic class Student {rn rn private int Id;//成员变量(字段)、实例变量(表示该Id变量既属于成员变量,又属于实例变量)rn private String name;//成员变量(字段)、实例变量rn public int age;//成员变量(字段)、实例变量(这里用来举例子,在实际中一般都会设置为private)rnrn rn ...
类变量、成员变量、实例变量、局部变量、静态变量、全局变量的定义与区别
全局变量全局变量又叫成员变量,它是声明在类里,函数,静态语句块外的变量,全局变量又分为类变量(静态变量)、实例变量两种. n 通过代码来看一下:private long i;//实例变量nprivate static long j;//类变量实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。而由static修饰的类变量(静态变量)在类装载的时候就会被初始化,也就是说一处修改多处改变.
JAVA 多线程对成员变量与局部变量的影响
1 http://www.cnblogs.com/eason-chan/p/3684194.html
【java基础知识(学习笔记)】--类和对象的区别,局部变量和成员变量区别,基本类型和引用类型作为参数传递
1.1    类和对象的区别面向对象的编程思想力图在程序中对事物的描述与该事物在现实中的形态保持一致。为了做到这一点,面向对象的思想中提出两个概念,即类和对象。其中,类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。接下来通过一个图例来抽象描述类与对象的关系,如下图所示。图1-1     类与对象在上图中,可以将玩具模型看作是一个类,将一个个玩具看作对象,从玩具模型和玩具之间的关系便...
成员变量与局部变量与sychronized和效率与线程安全的关系
从JVM内存的层面来讲,线程不安全是因为多线程共用堆内存引起的,多线程是为了提高程序运行效率而来的,因为成员变量在堆内存中,而局部变量是随栈的所以不会影响线程安全,另外可以通过sychronized(){}修饰代码或方法达到对共用数据的保护。这样我们就有了三种模式,三种模式各有利弊。nnn1,使用成员变量n优点节约了栈消耗的内存,总体节约了内存n缺点是多线程下会造成线程不安全n2,使用
Python的类变量和成员变量以及局部变量
Python的类变量可以通过类和实例名字进行访问而成员变量只能通过实例名来访问,局部变量只能在方法体内被使用。http://blog.csdn.net/lc_910927/article/details/38757363类变量和成员变量虽然名字相同但是存储的地址不是相同的。# -*- coding: utf-8 -*-nclass A():n privatestring="aa"n de
java,成员变量与方法参数或自定义的局部变量同名要用this,system.out.println(this)用法,
class A {n int num;n String name;n// void A(int p_num,String p_name){ //TTTT///参数名和成员变量名不同,可以这样做;n// num=p_num;n// name=p_name;n// }n// void A(int p_num,String p_name){ //TTTT///参数名和成员变量名不同,可以这样做;n/
java 堆、栈、方法区/ 类变量、成员变量、局部变量
方法区:类信息、类变量(静态变量和常量)、方法 n堆:对象 n栈:变量 n(1)当程序运行时,首先通过类装载器加载字节码文件,经过解析后装入方法区!在方法区中存了类的各种信息,包括类变量、常量及方法。对于同一个方法的调用,同一个类的不同实例调用的都是存在方法区的同一个方法。类变量的生命周期从程序开始运行时创建,到程序终止运行时结束! n(2)当程序中new一个对象时,这个对象存在堆中,对象的变量存在
Java-实例变量、局部变量、类变量与final变量的区别
把Java中的实例变量、局部变量、类变量与final变量之间的关系的思路重新整理一遍。俗话说的好“好记忆不如烂笔头”,在此分享一下。
final成员变量和final局部变量
达人科技 2016-10-10 10:00nn一 final变量简介n1 final修饰变量时表示该变量一旦获得初始值之后就不可能改变。n2 final既可修饰成员变量,也可修饰局部变量。n二 final修饰成员变量n1 final修饰成员变量时,必须由程序员显示地指定初始值。n2 类变量:必须在静态初始化块中指定初始值或声明该变量时指定初始值,而且只能在两个地方的其中之一指定。
成员变量和局部变量区别以及对象的内存图
一、成员变量和局部变量区别nnnn在类中的位置不同 重点n成员变量:类中,方法外nn局部变量:方法中或者方法声明上(形式参数)nn从上面的图,就可以看出nn作用范围不一样 重点n成员变量:类中n           局部变量:方法中nn成员变量在整个类中都可以调用,局部变量只能在方法中调用nn初始化值的不同 重点n成员变量:有默认值,nn局部变量:没有默认值。必须先定义,赋值,最后使用nn在内存中...
12_变量_成员变量和局部变量_常量_命名规范
1.变量(Variable)n 我们通过变量来操纵存储空间中的数据,变量就是指代这个存储空间!空间位置是确定的,但是里面放置什么值不确定!
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java中this的学习 java中常用框架学习