摘要:
基本概念 在登录QQ的时候,QQ服务器是如何核对你的身份?面对庞大的用户群,如何快速找到用户信息? 我们已经直到的几种查找方法包括:顺序查找,二分查找(静态查找),二叉搜索树(动态查找)。在这个场景下,如果使用二分查找的话就会面对插入和删除一个新号码要移动大量数据的问题。 这里我们要用到散列查找的方 阅读全文
摘要:
NSCD(Name Service Cache Daemon)是服务缓存守护进程。 NSCD 安装 RHEL/CentOS yum -y install nscd Debian/Ubuntu apt-get install nscd RPM https://centos.pkgs.org/7/cen 阅读全文
摘要:
本文翻译自20 Practical Examples of RPM Commands in Linux RMP (Red Hat Package Manager) 是一款 Red Hat 系统的开源包管理工具,支持安装、更新、卸载、查询、验证和管理系统软件包。RPM以前称为 .rpm 文件,文件内包 阅读全文
摘要:
Maven 依赖 <!--mail--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 如果需要指定版本 阅读全文
摘要:
什么是队列 具有一定操作约束的线性表。插入和删除操作,只能在一端插入,另一端删除。 数据插入称之为入队(addQ),数据删除称之为出队(deleteQ),队列最重要的特征就是先进先出(FIFO)。生活中有很多跟队列相关的例子,例如超市排队。 队列的抽象数据类型描述 与队列相关的操作主要包括以下几种: 阅读全文
摘要:
Synchronized 简介 本文出自汪文君老师的《Java 并发编程》课程,如需转载,请注明源出处! 先来看一个例子,这个例子是模拟银行叫号的,使用三个线程模拟三个柜台一起叫号,总共50个号。在不加 synchronized 的关键字的情况下,很容易就会出现并发问题。 public class 阅读全文
摘要:
准备 Itellj IDEA, jdk1.8 的源代码包(解压 jdk 目录下的 src.zip 包得到) 项目结构 IDEA 创建一个普通的 java 项目 把解压得到的 jdk1.8 的源代码复制到 source 目录下: test 目录用来写测试用例, 这里用不到 Main 方法。 IDEA 阅读全文
摘要:
什么是死锁 百度百科中对于死锁的定义:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。 简而言之,当线程1持有资源A,线程2持有资源B。此时线程1想要获取资源B,线程2想要获取资源A。两个线程都想要获取对方手中的资源, 阅读全文
摘要:
平衡二叉树 平衡二叉树也是一种搜索树。 搜索树节点不同插入次序,将导致不同的深度和平均查找长度 ASL。 平衡因子(Balance Factor):BF(T)=hL-hR,其中hL和hR分别是T的左右子树的高度。平衡二叉树(Balanced Binary Tree) 又叫 AVL树,当树不为空时,在 阅读全文
摘要:
背景 最近碰到一个问题,有个应用在启动的时候一直报错,错误信息如下: java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory 错误 阅读全文