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变量和方法到底是存在内存什么区域呢?

JVM内存总体一共分为了 4个部分(stack segment、heap segment、code segment、data segment) 当我们在程序中,申明一个局部变量的时候,此变量就...

java中堆栈(stack)和堆(heap)(还在问静态变量放哪里,局部变量放哪里,静态区在哪里.....进来)

(1)内存分配的策略   按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.  静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而...

java学习之旅36--面向对象_09_static变量和方法_内存分析static

static关键字(随着类的加载而加载,优先于对象存在,被所有对象所共享,可以被类名直接调用) 内存分析 Student.java Test.java 静态初始化

Java的Object.hashCode()的返回值到底是不是对象内存地址?

java的Object.hashCode()返回的到底是不是对象的内存地址?相信大家都曾对此问题有所怀疑,本文通过实验探究 和 ART(Android Runtime)、OpenJDK的源码分析为大家...

栈、堆内存到底是如何申请的,方法是如何入栈出栈的——内存结构理解学习

对于软件开发者而言,理解和熟悉计算机内存知识是最为基础的了。今天我就来翻翻旧账,回顾回顾看看我有哪些点遗漏了,在此共同学习。 提起内存,我们常常想到三个区域: 1,静态区,静态变量 static va...
  • hnulwt
  • hnulwt
  • 2015-01-23 19:42
  • 2790

java方法传参方式---到底是传值还是传址,还是两者都不对!!!

今天刚好领导写了几个面试新人的基础题,其中就有一道涉及java方法传值的题目,其实这个问题不仅对一些新人有难度,甚至可能对一些工作了好多年的人都搞不清楚,今天我就在这里简单的和大家分享下.   题目...

对java中static变量和方法的总结

http://hi.baidu.com/zjq588/blog/item/a11114d8b6c0ce3632fa1c78.html java中一切皆是对象 一个类中对象的定义一般都是...

java 静态方法和静态变量 static

静态方法:在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 介绍一个类 Math:The class Math contains methods for perfo...

Java 中的 static 使用之静态变量·静态方法·静态初始化块

Java 中的 static 使用之静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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