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) 当我们在程序中,申明一个局部变量的时候,此变量就...

static关键字的特点之——类静态成员变量在内存中的位置

在类成员变量中,必要的时候可以用static将成员变量修饰为静态,来提高代码高效性、节省内存空间; 在程序执行时,先将class文件加载进内存中的方法区,然后主方法进栈,主方法执行过程中会定义变量(基...

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

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

zsh下配置命令别名

使用别名可以减少命令行下的输入,优雅地提高效率。这里仅针对zsh,bash下基本一致。找到zsh的配置文件.zshrc(~.zshrc),添加别名配置 例如 alias install="sudo ...

java按字节截取字符串

java面试题:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"...

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

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

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

刚学Java的时候我也有过这种怀疑,但一直没有验证;最近在OSCHINA上看到有人在回答问题时也这么说,于是萌生了一探究竟的想法——java.lang.Object.hashCode()的返回值到底是...
  • god8816
  • god8816
  • 2016年12月25日 00:57
  • 842

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

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

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

Lee出品,转载请注明出处http://blog.csdn.net/hnulwt/article/details/42934365 对于软件开发者而言,理解和熟悉计算机内存知识是很基础的。今天我就来...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中 static变量和方法到底是存在内存什么区域呢?
举报原因:
原因补充:

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