实现原理hashmap基于数组+链表+红黑树实现,jdk1.8以前是基于数组+链表。 为啥用数组+链表用数组是因为数组的随机读取的时间复杂度为O(1),通过下标可以直接访问到...
实现原理hashmap基于数组+链表+红黑树实现,jdk1.8以前是基于数组+链表。 为啥用数组+链表用数组是因为数组的随机读取的时间复杂度为O(1),通过下标可以直接访问到...
DDL:数据定义语言 DCL:数据控制语言 DML:数据操作语言表的创建修改删除。表的复制: DQL:数据查询语言 MYSQL的主要字符集:utf8,utf8mb4.utf8...
给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假...
join 语法: 与之前的多表查询相比,将连接条件放在了on后面,而之前的多表查询将筛选条件和连接条件都放在了 where后面用and连接。 内连接: 内连接查询到的是两张表...
非线程安全 模拟了延时之后,可能会出现多个人买到同一张票或者有人买到了不存在的票的情况。 这就是线程不安全的情况。为什么会出现这两种情况,首先看有人买到不存在的票的情况,当只...
线程的生命周期 Thread类 如果不给Thread对象传name参数,那么new出来的线程对象默认叫Thread-0,依次增加。如果有被自定义name的线程对象,那么下一个...
程序产生异常,锁就会被释放。原子性:某个操作是不可分割的。在一个线程进行对代码块原子操作的时候,其他的线程必须等待该线程完成才能进行操作。可见性:当一个线程对某个值进行修改的...
索引:Mysql建立的用来快速查询的已经排好序的数据结构。索引的目的就是为了快速查找数据。Mysql索引使用B+树实现的,B+树是B树的一个变种。索引的数据结构还可以有其他形...
索引是帮助mysql高效获取数据的数据结构,可以简单理解为,已经排好序的用于快速查找的数据结构。排序和快速查找是关键。索引会影响到order by排序。一般来说索引本身也很大...
Sleep sleep()方法是Thread类提供的静态方法,在哪个线程中调用,哪个线程阻塞,一般用于模拟网络延时和用于倒计时。时间到了之后自动进入就绪状态。利用sleep方...
HashMap按照<key,value>键值对的方式来存储。hashmap把键值对存入数组里,实际上数组里面存放的是Node类的实体,Node类是一个单向的链表结构,键值是N...
事务是什么 事务(TRANSACTION)是单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行 。事务是一个不可分割的工作逻辑单元...
MySQL中的锁总体可以分为悲观锁和乐观锁。悲观锁MySQL中有自带的锁。乐观锁需要自己写程序控制来实现乐观锁的功能。 悲观锁 表级锁 表锁 表锁属于mysql服务层,手动添...
wait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。 wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synch...
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]...
给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的...
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为...
代码示例