Git原理学习记录】的更多相关文章

Git原理学习记录 1.git init git-test ​ git init 实际上就是在特定的目录下创建对应的目录和文件 2.object $ echo "V1" > file.txt $ git hash-object -w file.txt 998a6f80eb9feed5d5a7b2b5…
一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分,在一些节点上探讨代码实现,官方文档链接. 看完本文你能:1. 了解 git 的设计思想.2. 收获一点快乐? 编程语言选择了 go,因为刚学不太熟悉想多使用一下. 这是我的仓库地址,但如果你和我一样是初学,直接看代码可能不能快速上手,推荐顺着文章看. 迷你git实现--链接 如果文章看得吃力可以跟…
目录 GIT学习记录 配置github与gitlib两个账号 基本操作 git init:初始化仓库 git status:查看仓库状态 git add :向缓存区中添加文件 git commit 保存仓库的历史记录 git log 查看提交日志 git diff : 查看工作树.暂存区.最新提交的差别 至此基本操作已经完成了 关于分支(Branch)的操作 git branch :显示分支一览表 git checkout -b :创建.切换分支 git merge : 合并分支 git log…
章节介绍 本章节主要学习 Java SE 1.6 中为了减少获得锁 和 释放锁 时带来的性能消耗 而引入的偏向锁 和 轻量级锁,以及锁的存储结构 和 升级过程. synchronized实现同步的基础: Java中的每个对象都可以作为锁.具体有三种形式: (1)对于普通同步方法,锁是当前实例对象: (2)对于静态同步方法,锁是当前类的Class对象: (3)对于同步方法快,锁是Synchronized括号中配置的对象. 当一个线程试图访问同步代码块时,它首先必须得到锁,退出或者抛出异常时必须释放…
学习HashMap时,需要带着这几个问题去,会有很大的收获: 一.什么是哈希表 二.HashMap实现原理 三.为何HashMap的数组长度一定是2的次幂? 四.重写equals方法需同时重写hashCode方法 一.什么是哈希表 在了解哈希表之前,先了解下其他数据结构的操作执行性能,数据结构的物理存储结构只有两种方式:顺序存储结构和链式存储结构(栈,队列,数,图等) 数组:采用一段连续的存储单元来存储数据,对于指定下标的查找,时间复杂度为O(1);根据确定的值来查找,需要遍历数组,逐一进行比较…
今天看到别人用这玩意记录自己的进度, 我也学习了一下. 1,适当的工具会提升效率 2,关注点还是得放在代码本身上. github/gitignore github提供了各种gitignore文件 有python的 也有node的…
配置git git config --global user.name "用户名或者用户ID" git config --global user.email "邮箱" 配置文件位于-/.gitconfig 产生key ssh-keygen -C 'you email address@gmail.com' -t rsa clone项目 git clone 项目地址 添加文件 git add dir1 ( 添加dir1这个目录,目录下的所有文件都被加入 ) Git ad…
章节介绍 这一章节主要学习java并发机制的底层实现原理.主要学习volatile.synchronized和原子操作的实现原理.Java中的大部分容器和框架都依赖于此. Java代码 ==经过编译==>Java字节码 ==通过类加载器==>JVM(jvm执行字节码)==转化为汇编指令==>CPU上执行. Java中使用的并发机制依赖于JVM的实现和CPU的指令. volatile初探 volatile是是轻量级的synchronized,它在多处理器开发中保证了共享变量的可见性.可见性…
前提:一次面试被问到了,axios有什么特点,对比一下ajax.答的很不满意. axios是一个基于Promise的http请求库,可用于浏览器和 Node.可以说是目前最为常用的http库,有必要了解一下其内部的实现原理. 同时支持浏览器端和服务端的请求.由于axios的这一特性,vue的服务端渲染对于axios简直毫无抵抗力. 这很牛x啊! 下面选部分重要代码分析. function getDefaultAdapter() { var adapter; if (typeof XMLHttpR…
synchronized与volatile的区别,它们的作用及原理? 说到两者的区别,先要了解锁提供的两种特性:互斥(mutual exclusion) 和可见性(visibility). 互斥:即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据. 可见性:要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 —— 如果没有同步机制提供的这种可见性保证,线程看到的共享      …