【Java多线程】Java多线程基础(一)
摘要:基本概念:程序、进程、线程 程序、进程、线程 程序(program) 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process) 是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期 如:
阅读全文
【Java面试题】MySQL索引底层为什么用到B+树
摘要:学习本章之前,先要了解红黑树 【算法】红黑树原理和算法介绍,以及B树、B+树 【算法】B树、B+树详解 最近重新学习MySQL,发现自己一直知道MySQL索引用到了B+树,引发思考,为什么一定要是B+树,其他树或者其他数据结构不可以吗? 为什么不是用红黑树 1、将大量数据全部放入内存组织成RBT结构
阅读全文
【算法】B树、B+树详解
摘要:B树 前言 首先,为什么要总结B树、B+树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/+Tree作为索引结构(例如mysql的InnoDB引擎使用的B+树),理解不透彻B树,则无法理解数据库的索引机制;接下来将用最简洁直白的内容来了解B树、B+树的数据结构 另外,B-树,即为
阅读全文
【Kafka】 Kafka的简介与架构(三)
摘要:Kafka的简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并
阅读全文
【算法】红黑树原理和算法介绍
摘要:红黑树介绍 二叉查找树 学红黑树,首先理解二叉查找树 二叉查找树(BST)具备特性 左子树上所有结点的值均小于或等于它的根结点的值。 右子树上所有结点的值均大于或等于它的根结点的值。 左、右子树也分别为二叉排序树。 二叉查找树是二分查找的思想,查找所需的最大次数等同于二叉树的高度。 在插入节点的时候
阅读全文
【算法】时间复杂度
摘要:时间复杂度概念 在计算机科学中,时间复杂性,又称时间复杂度,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况
阅读全文
【Java面试题】String、StringBuffer和StringBuilder类的区别
摘要:在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。String 类是不可变类,即一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。 Java 提供了两个可变字符串类 StringBuffer 和 StringBui
阅读全文
【Kafka】 Kafka集群搭建(二)
摘要:单机版Kafka搭建参考:【Kafka】 Kafka安装 Kafka集群搭建 环境系统:CentOS 7.4 kafka版本:2.6.0 由于资源有限,只有一台服务器,本例搭建的是一个伪集群Kafka环境 1、搭建一个zookeeper集群,参考:【ZooKeeper】ZooKeeper安装及简单操
阅读全文
【Kafka】 Kafka安装(一)
摘要:Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 官网:http://kafka.apache.org 官网下载地址:http://kafka.
阅读全文