摘要:
B树与B+树不同的地方在于插入是从底向上进行(当然查找与二叉树相同,都是从上往下) 二者都通常用于数据库和操作系统的文件系统中,非关系型数据库索引如mongoDB用的B树,大部分关系型数据库索引使用的是B+树。 一、B树(也叫B-树,注意并不是读B减树哦) m阶B树需满足以下要求: 1、m阶B树:m 阅读全文
摘要:
换了新电脑,重新安装了一下mysql,安装过程出现了一些错误,在此记录一下: 参考菜鸟教程:https://www.runoob.com/mysql/mysql-install.html 1、下载mysql 5.7.27 zip 解压缩 2、生成my.ini 配置文件,按照教程填写内容。 3、管理员 阅读全文
摘要:
本文章讨论两个问题: ①如何判断两棵二叉树的结构是一样的、对应的每个结点都有着相同的值。--即判断两棵二叉树是一样的 ②给定两棵二叉树,如何判断一棵二叉树是另一棵二叉树的子结构 ③给定两棵二叉树,如何判断一棵二叉树是另一棵二叉树的子树 注意,子结点与子树不同。如下图所示,2,3,4都是1的子结构但是 阅读全文
摘要:
https://www.jianshu.com/p/d4cf13b32111 https://blog.csdn.net/v_JULY_v/article/details/7041827 阅读全文
摘要:
其中 无序数组直接插在末尾,时间复杂度为1 有序数组使用二分查找,时间复杂度logN 无序链表插入在表尾,时间复杂度1 有序链表插入需要寻找插入位置,时间复杂度N 二叉树一般情况即为平衡二叉树,最坏情况为有序链表 不过,此处需要说明,平衡二叉树删除时需要从被删除节点的父节点开始调节平衡一直调节到根节 阅读全文
摘要:
一、线程的各个状态 图中的线程状态(Thread.Stat 中定义的Enum 名)NEW、RUNNABLE 、TERMINATED、WAITING、TIMED_WAITING 和BLOCKED 都能够通过Thread 类的getState 方法获取。 由图中可以看到: 1、sleep方法只有time 阅读全文
摘要:
1、java虚拟机内存结构 java程序的执行依赖于JAVA虚拟机(运行于机器内存中),其开始于一个main()方法,如果在一台机器上运行三个java程序,就需要三个java虚拟机。 1.1 程序计数器 功能:一块较小的内存,执行引擎Execution Engine通过改变计数器的值选取下一条需要执 阅读全文
摘要:
1、I/O分类与装饰者模式 基本java I/O包含两种类型的流,字节流(inputStream、outputStream)与字符流(Writer,Reader),关于I/O操作类的设计,用到了装饰者模式,如下图所示。 其中FilterInputStream抽象类继承了InputStream抽象类, 阅读全文
摘要:
Throwable 可以用来表示任何可以作为异常抛出的类(注意,是类不是接口),分为两种: Error(注意!error也是可以throw的,但是不建议) 和 Exception。 其中 Error 用来表示 JVM无法处理的错误,对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和预防,遇到这 阅读全文
摘要:
1、什么是ExecutorService,为什么要使用线程池? 许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务,每当一个请求到达就创建一个新线程,然后在新线程中为请求服务,但是频繁创建新线程、销毁新线程、线程切换既花费较多的时间,影响相应速度,又消耗大量的系统资源,且有时服务器无法处理 阅读全文