03 2023 档案
【LeetCode】3.19 对称二叉树
摘要:101. 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false 提示: 树中节点数目在范围 [1, 100
MySQL(八)哈希索引、AVL树、B树与B+树的比较
摘要:#### Hash索引 ##### 简介 **这部分略了** ##### Hash索引效率高,为什么还要设计索引结构为树形结构? - Hash索引仅能满足 **=、和IN查询**,如果进行`范围查询`,哈希的索引会退化成O(n);而树型的有序特性,仍然能够保持O(log2n)的效率 - Hash
MySQL(六)存储引擎
摘要:存储引擎 连接管理、查询缓存、解析器和执行器被归为MySQL service,而把真实存储数据的功能划分为存储引擎的功能。所以MySQL service经过查询优化后,只需按照生成的执行计划调用存储引擎的API获取数据,然后返回给客户端即可。存储引擎本质就是表的类型,功能是接收上层传来的指令,然
MySQL(七)索引
摘要:索引的数据结构 1 为什么使用索引 索引概述 索引(Index)是帮助MySQL高效获取数据的数据结构。是“排好序的快速查找结构”,满足特定的查找算法 索引是在存储引擎中实现的,每种存储引擎的索引不一定完全相同,每种存储引擎也不一定支持所有的索引 存储引擎可以定义每个表的最大索引数和最大索引长度 所
MySQL(五)配置文件、系统变量与MySQL架构
摘要:#### 1 配置文件的使用 ##### my.cnf配置文件 /etc/my.cnf: ```bash [root@hadoop103 ~]# cat /etc/my.cnf # For advice on how to change settings please see # http://de
【LeetCode】232.使用栈模拟队列
摘要:使用栈模拟队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列
JUC(八)ThreadLocal
摘要:### ThreadLocal  #### 简介 ThreadLocal提供局部线
JUC(七)分支合并框架
摘要:JUC分支合并框架 简介 Fork/Join可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务的结果合并称为最终的计算结果。 Fork:负责将任务拆分 Join:合并拆分任务 ForkJoinPool:分支合并池,添加分支合并任务,使用get得到计算结果 案例一:实现1+...+100,要
JUC(六)堵塞队列与线程池
摘要:堵塞队列 简介 def:在多线程中实现高效、安全的数据传输,主要是通过一个共享的队列,使得数据能够从一端输入,从另一端输出 当队列是空的,取数据的线程就会被堵塞,直到其他线程往空的队列中添加数据 当队列是满的,放数据的线程就会被堵塞,直到其他线程移除数据 使用堵塞队列能够实现简化线程之间的协作,使用
JUC(五)Callable
摘要:Callable接口 创建线程的几种方式 继承Thread类 实现Runnable接口 通过Callable接口 线程池 使用Runnable接口无法获取到线程返回的结果,因此在jdk1.5后java提供了Callable接口。 Callable接口的特点 需要实现带返回结果的call方法 无法计算
JUC(四)多线程锁
摘要:多线程锁 Synchronized锁的八种情况 以一个手机类为例,包含两个synchronized方法和一个普通方法。 public class Phone { public synchronized void sendSMS() throws InterruptedException { Syst
TS(二)内置对象与class类
摘要:内置对象 ECMA内置对象 Boolean、Number、String、RegExp、Date、Error const regexp:RegExp = /\w\d\s const number:Number = 1 const string:String = "123" ... 返回的都是一个对象,
TS(一)环境搭建与基本类型
摘要:1 TypeScript 环境搭建 1 准备NodeJs环境 2 npm全局安装typeScript npm i -g typescript 3 编写一个ts文件 4 使用tsc命令编译ts文件为js E:\File\myNote\TypeScript>tsc hello.ts 5 使用ts-nod
JUC(三)集合的线程安全
摘要:集合的线程安全 list集合线程不安全演示 List中的add方法没有添加Synchronized,因此是线程不安全的: public boolean add(E e) { modCount++; add(e, elementData, size); return true; } public st
JUC(二)线程间通信
摘要:线程间通信 多线程编程步骤 创建资源类,编写属性和操作方法 在资源中的操作方法 判断 干活 通知 创建多个线程,调用资源类的操作方法 使用while循环进行条件判断,防止虚假唤醒问题 一个加减实例 & 虚假唤醒问题 实现对一个初始值0进行轮流加减操作 public class AddAndSub {
JUC(一)JUC简介与Synchronized和Lock
摘要:1 JUC简介 JUC就是java.util.concurrent的简称,这是一个处理线程的工具包,JDK1.5开始出现的。 进程和线程、管程 进程:系统资源分配的基本单位;它是程序的一次动态执行过程。系统运行一个程序即是一个进程从创建,运行到消亡的过程。 线程:系统资源调度的基本单位;它是一个比进