代码改变世界

cacheline基本理论

2019-04-18 20:56 by 剑动情缥缈, 2050 阅读, 0 推荐, 收藏, 编辑
摘要:一.cacheline 1.cache:解决cpu频率与内存访问之间速度差距越来越大的问题 2.cacheline:cpu cache的最小单位,主流为64B 3.指导:访问数组数据在同一个cacheline内速度很快,若跨cacheline,则速度会慢很多,因为可能存在cache miss,需要将 阅读全文

并发编程实战1-chap1-2-斗者6星

2019-04-08 14:30 by 剑动情缥缈, 184 阅读, 0 推荐, 收藏, 编辑
摘要:一、线程安全性 1.线程安全关注点:对共享的和可变的状态的访问 2.JAVA同步机制:synchronized、volatile、显示锁、原子变量 3.无状态对象一定是线程安全的:不包含任何域,也不包含任何对其他类中域的引用,计算过程中的临时状态仅存在于线程栈上的局部变量,并且只能由正在执行的线程访 阅读全文

CSAPP:第二章学习笔记:斗之气2段

2019-03-20 17:34 by 剑动情缥缈, 400 阅读, 0 推荐, 收藏, 编辑
摘要:一、字长:虚拟地址通过一个字来编码,字长为32位,则可以标识2^32个地址空间,每个空间为一个字节,故为4G 二、字节序:当解释多个字节类型时,存在大小端字节序问题 0x1234567,在大小端表示法下的内存模型 三、整数表示 1.无符号数编码:针对整数和零 2.补码编码:针对有符号数,可以为正、零 阅读全文

vim

2019-03-19 16:34 by 剑动情缥缈, 307 阅读, 0 推荐, 收藏, 编辑
摘要:一、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode) :控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 阅读全文

CSAPP:第一章学习笔记:斗之气1段

2019-03-19 11:07 by 剑动情缥缈, 275 阅读, 0 推荐, 收藏, 编辑
摘要:一、信息就是位+上下文:系统中的所有信息(包括磁盘文件、内存中的程序、网络上传送的数据),都是由一串比特表示,根据上下文对这些比特表示进行翻译。 二、C程序编译过程 1.源码结构 2.编译流程 a.预处理:进行宏替换、include文件展开等工作 命令:gcc -E -I./inc test.c - 阅读全文

Makefile学习笔记

2019-03-18 15:03 by 剑动情缥缈, 282 阅读, 0 推荐, 收藏, 编辑
摘要:一、C程序编译过程 1.源码结构 2.编译流程 a.预处理:进行宏替换、include文件展开等工作 命令:gcc -E -I./inc test.c -o test.i 观察:对include内容进行展开,从几行程序扩展成为800+行程序,如将#include<mymath.h>这行代码展开为my 阅读全文

深入理解Java虚拟机8-chap12-13-斗者5星

2019-03-12 20:31 by 剑动情缥缈, 232 阅读, 0 推荐, 收藏, 编辑
摘要:一、操作系统与内存 通过在处理器与内存之间添加一层访问及更新速度更快的高速缓存,可以一定程度解决处理器与内存速度的矛盾 引入新问题:缓存一致性,即每个处理器只与自己的缓存交互,如果操作的是内存中的同一块内存,会出现数据不一致的现象 二、Java内存模型 1.Java内存模型的主要目的:定义程序中各个 阅读全文

设计模式概述

2019-03-12 09:50 by 剑动情缥缈, 197 阅读, 0 推荐, 收藏, 编辑
摘要:一、三大类型与23种模式 二、六大原则 1.开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 需要使用接口和抽象类。 2.里氏代换原则(Liskov Substitution Pri 阅读全文

深入理解Java虚拟机7-chap10-11-斗者4星

2019-03-11 20:37 by 剑动情缥缈, 241 阅读, 0 推荐, 收藏, 编辑
摘要:一、编译期优化 1.JIT编译器在运行期的优化过程对程序运行很重要,而编译期优化过程对于程序编码关系更密切 2.Javac编译器编译过程 解析与填充符号表过程:词法语法分析、填充符号表 插入式注解处理器的注解处理过程:通过注解处理器提供的标准API在编译期对注解进行处理 分析与字节码生成过程:标注检 阅读全文

访问者模式

2019-03-08 16:19 by 剑动情缥缈, 173 阅读, 0 推荐, 收藏, 编辑
摘要:1.基本概念 使用一个访问者类,改变元素类的执行算法,通过这种方式,元素的执行算法可以随着访问者改变而改变 目的:将数据结构与数据操作分离 应用实例:您在朋友家做客,您是访问者,朋友接受您的访问,您通过朋友的描述,然后对朋友的描述做出一个判断,这就是访问者模式。 UML 2.代码实现 1 packa 阅读全文