自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Mysql 选错索引 或者 不走索引的情况

一条查询语句选择哪个索引执行 是由优化器决定的。优化器选择执行代价最低的索引进行执行。 考虑的代价有:执行扫描的行数,是否要排序,有没有涉及到临时表。更具统计信息来判断扫描的行数:索引区分度:区分度小 扫描的行数就会多,然后还要回表,区分度是粗略统计法:随机抽几个数据页, 找到这几页的区分度然后求平均值再乘总页数统计。注意:回表代价也要判断进去。选错索引的解决办法:force index, 从写sql语句不走索引的情况:1.where 后的条件句 字段加了函数例如: select..

2022-05-29 02:05:55 763

原创 Leetcode224 基本计算器 双栈,或转后缀表达式求值

224. 基本计算器难度困难750给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如eval()。示例 1:输入:s = "1 + 1"输出:2示例 2:输入:s = " 2-1 + 2 "输出:3示例 3:输入:s = "(1+(4+5+2)-3)+(6+8)"输出:23提示:1 <= s.length <= 3* 10...

2022-04-24 05:28:35 546

原创 TCP 3 次握手以及 4次挥手。

TCP 和 UDP的区别:UDP 不提供复杂的控制机制,UDP包比较简单,首部只有源端口号,目的端口号,校验和以及整个UDP包大小字段。TCP 和 UDP区别:1.连接TCP:是面向连接的协议,传输数据前要先建立连接UDP:不面向连接,即刻传输数据2. 对象TCP: TCP协议是点对点数据的传输,也就是1对1UDP:UDP协议利用了IP协议传输包对特点 同时可以3.可靠性TCP : TCP协议是可靠性的传输协议, 它要保证传输的包无差错,不重复,不丢失的,按需..

2022-04-23 08:37:14 302

原创 Java 反射与Java反射的常用方法总结

