数据结构 二叉树(BST树) 和 平衡二叉树(AVL树 ) 二叉树(BST树) 和 平衡二叉树(AVL树 )前言一、二叉树1.特点2.好处3.缺点二、平衡二叉树(红黑树)1.特点好处:缺点:总结前言说到数据结构,就不得不联想到 索引,其中以mysql为代表。索引底层就是利用树结构,以时间换空间。二叉树,平衡二叉树 也叫红黑树,B树,B+树。这篇文章就说下 我对 二叉树和平衡二叉树 的了解。一、二叉树1.特点如图所示 每一个数字都是一个节点,第一排为根节点,上一排作为下一排的父节点。1. 根节点的值大于其左子树中任意一个节点的值。2. 根节点的值
Java NIO 报java.nio.charset.MalformedInputException: Input length = 2异常 今天在springboot项目中,配置nacos 发现 启动项目突然发现报java.nio.charset.MalformedInputException: Input length = 1异常百度/博客 查了 试了很多方法都没有用,后面发现一个大神三年前在评论区给的方法果然删掉yml配置文件中,所有的中文注释, 没错,删掉yml中所有的中文注释 然后就好了!发发牢骚,记录一下,怕下次忘记了 害虽然解决了,但还是有诸多疑问, 期待 大佬们在评论区留言 给我这个菜鸟解惑。...
IDEA工程运行时,总是报xx程序包不存在,实际上包已导入 导入maven项目IDEA工程运行时,总是报xx程序包不存在,实际上包已导入图示:如何解决?删除工程目录下的 .iml 文件,删除之前可以看下文件内容;配置maven,重新生成 .iml 文件,重新生成之后再看下文件内容 会发现多了很多东西;IDEA菜单选择 Rebuild Project (可选操作);执行程序,问题解决;...
Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系? 文章目录一、简单介绍二、Spring VS SpringMVC三、SpringMVC VS SpringBoot四、SpringBoot和SpringCloud总结一、简单介绍Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。Spring MVC是Spring的一个模块,一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容
线程池的介绍 文章目录前言一、什么是线程池?二、线程池作用三、 线程池参数线程池的执行流程又是怎样的呢?1、corePoolSize 线程池核心线程大小2、maximumPoolSize 线程池最大线程数量3、keepAliveTime 空闲线程存活时间4、unit 空闲线程存活时间单位5、workQueue 工作队列6、threadFactory 线程工厂7、handler 拒绝策略四、常见的四种线程池总结前言以Java为例,在一个应用程序中,我们需要多次使用线程,也就意味着,我们需要多次创建并销毁线程。而创建
springcloud介绍及和dubbo的区别 微服务概述微服务是什么微服务与微服务架构微服务的优缺点文章目录微服务概述微服务是什么微服务与微服务架构微服务的优缺点springcloud一、spring cloud 介绍其主要优点有:缺点:二、Spring Cloud 和 Dubbo 对比1.springcloud 与dubbo的组件对比2.springcloud 与dubbo的区别三、Spring Cloud的主要组件1.eureka的服务注册与发现1.1是什么1.2原理讲解1.3构建步骤1.4集群配置1.5 **eureka和zooke
spring事务 spring事务文章目录spring事务Spring事务的实现方式和实现原理一、spring事务的隔离级别二、使用步骤1.引入库2.读入数据总结Spring事务的实现方式和实现原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的一、spring事务的隔离级别spring 有五大隔离级别,默认值为 ISOLATION_DEFAULT(使用数据库的设置),其他四个隔离
redis为什么快? 问题:redis为什么快?1.基于内存,绝大部分请求时纯粹的内存操作 非常快2.数据结构简单,操作节省时间3.采用多路复用io阻塞机制4.采用单线程,避免了不必要的上下文切换和竞争条件,不存在进程或多线程导致的切换而消耗cpu,不用考虑各种锁问题5.底层模型不同,redis直接构建了vm机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求...
sql语句的优化 概要:sql语句优化(也叫慢sql优化)性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化sql优化:(1)常见的简化规则如下:1.不要有超过5个以上的表连接(JOIN)2.考虑使用临时表或表变量存放中间结果。3.少用子查询4.视图嵌套不要过深,一般视图嵌套不要超过2个为宜5.为了加快查询速度,优化查询效率,主要原则就是应尽量避免全表扫描,应该考虑在where及order by 涉及的列上建立索引。6.where
MySQL索引 概念:1.索引是帮助mysql高效获取的排好序的数据结构2.实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。使用索引可快速访问数据库表中的特定信息.索引的原理:索引一般以文件形式存在磁盘中(也可以存于内存中),存储的索引的原理大致概括为以空间换时间 ,数据库在未添加索引的时候进行查询默认的是进行全量搜索,也就是进行全局扫描,有多少条数据就要进行多少次查询,然后找到相匹配的数据就把他放到结果集中,直到全表扫描完。而建立索引之后,会将建立索引的KEY值放在一个n叉树上(BTree)
单例模式--singleton 23种设计模式系列之单例模式。概念:java中单例模式是一种常见的设计模式. 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以
oracle数据库----decode函数的使用 decode的几种用法1.使用decode判断字符串是否一样DECODE(字段名,if1,then1,if2,then2,if3,then3,…,else)含义为IF 字段名的值=值1 THEN RETURN(value 1)ELSIF 字段名的值=值2 THEN RETURN(value 2) …ELSIF 字段名的值=值n THEN RETURN(value 3)ELSE RETURN(default)END IF例如:decode(THAW_
冒泡排序 冒泡排序(Bubble Sort)冒泡排序是简单经典的排序算法,它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越
oracle中查询数据库指定行数的记录 oracle使用虚列rownum可以查询到指定数字之间的记录数。第一行的rownum=1比如我们想查询前五条记录,可以使用select * from 表名 where rownum<10.但是我们如果使用rownum>5时,就会出错,这时候就得换种方法了。select 列名 from (select rownum r,列名 from emp) where r>5比如我们想查询emp表中薪水排名6-9的员工,则select
关于js 表格鼠标悬停显示完整信息 需求:表格横向信息栏宽度固定,展示不全信息,鼠标点击上去显示全部方法:1.在table标签中 加上 style="table-layout: fixed;(表示固定每列宽度;调整的话自行在th标签中修改宽度width)2…在td标签中style添加:white-space:nowrap;/*文本不会换行,在同一行显示*/overflow:hidden;/*超出隐藏 */text-overflow:ellipsis;/*省略号显示*/title=“完整内容” /*鼠标悬浮展示*/例子:
redis--2 常用命令 一 redis 服务器命令cd /usr/local/src/redis1.启动redis redis-server redis.conf2.进入客户端redis-cli -p 63793.查看主从信息info replication4.关闭redis方法1: redis-cli -p 6379 shutdown方法2: ps -ef | grep redis kill -9 PID号5.清空全部数据库 flushall二 Redis命令
Redis--1 一、Redis简介原子性说明: Redis的操作是单进程单线程操作,所以没有线程并发性的安全问题. 采用队列的方式一个一个操作.Redis常见用法:1.Redis可以当做缓存使用2.Redis可以当做数据库使用 验证码3.Redis可以消息中间件使用 银行转账等Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统.它可以用作数据库缓存消息中间件它支持多种类型的数据结构:字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(