`
geke260
  • 浏览: 13519 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java 内存存储

阅读更多
全局变量包含在类对象中,因为所有的对象都在堆上生成,所以全局变量是随对象放在堆上的。
但,方法中的局部变量就不一样了,它们被放在方法栈的栈帧中(注意,如果在方法中生成对象,该对象一样在堆中创建,不过引用该对象的引用变量是放在栈帧中的)

所有的对象都是在堆上创建(Class对象除外),即使是在方法中创建的对象也是这样。

每一个线程都有自己独立的栈和程序记数器,所有线程都共享方法区和堆!

静态变量放在方法区中。每个类都有一个对应的Class对象,静态变量放在它所属的类的Class对象中。Class对象放在方法区中。也就是说,静态变量也被放在方法区了。

如果静态变量是一个引用变量,它引用某个对象,那么这个对象仍然生成在堆上,只不过这个引用变量随Class对象放在方法区。
分享到:
评论

相关推荐

    深入Java核心 Java内存分配原理精讲

    Java内存分配与管理是Java的核心技术之一,今天我们深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:  ◆寄存器:我们在程序中无法控制  ◆栈:存放基本类型的...

    《深入理解JAVA内存模型》PDF

    Java线程之间的通信由Java内存模型(本文简称为JMM)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main ...

    Java中的各种数据类型在内存的的存储方式

    Java内存管理机制是什么样的?java中数据在内存中是如何存储的?

    探讨Java的对象是怎么在内存中产生的?

    个人对于Java对象在JVM中的探讨,Java对象是怎么产生的,内存模型是什么样的?

    java实现内存动态分配

    虽然Java中所有对象的存储空间都是在堆中分配的,但是这个对象的引用却是在栈中分配,也就是说在建立一个对象时在堆和栈中都分配内存,在堆中分配的内存实际存放这个被创建的对象的本身,而在栈中分配的内存只是存放...

    Java对象存储java-dirty.zip

    java-dirty 是一个快速的基于文件的对象存储系统,只能往存储里添加对象,使用内存映射文件技术。示例代码:Store store = Store.of(Foo.class).from("/path/to/file"); store.put(new Foo(1,2)); store.all()....

    传智播客_Java基础_Java内存结构

    但是初学者往往深陷Java语言的内存存储结构模型,大量复杂的设计模型使其很难对所学知识进行融会贯通。李若亮老师带你深入剖析Java编程中所内存涉及的方方面面,从JVM的内存申请,到Java语言的内存加载以及Java语言...

    java内存模型的介绍和说明

    介绍java的内存管理方式和特点 1.JMM 简介 2.堆和栈 3.本机内存 4.防止内存泄漏

    JAVA内存分配精讲.docx

    Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到...

    基于内存的分布式存储系统Tachyon

    关于基于内存的分布式存储系统Tachyon的介绍文档,可以看看

    深入Java内存分配

    Java有几种存储区域? java内存分配 Java内存模型 Java内存分配实例解析 String 常量池问题 堆(Heap)和非堆(Non-heap)内存 堆内存分配 非堆内存分配

    JAVA 内存管理总结

    JAVA 内存管理总结 1. java是如何管理内存的 2. 什么叫java的内存泄露 3. JVM的内存区域组成 4.Java中数据在内存中是如何存储的 5. Java的内存管理实例

    Java中堆内存和栈内存详解

    详细的讲解了java内存分配,包括运行时堆和栈内存的分配,变量和方法存储等

    Java程序执行内存分析

    java 生成对象的时候以及调用方法的时候,所使用的空间分布,包括对象和变量在内存的存储方式和分布方式的讲解。

    Java核心基础+Java中的数据在内存中的存储

    1、内存中的堆(stack)与栈(heap) 2、Java中数据在内存中的存储 基本数据类型的存储 ...3、Java内存分配中的栈 Java内存分配中的堆 4、String.intern() 5、关于equasl()与== 6、关于String是不可变的

    Java中栈内存和堆内存详解

    Java中栈内存和堆内存详解,非常容易理解

    JAVA操作系统实验存储管理图形化模拟程序

    是一个模拟存储管理过程的操作系统程序,采用JAVA16编写,有图形化界面GUI。程序包含首次适应算法、循环首次适应算法、最佳算法和最差算法。并且包括存储收回的分区合并问题的四种情况。

    Java内存与垃圾回收调优.docx

    Java内存与垃圾回收调优,Java内存与垃圾回收的调优是一个重要的主题,特别是在高性能和大规模的应用程序中。以下是一些关键的调优建议和步骤: 理解内存结构: Java堆是主要的内存区域,用于存储对象实例。 堆内存...

    Java内存模型案例讲解.docx

    Java线程之间的通信由Java内存模型简称JMM(Java Memory Mode)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM是这样定义线程和主内存之间的抽象关系的:线程之间的共享变量...

    java内存机制,分析堆和栈的存储特点.pdf

    java内存机制,分析堆和栈的存储特点.pdf

Global site tag (gtag.js) - Google Analytics