RTIT(Run-time type identification) 运行时类型识别。 在运行时识别我们对象的类型和信息。在Java中一般通过反射在运行时发现对象的类型已经使用对象的类型信息。反射就是把Java类的各个部分映射成为一个个Java对象例如:一个类有成员变量,构造方法,包,接口,方法等信息,利用反射可以把这些部分映射成一个个Java对象。Class 类,Class 类的实例表示Java应用运行时类或者接口的类型信息对象(可通过类目.class或队长.getClass(), Cla

2022-04-18 01:31:18 1104

原创 大厂面试常见智力题

1. 64匹马,8个赛道,找出前4名最少比赛多少场?这是一道经常考的智力题64匹马,我们要想知道哪匹🐎跑的最快,前提条件是每一匹🐎都要去比赛一场。所以刚开始的赛马规则是每匹马都要进行一次比赛。步骤1: 把 64匹🐎 8 个 8个分成一组,所以可以分成8组🐎(因为这是8个赛道所以8个8个分组)。然后进行每组的比赛,得到每一组内的排名。步骤2: 由上一步我们可以知道每一组内的排名,来看看我们的要求, 找出前4名,所以我们可以排除每一组的最后4名,因为最后4名不可能属于前4名。这个时候还剩下

2022-04-14 01:55:50 1695

原创 Linux 文件与目录管理以及相关命令

1. cd (change directory)更改目录的指令注意:Linux 目录中 每个跟目录下有个 /home/用户名 , 用户如果输入 cd ~ 会进入这个目录,每个不同的用户登录linux主机后,都会有个专属于自己的 /home/自个用户名 的目录,用户刚开机登录进去默认是在这个目录里面。2.mkdir [-p] directoryname(或者路径名)(make directory)创建目录 后面跟 -p参数 如果路径名不存在会以此创建目录否则如果不存在会报错3. rmdir [..

2022-04-08 07:57:12 1139

原创 Linux 文件权限讲解

在Linux中,文件权限划分的很细致(这里的权限主要指的是文件对于用户的权限,也就是能对文件所作操作的控制)主要对用户划分,划分为不同的用户组,用户可以属于不同的用户组也可以属于多个用户组。Linux 划分成这种细致的权限是因为Linux是一个多用户操作的分时系统,想象一下有多个团队在操作同一个linux主机,每个团对肯定有相互隐私的文件,所以文件要设置权限,对文件权限有多种不一样的划分,有的文件可以同一个团队共享某个权限,有的文件可以所有人共享,有的只能特定于某一个用户贡献。 注意:linux 中root

2022-04-07 06:53:26 1574

原创 LeetCode 229 求众数II 摩尔投票法

给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。输入:[1,1,1,3,3,2,2,2]输出:[1,2]题目进阶要求 时间复杂度 O(N) 空间复杂读 O(1)解法1: 这道题最直观的解法就是 创建一个HashMap 然后统计数组里的词频,然后便利一遍HashMap 将 HashMap里 词频大于 n/3的数添加到结果集里解法2:利用摩尔投票法(就是一个听起来很NB的方法思路也就那样):举个🌰:一个数组有N个数,怎么找到出现次数超过一半的那个数

2022-04-07 03:23:34 156

原创 HTTP 基本知识

HTTP 是什么?HTTP 是超文本传输协议(Hyper text transfer protocol) HTTP 是计算机世界中两个端点用来传输 文字 图片音频视频等超文本信息的规范和约束HTTP 有三个重要的元素:1. 超文本:是图片,文字,视频,音频等的组合2.传输:传输信息3.协议:约束和规范HTML 就是常见的超文本“HTTP 是用于互联网服务器传输超文本到本地浏览器的协议” 这句话对吗?答案: 是错的, 因为 服务器与服务器之间也可以传输超文本,例如 Spring

2022-04-05 08:05:33 285

原创 Redis的底层数据结构之跳表(有序列表zset的底层数据结构)

跳表概念:跳表是一个有序的数据结构,它通过内部节点维护的一个指向其他节点的指针,从而达到快速访问的目的。跳表支持平均时间复杂度为o(logn)的增删查改,最坏的时间复杂度为o(N)跳表和平衡二叉树的区别:1. 跳表实现步骤相对平衡二叉树来说相对简单一些。2.跳表和二叉树都是有序存储的数据结构,他们的查找时间复杂度都是logN。3.平衡二叉树每次增删节点都需要检查是否需要reblance从而使树达到平衡,而跳表在增删的时候只需要实现局部节点的指针的变化,也就是只需要改变相邻节点的指

2022-03-29 05:37:40 874

原创 Redis 5 种数据结构之 key-value(字符串)

字符串类型是redis的五种基础数据类型之一, 但是Redis字符串类型不是普通的字符串类型,Redis的字符串类型被称为SDS(simple dynamic string)即简单动态字符串,Redis实现了这种抽象数据结构。在Redis中,当需要的不是字符串常量类型,而是可以修改的字符串时,就会使用SDS. 比如 Redis中包含字符串值的 key-value 对 都是通过SDS实现的。 C字符串在 Redis中经常被用在字符串不被修改的地方,如打印的日志中。SDS除了保存常用字符串信息(如用户的

2022-03-23 01:54:49 3315

原创 一文搞懂 三路快速排序,稳定版本快排,非递归版本快排

https://wiki.jikexueyuan.com/project/easy-learn-algorithm/fast-sort.html这篇文章说一下快速排序,3路快速排序,稳定快速排序,以及非递归版本的快速排序怎么写。不懂快速排序的朋友可以点开看一下上面那一个链接,里面有介绍快速排序的概念的。首先我们来看一下普通快速排序:普通快速排序:话不多说先上代码:public static void main(String[] args) { int[] nums

2022-03-18 04:50:26 1657 2

原创 并发设计模式之 Copy-on-Write(写时复制)不是延迟模式的写时复制 设计模式

COW 设计方法 设计模式

2022-03-14 23:21:05 807

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除