摘要: 一、SQL语句执行流程 MySQL大体上可分为Server层和存储引擎层两部分。 Server层: 连接器:TCP握手后服务器来验证登陆用户身份,A用户创建连接后,管理员对A用户权限修改了也不会影响到已经创建的链接权限,必须重新登陆。 查询缓存:查询后的结果存储位置,MySQL8.0版本以后已经取消 阅读全文
posted @ 2021-01-06 14:12 风平浪静如码 阅读(597) 评论(1) 推荐(0) 编辑
摘要: 一、JUC的由来 synchronized 关键字是JDK官方人员用C++代码写的,在JDK6以前是重量级锁。Java大牛 Doug Lea对 synchronized 在并发编程条件下的性能表现不满意就自己写了个JUC,以此来提升并发性能,本文要讲的就是JUC并发包下的AbstractQueued 阅读全文
posted @ 2021-01-04 16:11 风平浪静如码 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 数据结构想必大家都不会陌生,对于一个成熟的程序员而言,熟悉和掌握数据结构和算法也是基本功之一。数据结构本身其实不过是数据按照特点关系进行存储或者组织的集合,特殊的结构在不同的应用场景中往往会带来不一样的处理效率。 常用的数据结构可根据数据访问的特点分为线性结构和非线性结构。线性结构包括常见的链表、栈 阅读全文
posted @ 2020-12-31 14:16 风平浪静如码 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 前言: Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多 阅读全文
posted @ 2020-12-30 15:58 风平浪静如码 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: 相信有很多同学在面对多线程代码时都会望而生畏,认为多线程代码就像一头难以驯服的怪兽,你制服不了这头怪兽它就会反过来吞噬你。 夸张了哈,总之,多线程程序有时就像一潭淤泥,走不进去退不出来。 可这是为什么呢?为什么多线程代码如此难以正确编写呢? 从根源上思考 关于这个问题,本质上是有一个词语你没有透彻理 阅读全文
posted @ 2020-12-29 14:32 风平浪静如码 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 什么是二叉树 在计算机科学中二叉树,binary tree,是一种数据结构,在该数据结构中每个节点最多有两个子节点,如图所示: 二叉树的定义就是这样简单,但这种看起来很简单的数据结构遍历起来一点都不简单。 如何遍历二叉树 所谓遍历简单的讲就好比在迷宫中寻宝,宝物就藏在某一个树节点当中,但我们并不知道 阅读全文
posted @ 2020-12-28 14:43 风平浪静如码 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。 为了解决这一系列问题,系统架构也在不断演进。传统的集中式系统已经逐渐无法满足要求,分布式系统被使用在更多的场景中。 阅读全文
posted @ 2020-12-27 17:03 风平浪静如码 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 多进程 历史上最早出现也是最简单的一种并行处理多个请求的方法就是利用多进程。 比如在Linux世界中,我们可以使用fork、exec等系统调用创建多个进程,我们可以在父进程中接收用户的连接请求,然后创建子进程去处理用户请求,就像这样: 这种方法的优点就在于: 编程简单,非常容易理解 由于各个进程的地 阅读全文
posted @ 2020-12-24 14:38 风平浪静如码 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 一切要从CPU说起 你可能会有疑问,讲多线程为什么要从CPU说起呢?原因很简单,在这里没有那些时髦的概念,你可以更加清晰的看清问题的本质。 CPU并不知道线程、进程之类的概念。 CPU只知道两件事: 从内存中取出指令 执行指令,然后回到1 你看,在这里CPU确实是不知道什么进程、线程之类的概念。 接 阅读全文
posted @ 2020-12-23 14:52 风平浪静如码 阅读(334) 评论(1) 推荐(0) 编辑
摘要: 什么是延迟任务? 顾明思议,我们把需要延迟执行的任务叫做延迟任务。 延迟任务的使用场景有以下这些: 红包 24 小时未被查收,需要延迟执退还业务; 每个月账单日,需要给用户发送当月的对账单; 订单下单之后 30 分钟后,用户如果没有付钱,系统需要自动取消订单。 等事件都需要使用延迟任务。 延迟任务实 阅读全文
posted @ 2020-12-22 15:04 风平浪静如码 阅读(245) 评论(0) 推荐(0) 编辑