gball个人知识库
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)

ggball

后端界的小学生
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)
  • 面试

  • 数据库

  • linux

  • node

  • tensorFlow

  • 基础组件

  • 基础知识

    • java集合

    • jvm调优

      • JVM大纲
      • 类加载器
      • JVM入门
      • java内存模型
        • 多线程数据一致性硬件层的支持?
      • java运行时数据区
      • 05_GC and Tuning
      • java对象内存布局
      • jvm垃圾收集器和内存分配策略
    • java并发编程

    • java网络编程

    • java8新特性

    • javaAgent

    • java高级

  • 算法与设计模式

  • 分布式

  • 疑难杂症

  • go学习之旅

  • 极客时间

  • 知识库
  • 基础知识
  • jvm调优
ggball
2021-10-08

java内存模型

自动内存管理

相关概念

野指针:比较野的指针,指向内存被释放的内存或者没有访问权限的内存的指针。 原因:野指针主要是因为这些疏忽而出现的删除或申请访问受限内存区域的指针。

内存泄漏:内存没有及时释放,导致其他线程无法申请使用。导致堆空间连续分布的内存越来越少。 (最后,当没有可用的连续分布的内存空间,此时线程申请使用更大一块连续的内存空间,则会出现“内存溢出”)

# 存储器的层次结构

image-20210404220052192

# 多线程数据一致性硬件层的支持?

  1. 给总线加把锁

image-20210404220213861

  1. 通过一致性协议

    一般是 MESI Cache一致性协议

    缓存行:

比如读取一个字节的东西,CPU不会只读取一个字节,而是会携带多个字节一起缓存下来,方便下次读取
1

伪共享问题

位于同一缓存行的两个不同数据,被两个不同CPU锁定,产生互相影响的伪共享问题

1
2

乱序问题

CPU为了提高指令执行效率,会在一条指令执行过程中(比如去内存读数据(慢100倍)),去同时执行另一条指令,前提是,两条指令没有依赖关系
1

内存屏障

防止指令重排的手段

image-20210405000035100

上次更新: 2025/06/04, 15:06:15
JVM入门
java运行时数据区

← JVM入门 java运行时数据区→

最近更新
01
AIIDE
03-07
02
githubActionCICD实战
03-07
03
windows安装Deep-Live-Cam教程
08-11
更多文章>
Theme by Vdoing
总访问量 次 | 总访客数 人
| Copyright © 2021-2025 ggball | 赣ICP备2021008769号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×

评论

  • 评论 ssss
  • 回复
  • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
  • 回复
  • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
  • 回复
×