zoukankan      html  css  js  c++  java
  • 堆与栈

    栈内存(stack)

    栈内存

    存放函数的参数值、局部变量(基本数据类型数据和引用数据类型的首地址)
    特点

    • 栈内存特点:先进后出、后进先出
    • 栈内存是一块连续的内存中间,由系统分配,速度快!
    • 每个线程都有自己对应的栈内存,不同线程的数据不会相干扰!
    • 栈内存有系统自己管理,无需程序员手动管理内存。

    缓存方式
      存放在一级缓存中, 他们通常都是被调用时处于存储空间中,调用完毕立即释放。

    堆内存(heap)

    存放new出来的对象和数组
    特点

    • 堆内存不连续的内存空间,分配灵活,速度慢。
    • 一个进程中共享同一份堆内存,每个线程公用一个堆内存!
    • 堆内存本质上需要程序员来手动管理内存(分配释放),但是java有垃圾回收机制来帮程序管理内存。

    缓存方式
      存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。

  • 相关阅读:
    sql 索引创建
    sql 触发器
    sql 中延迟执行
    sql 存储过程 分页
    BETWEEN and
    sql case when 速记
    Set无序怎么办?
    TCP为什么需要3次握手与4次挥手
    定时器
    JAVA 类加载器 第14节
  • 原文地址:https://www.cnblogs.com/lyang-a/p/stack_heap.html
Copyright © 2011-2022 走看看