物理地址

堆的物理地址分配对对象是不连续的。因此性能慢些。在GC的时候也要考虑到不连续的分配,所以有各种算法。比如,标记-消除,复制,标记-压缩,分代(即新生代使用复制算法,老年代使用标记——压缩)

栈使用的是数据结构中的栈,先进后出的原则,物理地址分配是连续的。所以性能快。

内存分配

堆因为是不连续的,所以分配的内存是在运行期确认的,因此大小不固定。

栈是连续的,所以分配的内存大小要在编译期就认,大小是固定的。

存放内容

堆存放的是对象的实例和数组。因此该区更关注的是数据的存储

栈存放:局部变量,操作数栈,返回结果。该区更关注的是程序方法的执行。

PS:

  1. 静态变量放在方法区
  2. 静态的对象还是放在堆。

可见度

堆对于整个应用程序都是共享、可见的。

栈只对于线程是可见的。所以也是线程私有。他的生命周期和线程相同。

jav基础回顾-内存结构相关推荐

  1. Java基础——JVM内存结构

    推荐阅读:https://www.cnblogs.com/wangjzh/p/5258254.html 一.内存结构图 先导知识: 一个 Java 源程序文件,会被编译为字节码文件(以 class 为 ...

  2. [Java基础] -- Java7/8 内存结构的理解

    本文转自:https://blog.csdn.net/laomo_bible/article/details/83067810 Java内存结构是每个java程序员必须掌握理解的,这是Java的核心基 ...

  3. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

  4. java多线程构造函数_java线程基础巩固---多线程与JVM内存结构的关系及Thread构造函数StackSize的理解...

    多线程与JVM内存结构的关系[了解]: 对于最后一个有疑问的构造中stackSize参数,其实学过编程滴人从参数字面就比较容易理解,栈大小嘛,这里从官方文档上来了解一下这个参数: 而之前在学习java ...

  5. Go 存储基础 — 内存结构体怎么写入文件?

    作者 | 奇伢       责编 | 欧阳姝黎 概述 讲了那么多存储的通用知识,从 Linux 的文件系统,块层,再到磁盘,都做了一些深入的分享.今天分享一个 Go 编程的使用技巧:怎么把内存的结构体 ...

  6. 菱形继承,多继承,虚继承、虚表的内存结构全面剖析(逆向分析基础)

    // 声明:以下代码均在Win32_Sp3   VC6.0_DEBUG版中调试通过.. 在逆向还原代码的时候,必须得掌握了菱形继承,多继承,虚继承虚函数的内存虚表结构.所以,这篇文章献给正在学习C++ ...

  7. 线程基础知识_线程生命周期_从JVM内存结构看多线程下的共享资源

    线程生命周期 线程状态 New: 线程创建(new Thread()) Runnable: 线程可运行(thread.start()), 注: 调用start并不一定是运行状态, 可能在等待CPU调度 ...

  8. C基础 | 【05】(内存结构以及复合类型)

    文章目录 内存结构 作用域 局部变量 全局变量 静态变量 静态局部变量 静态全局变量 全局函数和静态函数 静态函数 全局函数 内存布局 内存分区 代码区(程序指令) 数据区(静态区.全局区) 栈区 堆 ...

  9. java基础学习之this和super和内存结构

    this的内存结构 this的特性 this是什么,在内存方面是怎么样的? this是一个变量,是一个引用.this保存当前对象的内存地址,指向自身.所以,严格意义上来说,this代表的就是" ...

最新文章

  1. lazyload.js实现图片异步延迟加载
  2. 知乎如何运用OKR管理公司目标,达成绩效?
  3. Markdown创建页面和目录?
  4. signature=8cc1e8491a741a9dc954b549013b75e5,基于小波的SAR影像纹理分析
  5. 选择排序法对数组进行排序
  6. 最全BAT数据库面试89题:mysql、大数据、redis
  7. 【Python】pdfminer3k模块批量转换本地PDF文件
  8. win10服务器文件夹显示不全,如何让Win10文件夹始终显示功能区有哪些方法
  9. Linux下使用Iptraf进行网络流量的分析
  10. 我的世界基岩版json_Minecraft 基岩版 Ubuntu服务器搭建(三)
  11. 用python实现分段函数_在Python中绘制分段函数
  12. MATLAB运行cpp文件(从配置到运行)
  13. css 网页自适应 @media screen详解
  14. 【Windows系统笔记】打造一个适合自己的windows系统
  15. oracle数据库硬恢复,oracle数据库恢复
  16. 戴尔910服务器系统安装教程,图解戴尔dell工作站T3600/T5600/T7600/T7910安装windows 7系统...
  17. 姓莫的女孩子叫什么名字好听
  18. 翻译翻译,什么是CAP
  19. 小学语文一年级~六年级生字表合集描红临摹字帖PDF直接A4纸打印版
  20. 解决抖音爱心动画实现

热门文章

  1. SQL yog解除30天试用限制
  2. 实现文件中名词的统计计数_SOLIDWORKS PDM系统中如何实现PDF文件批量签章?
  3. 沈阳航空航天大学计算机研究生毕业去向,沈阳航空航天大学在职研究生毕业生的就业前景...
  4. 手机邮箱不下载可以使用么,手机邮箱怎么登录呢?
  5. 艾默生:默默消化在7.5亿美元并吞华为之后
  6. 关于人口普查的那些事,我用地图可视化把数据说明白
  7. css强制换行、禁止换行、超出两行或三行显示省略号...
  8. day02Web开发流程图解
  9. Excel函数词典(483个函数说明 Excel函数公式Excel小技巧
  10. [Reprint]c++ 析构函数的调用