计算机基础
文章平均质量分 76
计算机基础,网络、内存、磁盘、系统等
~一叶、
java、golang, devops, docker,
中间件、架构、系统设计、
方法论、思维模型
展开
-
几个基本的设计原则
面向对象的分析设计有很多原则,这些原则从思想层面上给我们指出分析设计的正确方向。而设计模式就是这些设计原则的一些具体体现,它是针对某个场景下某些问题的某个解决方案。 一、单一职责原则 一个类应该仅有一个引起它变化的原因(即它只有一个职责)。 二、开闭原则、里氏代换原则、依赖倒转原则 开闭原则:软件实体应当对扩展开放,对修改关闭。 里氏代换原则:任何基类可以出现的地方,子类原创 2015-04-29 14:14:30 · 433 阅读 · 0 评论 -
计算机内存管理
常见内存管理机制 块式管理:远古时代的计算机操系统的内存管理方式。将内存分为几个固定大小的块,每个块中只包含一个进程。 页式管理:把主存分为大小相等且固定的一页一页的形式,页较小,相对相比于块式管理的划分力度更大,提高了内存利用率,减少了碎片。页式管理通过页表对应逻辑地址和物理地址。 段式管理:页式管理虽然提高了内存利用率,但是页式管理其中的页实际并无任何实际意义。 段式管理把主存分为一段段的,段是有实际意义的,每个段定义了一组逻辑信息,例如,有主程序段 MAIN、子程序段 X、数原创 2022-05-05 22:33:34 · 422 阅读 · 0 评论 -
网络编程Epoll/Poll/Select详解
在这些开源项目中都有使用(redis、memcached/libevent、nginx) Linux 文件描述符 linux中一切都是文件(普通文件、目录文件、链接文件、设备文件。。。) 其中文件描述符fd(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其值是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行 I/O 操作的系统调用都通过文件描述符。 例如命令(g++ lots_of_errors 2>&1 | he..原创 2022-05-05 22:29:40 · 245 阅读 · 0 评论 -
HTTP请求过程HTTPS/TLS原理
HTTP请求过程,HTTPS/请求过程,TLS原理原创 2022-05-04 12:49:30 · 1677 阅读 · 0 评论 -
TCP报文结构/三次握手/四次挥手/滑动窗口/拥塞控制
tcp报文结构介绍,三次握手、四次挥手等原理原创 2022-05-04 12:46:35 · 516 阅读 · 0 评论 -
布隆过滤器、布谷过滤器
布隆过滤器及用途原创 2022-05-04 12:37:09 · 377 阅读 · 0 评论 -
索引的选择B树/B+树/B*树/LSM树
B树 多路平衡树,比二叉的查找次数少很多,做数据库索引时就能减少磁盘IO B+树 (SQL索引存储结构)叶子节点才存数据,并有指向相邻兄弟节点的指针;B+树的高度一般为2-4层,叶子节点存储的数据通常是一页(默认16k)或一页的整倍数(MySQL每次读取都是读一页)。 B*树 非叶子节点也有指向相邻兄弟节点的指针 跳表 很像B*树,它是平衡树的一种替代的数据结构,跳表对于树的平衡的实现是基于一种随机化的算法的,没有那么多约束,也就是说跳表的插入和删除的工作是比较简单的。 LSM树 (用于HBase,Leve原创 2022-05-04 12:33:32 · 440 阅读 · 0 评论 -
使用markdown
0.什么是markdown首先,Markdown 可将你输入的任何文本转为 HTML,你可以用它来编写博客、文档和网页。你还可以直接在 Markdown 文档中书写 HTML,如果某些功能 Markdown 不具备的或者你忘记了语法,你可以直接用 HTML 来编写,因为 Markdown 能理解两种格式。你不一定需要在你的网站上安装Markdown就可以使用它,它是一个非常方便的写作语言,如果你不想原创 2015-05-22 13:55:42 · 339 阅读 · 0 评论 -
使用Github
0.为什么使用github牛人多,code多(你在其他地方能找到的开源库,上面基本上都有),使用方便简介1. 注册账号首先在github(https://github.com/)上注册自己的账号,注册之后你就可以创建自己的远程仓库了。2. 安装本地git工具然后本地安装git环境。Windows用户可以从这里现在https://windows.github.com/,安装后有可视化图形界面和命令行窗原创 2015-05-22 13:37:39 · 563 阅读 · 0 评论 -
关于字符编码
美国人首先对其英文字符进行了编码,也就是最早的ascii码,用一个字节的低7位来表示英文的128个字符,高1位统一为0; 后来欧洲人发现尼玛你这128位哪够用,比如我高贵的法国人字母上面的还有注音符,这个怎么区分,得,把高1位编进来吧,这样欧洲普遍使用一个全字节进行编码,最多可表示256位。欧美人就是喜欢直来直去,字符少,编码用得位数少; 但是即使位数少,不同国家地区用不同的字符编码,虽然0–1原创 2015-10-09 14:31:29 · 2324 阅读 · 0 评论