随笔分类 -  第一次学习

每个大的技术点,第一次学习。此次不一定要理解很透彻,只要能熟悉大部分重要的原理。方便下一次学习。
摘要:主要知识点: 1、数据结构的选择:数据量小选择数组和压缩列表,数据量大选择哈希表和跳表。数组和压缩列表都是在内存中分配一块地址连续的空间,非常紧凑。 哈希表一个桶数据量大时,会渐进式 rehash。哈希表中存的是 key 和 value 的指针。 2、多路复用模型:主线程接受网络、处理数据、fork 阅读全文
posted @ 2021-03-30 14:27 几近虚年 阅读(454) 评论(0) 推荐(0)
摘要:1、一次请求流程: 应用层:DNS、HTTP、HTTPS所在的层。经过应用层的封装,浏览器会将包交给下一层去完成,通过 socket 编程来实现。(HTTP 头:正文格式,正文长度,URL,POST 等) 先用 www.baidu.com 类似的域名发起请求,DNS/HTTPDNS 对域名进行解析, 阅读全文
posted @ 2019-08-22 11:12 几近虚年 阅读(849) 评论(0) 推荐(0)
摘要:1、内存模型 起源:在计算机系统,加入了一层读写速度尽可能接近处理器运算速度的高速缓存来作为内存和处理器之间的缓冲。 问题:缓存一致性。在多处理器系统中,每个处理器都有自己的高速缓存(抽象为工作内存),但是这些处理器又共享了同一主内存。 解决:抽象出来了 内存模型 ,即对主内存或工作内存的读写访问, 阅读全文
posted @ 2019-04-28 11:18 几近虚年 阅读(383) 评论(0) 推荐(0)
摘要:1、JVM 内存溢出 1、堆溢出:堆要不断的创建对象,如果避免了垃圾回收来清除这些对象,就会产生JVM内存溢出。一般手段是通过内存映像分析工具对Dump出来的堆转储快照进行分析,分清楚到底是内存泄露还是内存溢出。 2、虚拟机栈和本地方法栈溢出:线程请求的栈深度大于虚拟机所允许的最大深度。或者虚拟机在 阅读全文
posted @ 2019-04-25 15:49 几近虚年 阅读(442) 评论(0) 推荐(0)
摘要:1、Java 的内存模型 定义了 happens-before,如果同一个线程中,字节码的先后顺序,后者观测了前者的运行结果,那么就会按顺序执行。 Java 线程之间的通信由 Java 内存模型控制。 Java 内存模型通过定义了一系列的 happens-before 操作,不同线程的操作之间的内存 阅读全文
posted @ 2019-04-16 15:01 几近虚年 阅读(798) 评论(0) 推荐(0)
摘要:1、JVM 基础知识点 JVM 虚拟机包含了:自动内存管理器、垃圾回收(垃圾回收调优)。 执行顺序:Java 代码 .class 字节码文件(加载到虚拟机中) Java 类放在方法区中。 当执行一个 Java 方法时,Java 方法 栈帧(Java 方法栈,存放局部变量/字节码的操作数栈、动态链接、 阅读全文
posted @ 2019-04-10 15:37 几近虚年 阅读(405) 评论(0) 推荐(0)
摘要:1、查数据太多不会把内存用光 InnoDB 的数据是保存在主键索引上,然后索引树分割保存在数据页上,数据页存在内存中/磁盘。change buffer 就是先把修改操作记录,然后读数据的时候,内存没有就从磁盘拿,把 change buffer 的改动应用的从磁盘读取的数据页上,返回给请求。并且此时数 阅读全文
posted @ 2019-02-21 14:48 几近虚年 阅读(477) 评论(0) 推荐(1)
摘要:1、MySQL主备切换 readonly 设置对超级(super)权限是无效的,而用于同步更新的线程,就拥有超级权限。 建议在做主备数据库的时候,将备用数据库设置为只读。(反向用readonly来判断节点的角色) 主备的同步是通过 binlog 日志同步,流程: 1)、备库上通过 change ma 阅读全文
posted @ 2019-02-21 14:41 几近虚年 阅读(832) 评论(0) 推荐(0)
摘要:1、Order By 是怎么工作的 MySQL做排序是一个成本比较高的操作。MySQL会为每个线程分配一个 sort_buffer 内存用于排序,该内存大小为 sort_buffer_size。 全字段排序 排序流程: 1)、初始化 sort_buffer,确定放入需要查询的字段,例如查询年龄age 阅读全文
posted @ 2019-01-28 14:37 几近虚年 阅读(660) 评论(0) 推荐(0)
摘要:1、MySQL的架构 1)、连接器 先根据Ip和端口号,用户名和密码,连接MySQL数据库,连接后如果没有下一步动作,连接就处于空闲状态,此时有一个连接超时时间的设置 wait_timeout默认8小时。 连接器会查询当前登录用户在权限表中所存储的权限。 连接分为长连接和短连接,长连接是指连接成功后 阅读全文
posted @ 2019-01-06 18:47 几近虚年 阅读(457) 评论(0) 推荐(0)