获得徽章 1
#挑战每日一条沸点#
day45
MySQL是一个服务器/客户端架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每个客户端与服务器连接上之后,就可以称之为一个会话(Session)。我们可以同时在不同的会话里输入各种语句,这些语句可以作为事务的一部分进行处理。不同的会话可以同时发送请求,也就是说服务器可能同时在处理多个事务,这样子就会导致不同的事务可能同时访问到相同的记录。我们前边说过事务有一个特性称之为隔离性,理论上在某个事务对某个数据进行访问时,其他事务应该进行排队,当该事务提交之后,其他事务才可以继续访问这个数据。但是这样子的话对性能影响太大,所以设计数据库的大叔提出了各种隔离级别,来最大限度的提升系统并发处理事务的能力,但是这也是以牺牲一定的隔离性来达到的。
展开
评论
#挑战每日一条沸点#
day44
git仓库过大会导致哪些问题?

git仓库体积过大,占用电脑本地闪存的存储空间;
clonegit仓库时,耗时过长,甚至完全clone不下来导致git报错;
gitpull时会由于引用对象过多会报错,导致本地代码无法更新;
在切换分支的时候经常会出现cpu占满,内存占满的情况导致电脑死机;
展开
评论
#挑战每日一条沸点#
day43
单链表和双链表在很多操作中是相似的

它们都能够在 O(1) 时间内删除第一个结点。
它们都能够在 O(1) 时间内在给定结点之后或列表开头添加一个新结点。
它们都无法在常量时间内随机访问数据。
展开
评论
#挑战每日一条沸点#
day42
使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大
展开
评论
#挑战每日一条沸点#
day41
推荐按照数据结构类型来每天刷一题,上班无聊时刷题,上班摸鱼水群不如摸鱼刷道算法,百利无一害,坚持每天刷题吧,加油
评论
#挑战每日一条沸点#
day40
当访问 map 中不存在的 key 时,Go 则会返回元素对应数据类型的零值,比如 nil、’’ 、false 和 0,取值操作总有值返回,故不能通过取出来的值,来判断 key 是不是在 map 中。
展开
评论
#挑战每日一条沸点#
day39
什么是数据结构
数据结构其实就是是程序存储组织数据的方式,一个数据结构是由程序中的数据元素按照某种逻辑关系组织起来的,是若干个数据元素的组合
数据结构是程序中处理数据的基本单位,在程序中作为一个整体来使用
例如一个数字 1 或者一个字符 A,它是一种数据结构
例如一个日期 2020年12月14日,它由年月日这 3 种格式组成,也是一种数据结构
例如一个数组 [1, 'a', '2020年12月14日'],它是由数字、字符、日期格式组合而成,也是一种数据结构
通俗来说,用一定格式组成的数据都是数据结构,我们比较常见的数据结构有字符串、数组、对象、堆、栈、链表、树、哈希表等等
展开
评论
#挑战每日一条沸点#
day38
在计算机行业发展,不管是前端亦或是后端,算法都是进阶的一个绊脚石,可以说不会算法永远也成不了一个合格的高级工程师,想要进大厂确实要会些算法,但是它并不只是为了面试,它和我们的程序是息息相关的
展开
评论
#挑战每日一条沸点#
day37

git仓库过大会导致哪些问题?

git仓库体积过大,占用电脑本地闪存的存储空间;
clonegit仓库时,耗时过长,甚至完全clone不下来导致git报错;
gitpull时会由于引用对象过多会报错,导致本地代码无法更新;
在切换分支的时候经常会出现cpu占满,内存占满的情况导致电脑死机;
展开
评论
#挑战每日一条沸点#
day36
Git 工作区和暂存区的区别
1)工作区,比如说前面提到的 testgit 目录就属于工作区,我们操作的 readme.txt 文件就放在这个里面。
2)暂存区,隐藏目录 .git 不属于工作区,它(Git 仓库)里面存了很多东西,其中最重要的就是暂存区。
Git 在提交文件的时候分两步,第一步 git add 命令是把文件添加到暂存区,第二步 git commit 才会把暂存区的所有内容提交到 Git 仓库中。
展开
评论
#挑战每日一条沸点#
day35
Git 操作确实容易给代码的版本库带来一些不必要的混乱,毕竟大学的时候,学习的重点在编程语言上,在计算机基础上。可一旦参加了工作,就必须得在代码版本库上狠下一番功夫了,毕竟要多人协作啊。
展开
评论
#挑战每日一条沸点#
day34
Full outer join全外连接
作用:Postgresql full outer join返回来自两个参与表的所有行,如果他们在相对的表上没有匹配,则使用null填充。full outer join组合了左外链接和右外连接的结果,并返回连接子句两侧表中的所有行(匹配或者不匹配)行
展开
评论
#挑战每日一条沸点#
day33
对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列(row_id并不是必要的,我们创建的表中有主键或者非NULL唯一键时都不会包含row_id列):

trx_id:每次对某条聚簇索引记录进行改动时,都会把对应的事务id赋值给trx_id隐藏列。

roll_pointer:每次对某条聚簇索引记录进行改动时,都会把旧的版本写入到undo日志中,然后这个隐藏列就相当于一个指针,可以通过它来找到该记录修改前的信息。
展开
评论
#挑战每日一条沸点#
day32
事务有一个特性称之为隔离性,理论上在某个事务对某个数据进行访问时,其他事务应该进行排队,当该事务提交之后,其他事务才可以继续访问这个数据。但是这样子的话对性能影响太大,所以设计数据库的大叔提出了各种隔离级别,来最大限度的提升系统并发处理事务的能力,但是这也是以牺牲一定的隔离性来达到的。
展开
评论
#挑战每日一条沸点#
day31
当我们确定了在不同节点上需要分布式锁,那么我们需要了解分布式锁到底应该有哪些特点:

互斥性:和我们本地锁一样互斥性是最基本,但是分布式锁需要保证在不同节点的不同线程的互斥。
可重入性:同一个节点上的同一个线程如果获取了锁之后那么也可以再次获取这个锁。
锁超时:和本地锁一样支持锁超时,防止死锁。
高效,高可用:加锁和解锁需要高效,同时也需要保证高可用防止分布式锁失效,可以增加降级。
支持阻塞和非阻塞:和ReentrantLock一样支持lock和trylock以及tryLock(long timeOut)。
支持公平锁和非公平锁(可选):公平锁的意思是按照请求加锁的顺序获得锁,非公平锁就相反是无序的。这个一般来说实现的比较少。
展开
评论
#挑战每日一条沸点#
day30
为何需要分布式锁
Martin Kleppmann是英国剑桥大学的分布式系统的研究员,之前和Redis之父Antirez进行过关于RedLock(红锁,后续有讲到)是否安全的激烈讨论。Martin认为一般我们使用分布式锁有两个场景:

效率:使用分布式锁可以避免不同节点重复相同的工作,这些工作会浪费资源。比如用户付了钱之后有可能不同节点会发出多封短信。
正确性:加分布式锁同样可以避免破坏正确性的发生,如果两个节点在同一条数据上面操作,比如多个节点机器对同一个订单操作不同的流程有可能会导致该笔订单最后状态出现错误,造成损失。
展开
评论
赞了这篇沸点
下雨天,适合发呆。
5
下一页
个人成就
文章被点赞 5
文章被阅读 6,688
掘力值 528
收藏集
0
关注标签
6
加入于