摘要:
最近从MySQL原理开始研究,一路研究到分布式系统,提到分布式系统,最出名的就是CAP原理,之前对CAP一知半解,如今重新学习想把它搞懂搞透。 遂上网搜索相关博客文章,发现国人写的博客对CAP大多含糊其辞前后矛盾并且抄来抄去,当然这怨不得国人。CAP原理本就含糊其辞并且有很强的局限性,甚至wiki中 阅读全文
摘要:
什么是线程协作/线程通信 线程之间通过某种方式传递信号或消息,达到互相协作的目的,称为线程通信/线程协作。Java中可以使用object.wait(),object.notify()/object.notify()组合使用或使用JDK1.5之后的Lock接口的方法,作为线程通信的实现。 模版代码 等 阅读全文
摘要:
CPU CPU负责执行指令,是所有计算机硬件中速度最快的。一般用时钟周期(时钟频率)来衡量CPU的性能。 时钟周期 CPU时钟周期是操作的最小时间单位,值是主频的倒数,现代计算机的主频可以达到几GHZ。 指令周期是取出并执行一个指令的时间单位,一个指令需要多个CPU操作来执行,一般来说一个指令周期至 阅读全文
摘要:
这个问题的完整语义是: Java方法调用时,参数变量是值传递还是引用传递的。 所谓引用传递是指传递栈帧中的局部变量表的变量槽地址,值传递是指传递栈帧中的局部变量表的变量槽地址所存储的值。 局部变量表中的变量槽分为两种: 基本类型变量槽会直接存储字面量值,引用类型变量槽会存储堆中的对象地址。 回答这个 阅读全文
摘要:
InnoDB设计了多种页结构用于存放不同类型的数据,我们现在主要研究存放数据的页,称为 索引页 或 数据页 。 每个页由七部分组成,大致功能如下: FIleHeader 文件头:记录页的通用信息,比如上下页的页号,页类型,所有的数据页其实是一个双链表 PageHeader 页头:记录本页存储记录的状 阅读全文
摘要:
数据的具体存储是交由具体的存储引擎实现的,所以同样的数据,在不同的存储引擎中的存储方式也是不同的,现在只讨论InnoDB引擎的数据结构。 CPU发出读取数据的指令后,Mysql进程需要把存储在硬盘中的数据读取到内存中,CPU真正处理数据的地方是在 内存 。如果每次读取或写入都要去操作内存和磁盘的话, 阅读全文
摘要:
最近对事务的四个特性有了新的认识,记录一下。 ACID特性 事务的四个特性 程序的本质是对现实生活的模拟,现实世界中有很多约定好的不可变更的规则,比如两个人交易,一手交钱一手交货,不存在交了钱却没有交货的情况。但是程序却很容易出现这种情况,比如交钱之后断电了,程序崩溃了等。而事务就是为了解决这一类问 阅读全文
摘要:
最近做读书笔记和技术学习,深感好记性不如烂笔头。 想尽量将所学知识整理成自己的思考然后文字输入出来,打的字多了也就对打字体验有了更高的要求,遂发现双拼输入法可以保证每个汉字都由两个键完成, 提高效率的同时也更有节奏提升了输出文字时的体验。 以下为学习双拼时的工具记录: 1. 小鹤双拼方案口诀: Ku 阅读全文
摘要:
in:name tmp 项目名字中有“tmp” in:readme tmp readme中有“tmp” in:description tmp 描述中有“tmp” stars: 1000 star 1000 forks: 1000 fork 1000 pushed: 2019 09 01 2019年9 阅读全文
摘要:
[toc] 本文探讨SpringBoot应用中的序列化和反序列化过程,主要是SpringBoot默认的Jackson库的注解使用和代码演示。 基础知识 序列化 序列化是指将内存中的对象状态信息转换为可以存储或传输的形式的过程, 与之对应,反序列化就是存储或传输形式转为对象状态信息的过程 序列化有多种 阅读全文