01 2019 档案
摘要:到底什么是最小生成树 最小生成树算法应用范围比较广,例如在网络的铺设当中难免会出现环路,需要要生成树算法来取出网络中的环,防止网络风暴的发生。那到底什么是最小生成树呢?我这里就不给严谨的定义了,这种定义网上一搜一大堆,但是往往严谨的定义都不太容易理解。下面我就给出一个更容易理解的定义。 在理解“最小
阅读全文
摘要:了解拓扑排序 看到这篇文章的博友可能已经对拓扑排序有了一定的了解,但是在这里我们还是需要明确一下什么是拓扑排序。 拓扑排序的严谨定义网上一搜一大堆,我就不copy了,我总结几点拓扑排序的特点: 1. 拓扑排序是建立在有向无环图(DAG)的基础上的。 2.拓扑排序就是将DAG以线性方式进行排序。即对任
阅读全文
摘要:概述 在此之前由于个人在学习和开发中对枚举类的应用较少,所以对枚举类的知识点并没进行深入的了解,但最近写代码中突然想到了枚举类,抱着完善自身的知识的目的,就较为深入的了解了Java中的枚举类。 我在学习任何东西之前都会大致弄清楚这个东西存在的目的是什么,这样才能更加深入的理解一些东西。同样的,在学习
阅读全文
摘要:理解平衡二叉树 在解决平衡二叉树动平衡问题,我们先来明确什么是平衡二叉树: 平衡二叉树是二叉搜索树的一种特殊情况,所以在二叉搜索树的基础上加上了如下定义: 平衡因子:我们将二叉树中各个结点的左右子树的高度差称为该节点的平衡因子。 平衡二叉树:就是在二叉搜索树的基础上,所有结点的平衡因子都小于等于一。
阅读全文
摘要:软件开源是许多软件企业需要关注的问题,不同的开源软件协议,对应不同的源代码使用限制。只有了解这些开源软件协议,才能更好地使用和回馈开源软件,否则就有可能触犯法律。今天介绍四种常见的开源软件协议: GPL(GNU General Public License)LGPL(GNU Lesser Gener
阅读全文
摘要:相信很多人看到了这个标题就会产生疑问,这篇文章到底要讲什么东西?在回答这个问题之前,我先提出几个问题? 1. 什么是Linux? 2. 什么是GNU? 3. GNU/Linux是什么玩意儿? 在回答了以上问题后,大家自然也清楚我想说明的问题了。 什么是Linux 相信了解一些IT知识的人都听过Lin
阅读全文
摘要:UTF-8和Unicode到底有什么区别?是存储方式不同?编码方式不同?它们看起来似乎很相似,但是实际上他们并不是同一个层次的概念。 要想先讲清楚他们的区别,首先应该讲讲Unicode的来由: 众所周知,在盘古开天辟地之前,sorry ,走错片场了(⊙o⊙)…在计算机发明的时候 ,由于计算机你只能表
阅读全文
摘要:刚转入IDEA的小伙伴都知道,如果将IDEA的快捷键设置为Eclipse模式也会有相当多常用快捷键不一样,下面链接的配置文件是博主自己IDEA配置的导出文件。我将Eclipse常用的快捷键都做了同步,当然这个不可能做到面面俱到,有需要小伙伴可以先导入这个配置文件,然后再做修改,这样可以减少很多工作量
阅读全文
摘要:目录 概述 API介绍 ThreadLocal的理解 ThreadLocal的原理分析 总结 概述 在java学习生涯中可能很多人都会听到ThreadLocal变量,从字面上理解ThreadLocal就是“线程局部变量”的意思。简单的说就是,一个ThreadLocal在一个线程中是共享的,在不同线程
阅读全文