java中 static变量和方法到底是存在内存什么区域呢?

转载 2012年03月29日 13:45:49

java中 static变量和方法到底是存在内存什么区域呢?  

2010-08-13 10:27:54|  分类: java学习 |  标签: |字号 订阅

突然被某人问道:java中 static变量和方法到底是存在内存什么区域呢?
由于好久没有复习j2se(或许以前学习的不够到位)我居然也回答不上来,后来查了下相关的资料,原来:
内存总体一共分为了
4个部分(stack segment、heap segment、code segment、data segment)
当我们在程序中,申明一个局部变量的时候,此变量就存放在了 stack segment(栈)当中;
当new 一个对象的时候,此对象放在了heap segment(堆)当中;
而static 的变量或者字符串常量 则存在在 data segment(数据区)中;
那么类中方法的话,是存在在 code segment(代码区)中了。

java中static内存图解

static使用的指意事项: 1.静态方法只能访问静态成员变量和函数 。 注:非静态既可以访问静态也可以访问非静态 2.静态访问中不能使用this和super 3.主函数是静态的...
  • wundertone
  • wundertone
  • 2016年02月10日 14:52
  • 712

java中 static变量和方法到底是存在内存什么区域?

JVM内存总体一共分为了  4个部分(stack segment、heap segment、code segment、data segment)  当我们在程序中,申明一个局部变量的时候,此变量就...
  • likunyv
  • likunyv
  • 2017年07月06日 16:16
  • 64

java中 static变量和方法到底是存在内存什么区域呢?

JVM内存总体一共分为了  4个部分(stack segment、heap segment、code segment、data segment)  当我们在程序中,申明一个局部变量的时候,此变量就存放...
  • u014136713
  • u014136713
  • 2016年06月21日 14:44
  • 3499

内存分配——静态存储区 栈 堆 与static变量

一、内存基本构成     可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。     静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的...
  • hushpe
  • hushpe
  • 2015年04月30日 16:05
  • 6112

static的在内存中的存放位置

JVM内存总体一共分为了 4个部分:stack segment、 heap segment、 code segment、 data segment)stack segment(栈):局部变量:如...
  • expect521
  • expect521
  • 2017年08月23日 14:25
  • 788

java 内存区域及存放内容

1、程序计数器: 程序执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖程序计数器完成。 2、栈 主要...
  • fjkxyl
  • fjkxyl
  • 2017年04月10日 17:23
  • 421

static 方法和static 变量

static方法不能直接访问类内的非static变量和不能调用this,super语句分析     大家都知道在static方法中,不能访问类内非static成员变量和方法。可是原因是什么呢?    ...
  • lei1160427600
  • lei1160427600
  • 2016年07月14日 16:51
  • 1424

Java static 变量、方法的什么时候分配内存

static变量在项目
  • mijinghjb
  • mijinghjb
  • 2014年04月18日 10:55
  • 1574

【深入理解JVM】:Java内存区域

JVM具有自动内存管理机制,Java不需要像c/c++一样,为每一个new操作写配对的delete/free代码,不容易出现内存泄露和溢出。JVM内存区域主要包括如下部分:程序计数器、Java虚拟机栈...
  • u011080472
  • u011080472
  • 2016年05月05日 09:50
  • 1813

内存的存储方式 static关键字的作用

内存的存储方式 1.从静态存储区域分配 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。静态分配的区域的生命期是整个软件运行期,就是说从软件运行...
  • a6ds5s
  • a6ds5s
  • 2016年04月17日 21:48
  • 823
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中 static变量和方法到底是存在内存什么区域呢?
举报原因:
原因补充:

(最多只允许输入30个字)