一、git相关区域 工作区(Working Directory): 工作区是平时编写文本文件的地方 暂存区(Stage/Index): 暂存区是提交文本文件到本地仓库的来源地,只有把工作区的文件添加至暂存区,才可以被提交至本地仓库。 (git add) 本地仓库(Repository): 本地仓库是 ...
分类:
其他好文 时间:
2020-06-11 19:47:54
阅读次数:
77
目录 一、背景 二、概念 2.1 栈 2.2 队列 三、栈和队列的相互实现 3.1 用队列实现栈 3.2 用栈实现队列 四、总结 一、背景 栈和队列是数据结构中最常用到的两种结构,有非常广泛的运用,该篇文章将通过动画的手段,展示栈和队列相互实现的底层原理,让我们真正搞懂栈和队列的特性。 二、概念 2 ...
分类:
其他好文 时间:
2020-06-10 09:21:44
阅读次数:
82
依赖注入原理 <?phpclass A{ public function get_name() { return 'A-get_name'; }}class B{ //$a必须是A类的对象 public function get_name(A $a) { //参数实例化,在外面实例化,里面不用再次实 ...
分类:
Web程序 时间:
2020-06-10 00:03:36
阅读次数:
138
一、背景 栈和队列是数据结构中最常用到的两种结构,有非常广泛的运用,该篇文章将通过动画的手段,展示栈和队列相互实现的底层原理,让我们真正搞懂栈和队列的特性。 二、概念 2.1 栈 栈[Stack]:是一种限定仅在表尾进行插入和删除操作的线性表;即后进先出(LIFO-last in first out ...
分类:
其他好文 时间:
2020-06-09 18:34:08
阅读次数:
68
HashMap在进行put操作时有很多细节设计的确值得我们去学习,下面是对put方法的一些接单的介绍,如果有什么不足之处还希望大佬能给与指出;既然说到集合的底层原理,首先要介绍一下HashMap的底层数据结构: JDK1.8以前底层的结构为数组+链表;JDK1.8及以后对HashMap进行了优化(不 ...
分类:
其他好文 时间:
2020-06-08 00:40:22
阅读次数:
67
自己动手写SQL执行引擎 前言 在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个database起名为Freedom。 整体结构 既然造轮子,那当然得从前端的网络协议交互到后端的文件存储全部给撸一遍 ...
分类:
数据库 时间:
2020-06-07 00:54:02
阅读次数:
81
Java高并发教程:高并发IO的底层原理 IO读写的基础原理 程序进行IO读写依赖于操作系统底层的IO读写,主要为read、write两大系统调用。在不同的操作系统中,IO读写的系统调用的名称可能不完全一样,但是基本功能是一样的。 首先我们必须要明白的的是,read系统调用,并不是直接从物理设备把数 ...
分类:
编程语言 时间:
2020-06-04 00:58:33
阅读次数:
89
1.说说synchronized关键字的底层原理是什么? synchronized底层的原理,是跟jvm指令和monitor有关系的 如果我们用到了synchronized关键字,在底层编译后的JVM指令中,会有monitorenter和monitorexit两个指令 加锁执行monitorente ...
分类:
其他好文 时间:
2020-05-31 22:08:33
阅读次数:
100
前言 原型和原型链这方面的底层原理知识,一直以来都是面试市场上的一块的肥肉,也是每一位前端开发人员不得不掌握的内功心法。一直以来,我都想要搞懂弄明白的这部分知识,所以,就借这次重学前端将这方面的成果和自己的一些拙见整理一下,分享给大家。现在就从编程思想开始讲起吧。 本文篇幅较长,如果只想了解原型和原 ...
分类:
其他好文 时间:
2020-05-30 15:41:07
阅读次数:
80
本文介绍在MacOS下搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链、qemu和xv6,对于Linux系统同样可以参考。 介绍 只有了解底层原理才能写好上层应用,曾经几度想要系统地学习OS课程,尝试去看了《计算机操作系统》、《Operating Syst ...
分类:
系统相关 时间:
2020-05-27 10:33:51
阅读次数:
114