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
第 10 章 RDB 持久化 数据库状态:服务器中的非空数据库以及它们的键值对统称为数据库状态 Redis 提供 RDB 持久化功能,将内存中的数据库状态保存到磁盘中,避免数据意外丢失 RDB 文件是一个经过压缩的二进制文件,还可以通过该文件还原生成 RDB 文件时的数据库状态 10.1 RDB 文 ...
分类:
数据库 时间:
2021-06-23 16:26:57
阅读次数:
0
cookie: cookie由服务器生成,保存在客户端浏览器,是一个文件。 容量小,单个cookie保存的数据不能超过4k 容易被劫持,不安全 可以被用户禁止 session: session存储在服务器端,没有数据量限制 session可以放在文件、数据库、内存等中 session大多数都是用co ...
分类:
其他好文 时间:
2021-06-22 18:35:10
阅读次数:
0
什么是Mybatis 一款优秀的持久层框架,避免了JDBC底层繁杂的手动设置参数和获取结果集的过程。能够使用xml文件或注解形式来映射实体类和数据库内容。 Mybatis官方文档: http://www.mybatis.org/mybatis-3/zh/index.html Github上地址:ht ...
分类:
其他好文 时间:
2021-06-22 18:13:22
阅读次数:
0
概念回顾 进程与线程 进程:程序的一次执行,它占有一片独有的内存空间。 线程:进程内的一个独立的执行单元。是程序执行的一个完整流程。是CPU的最小调度单元。 多进程运行:一个应用程序可以启动多个实例运行 多线程:一个进程内,同时有多个线程运行。 应用程序必须运行在某个进程的某个线程上;一个进程中至少 ...
分类:
编程语言 时间:
2021-06-21 21:11:44
阅读次数:
0