连击 天
fork: star:
循环依赖 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图: 注意,这里不是函数的循环调用,是对象的相互...
前言 因为设计模式种类多,且重理解重回忆,所以本文尽量言简意赅,便于时时温习。 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,...
前言 分布式锁的背景 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug。 但注意这...
前言 在JAVA中,我们知道int和float占用4个字节,double和long占用8个字节。 那为何int和long的取值范围分别是[-2^31,2^31],float的取值范围却是[-3.40282346638528860e+38 , -1.4012984643...
前言 随着IO多路复用技术的出现,出现了很多事件处理模式,其中Reactor/Proactor模式是其中的佼佼者。 Reactor模式是非阻塞同步的I/O模型,Proactor模式是非阻塞异步I/O模型。 平时接触的开源...
前言 本文一切基于MySql InnoDB 概念 分区:把一张表的数据分成多个区块,在逻辑上看最终只是一张表,但底层是由多个物理区块组成的 分表:把一张表按一定的规则分解成多个具有独立存储空间的...
1 动态规划的概念 1.1 定义 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的数学方法。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策...
前言 排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间...
前言 在了解IO设计之前,我们首先的搞明白几个概念:什么是阻塞和非阻塞,什么是同步和异步; 同步和异步是针对应用程序和内核的交互而言的; 同步指的是应用程序触发IO操作并等待或者轮询的...
前言 二叉树的遍历是指不重复地访问二叉树中所有结点,主要指非空二叉树,对于空二叉树则结束返回。二叉树的遍历主要包括前序遍历、中序遍历、后序遍历。 一棵二叉树由根结点、左子树和右子树...
1 堆和树的区别 堆是一类特殊的树,就类似一堆东西一样(金字塔结构),按照由大到小(或由小到大)“堆”起来。 其中容易混淆的是二叉堆和二叉树。 二叉堆的特点是双亲结点的值必然小于等于...
1 分布式事务的概念 事务在分布式计算领域也得到了广泛的应用。在单机数据库中,我们很容易能够实现一套满足ACID特性的事务处理系统,但是在分布式数据库中,数据分散在各台不同的机器上,如...
前言 我们在日常的开发和维护工作中,免不了需要对JAVA程序进行监控、调优以及问题排查。 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里...
前言 在JAVA开发中,我们经常需要操作数组和集合,其中数组和链表的排序是重中之重。 Arrays.sort方法用来对数组排序。Collections.sort()方法用来对链表排序,而Collections.sort()的底层,...
1 拓扑排序 【定义】:拓扑排序实质上只是将DAG图的顶点排成一个线性序列,得到一个顶点的全序集合,其排序的顺序依据就是节点的指向关系。 【适用场景】:在图的环路判断和输出线性序列的场...
前言 在正文开始前,我们先来了解一下有向无环图(Directed Acyclic Graph简称DAG) 如下图就是一个DAG图,DAG图是我们讨论拓扑排序的基础。 AOV网:数据在顶点 可以理解为面向对象 AOE网:数据...
前言 我们首次接触广度优先搜索和深度优先搜索时,应该是在数据结构课上讲的 “图的遍历”。还有就是刷题的时候,遍历二叉树/拓扑排序我们会经常用到这两种遍历方法。 广度优先搜索算法(Bre...
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定删除此文章吗?
动弹删除后,数据将无法恢复
评论删除后,数据将无法恢复