JMM 硬件的效率与一致性 由于计算机 的存储设备与处理器的运算速度有着几个数量级的差距,所以现代计算机系统都不得不加入一层或多层读写速度尽可能接近处理器运算速度的**高速缓存(Cache)**来作为内存与处理器之间的缓冲:将运算需要使用的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步 ...
分类:
其他好文 时间:
2021-06-23 17:11:39
阅读次数:
0
1.spark内存分配 MemoryManager |__StaticMemoryManager 静态内存管理机制 |__UnifiedMemoryManger 统一内存管理机制 1.静态内存管理机制 静态内存管理机制实现起来较为简单,但没有根据具体的数据规模和计算任务做相应的配置,很容易造成"一半 ...
分类:
其他好文 时间:
2021-06-23 17:02:31
阅读次数:
0
6.22Java多线程happenbefore 编译器和CPU会尝试重排指令使得代码更快地运行 发生情况: 代码间没有直接联系,没有依赖 这样就会发生指令重排a 步骤 拿到指令,进行编译,放入寄存器 >fetch 解码指令,从寄存器中拿值,从主存拷贝到工作内存 >copy 执行选项 >excutor ...
分类:
移动开发 时间:
2021-06-23 17:01:24
阅读次数:
0
6.22Java多线程volitale volitale说明 作用: 保证线程间变量的可见性(注意:不是线程之间的变量可见) 线程A对变量X进行修改后,在线程A后面执行的其他线程能看到变量X的变动。 需要符合以下两个规则: 线程对变量进行修改之后要立刻写回到主内存 >防止主内存与工作内存中不一致的情 ...
分类:
编程语言 时间:
2021-06-23 16:55:05
阅读次数:
0
Java NIO 一、概述 NIO (JDK1.5 new IO) 主要有三大核心部分: Channel(通道) Buffer(缓冲区) Selector(选择器) 传统IO 基于 字节流 和 字符流进行操作,而 NIO 基于Channel 和 Buffer(缓冲区)进行操作,数据总是从通道读取到缓 ...
分类:
编程语言 时间:
2021-06-23 16:46:55
阅读次数:
0
内存模型的基础 内存模型的抽象结构 共享变量 堆里面的对象、数组元素,静态变量(方法区) 局部变量 不会有线程可见性的问题,不会受内存模型的影响 指令重排 编译器优化的重排序 不改变单线程语义的前提下重新安排编译的顺序 --编译器 指令级并?的重排序 现在的处理器采用的技术,多条指令重叠进行,只要两 ...
分类:
其他好文 时间:
2021-06-23 16:42:19
阅读次数:
0
问题 Tcmalloc 由于使用了精心设计的 cache,进而大大提高了malloc 和 free 的效率,但由之而来的是 cache 大小的难以把控,容易出现 cache 占用过大,进而 OOM 的问题,tcmalloc 提供了两个方案解决这个问题 展现 tcmalloc 维护的内存状态解决 // ...
分类:
其他好文 时间:
2021-06-23 16:41:42
阅读次数:
0
服务器硬件及RAID配置实战一.RAID磁盘阵列概述① 是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列② 把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘)从而提供比单个硬盘更高的存储性能和提供数据备份技术③ 组成磁盘阵列 ...
分类:
系统相关 时间:
2021-06-23 16:30:18
阅读次数:
0
第 10 章 RDB 持久化 数据库状态:服务器中的非空数据库以及它们的键值对统称为数据库状态 Redis 提供 RDB 持久化功能,将内存中的数据库状态保存到磁盘中,避免数据意外丢失 RDB 文件是一个经过压缩的二进制文件,还可以通过该文件还原生成 RDB 文件时的数据库状态 10.1 RDB 文 ...
分类:
数据库 时间:
2021-06-23 16:26:57
阅读次数:
0
http协议面试题 游览器输入一个地址。到页面展示中间经历了哪些东西? 这个问题前端面试基本上百分百问的。测试的话,基础的功能面试可能不会问。自动化的话基本上也会问的。 1、游览器输入url。先解析url地址是否合法 2、游览器检查是否有缓存(游览器缓存-系统缓存-路由器缓存)。如果有,直接显示。如 ...
分类:
Web程序 时间:
2021-06-22 18:48:12
阅读次数:
0