自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java IO流

三.如何提升读取和写入速度?1.使用缓冲流,缓冲流默认有8K的缓冲区,使用缓冲流比原始流要更快2.调大每次读取的字节或字符数组,可以使原始流的速度与缓冲流的速度不相上下;那么,字节数组是否越大越好呢?答案是否定的,当字节数组达到一定程度时,对速度的影响是微乎其微的,反而会耗用更多的内存四.文件读取乱码问题Java中的io流会默认使用编译器的编码,当读取的文件编码与io流编码不一致时,会出现乱码;解决:先获取文件的原始字节流,再将其按照真实的字符集编码转成字符输入流,这样字符输入流中的

2024-01-14 15:23:41 778

原创 SpringMVC统一返回值和全局异常处理的实现

实体统一返回结果步骤如下:(1)创建ResponseBodyAdvice的实现类,重写supperts()和beforBodyWrite()(2)为该实现类加上@RestControllerAdvice注解,通过属性指定需要被@RestControllerAdvice管理的controller(3)使用supperts()协助我们更加灵活的过滤需要进行统一返回处理的controller(4)在beforBodyWrite()中进行统一返回处理实现统一异常处理步骤如下:(1)创建全局异常处理类。

2023-07-09 22:29:42 1734

原创 OkHttp3如何使用?

OkHttp3是程序员常用的网络请求框架,本篇文档将向大家简单介绍OkHttp3的使用,帮助大家迅速上手。

2023-06-28 14:51:10 1217

原创 List元素为类对象,按照类对象属性去重的解决办法

很多小伙伴在开发中会遇到一个场景,就是List集合中存储的是类对象,我们想要根据类对象属性去重;这种场景该如何做呢?

2023-01-18 10:41:08 1376 3

原创 MyBatis中TypeHandler的使用教程

在我们平常开发操作数据库时,查询、插入数据等操作行为,有时会报数据类型不匹配异常,就可以得知数据的类型是不唯一的必然是多种不同的数据类型。假设此时的java类型与数据库数据类型是一样的,哪么其他语言中的日期数据插入数据库时又该怎么解释,例如C#操作数据库存入时间类型,C#与java肯定没有关系吧。因为java与数据库各自有数据类型,所以在将java数据存入数据库前中间是否有其他操作,是我们看不见的,不然java数据怎么知道自己与哪个jdbc数据类型匹配?中间具体有什么操作?多个注册:指定多个单个注册方式;

2023-01-16 14:19:08 2027

原创 GIt命令大全

git命令大全一、增加/删除文件二、代码提交三、本地分支四、远程分支/仓库五、撤销六、查看信息七、标签八、上传本地项目到远程仓库演示九.拉取远程代码演示

2022-12-22 14:43:26 1264 1

原创 git怎么忽略无需提交的文件?(忽略提交 .gitignore)

在使用Git的过程中,我们有的文件比如target、.idea等不想提交到代码仓库,但如果这些文件没有被添加到暂存区区,切换分支会报Move or commit them before Pull git的错误(如下图),我们应该怎么解决呢?注意:是创建一个新的gitignore 文件,而不是直接在.idea下的 .gitignore文件中配置。这一套操作下来,配置即可生效,并且远程仓库中那些已经存在的我们不需要的文件也会被删除掉。“/”开头表示整个目录;星号“*”通配多个字符;

2022-12-22 14:00:37 3874

原创 RabbitMQ的工作模式

RabbitMQ是基于AMQP消息传输协议来实现的消息中间件;类似HTTP有header和body两部分数据,Message是RabbitMQ中的消息体概念。Message由Properties和Body组成,前者是一些元信息,如消息的优先级、持久化、传输格式(如JSON)、延迟等高级特性,Body则是传递的消息数据实体Exchange、Queue与Routing Key三个概念是理解RabbitMQ消息投递的关键。RabbitMQ中一个核心的原则是,消息不能直接投递到Queue中。

2022-12-02 11:29:59 2323

原创 SpringBoot的@EnableAsync@Async使用总结

我们在使用多线程的时候,往往需要创建Thread类,或者实现Runnable接口,如果要使用到线程池,我们还需要来创建Executors,在使用spring中,已经给我们做了很好的支持。@Async注解来声明一个或多个异步任务,可以加在方法或者类上,加在类上表示这整个类都是使用这个自定义线程池进行操。7、调用被@Async标记的方法的调用者不能和被调用的方法在同一类中不然不会起作用。8、使用@Async时要求是不能有返回值的不然会报错的 因为异步要求是不关心结果的。3、异步方法不能与异步方法在同一个类中。

2022-11-18 14:19:51 2710

原创 LeetCode栈与队列应用——496. 下一个更大元素 I

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)下一个更大元素(单调栈)(5)接雨水(单调栈)(6)滑动窗口最大值问题(单调队列)(7)前K个出现次数最多的元素问题(优先级队列)(8)栈实现队列(9)队列实现栈。

2022-10-16 08:34:28 903

原创 LeetCode栈与队列应用——739.每日温度

给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)下一个更大元素(单调栈)(5)接雨水(单调栈)(6)滑动窗口最大值问题(单调队列)(7)前K个出现次数最多的元素问题(优先级队列)(8)栈实现队列(9)队列实现栈。

2022-10-16 08:33:07 1353

原创 LeetCode栈与队列应用 ——347. 前 K 个高频元素

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)下一个更大元素(单调栈)(5)接雨水(单调栈)(6)滑动窗口最大值问题(单调队列)(7)前K个出现次数最多的元素问题(优先级队列)(8)栈实现队列(9)队列实现栈。

2022-10-13 20:30:37 912

原创 LeetCode栈与队列应用——32. 最长有效括号

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)下一个更大元素(单调栈)(5)接雨水(单调栈)(6)滑动窗口最大值问题(单调队列)(7)前K个出现次数最多的元素问题(优先级队列)(8)栈实现队列(9)队列实现栈。

2022-10-13 20:27:10 883

原创 LeetCode栈与队列应用 ——239.滑动窗口最大值

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)下一个更大元素(单调栈)(5)接雨水(单调栈)(6)滑动窗口最大值问题(单调队列)(7)前K个出现次数最多的元素问题(优先级队列)(8)栈实现队列(9)队列实现栈。给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。

2022-10-03 08:55:16 898

原创 LeetCode栈与队列应用——150.逆波兰表达式求值

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)下一个更大元素(单调栈)(5)接雨水(单调栈)(6)滑动窗口最大值问题(单调队列)(7)前K个出现次数最多的元素问题(优先级队列)(8)栈实现队列(9)队列实现栈。class Solution { //可以看官方题解视频 public int evalRPN(String[] tokens) { Deque deque=new LinkedList();

2022-10-03 08:50:09 909

原创 LeetCode栈与队列应用——1047.删除字符串中的所有相邻重复项

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)下一个更大元素(单调栈)(5)接雨水(单调栈)(6)滑动窗口最大值问题(单调队列)(7)前K个出现次数最多的元素问题(优先级队列)(8)栈实现队列(9)队列实现栈。给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

2022-10-03 08:48:03 968

原创 LeetCode栈与队列应用——20. 有效的括号

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)滑动窗口最大值问题(单调队列)(5)前K个出现次数最多的元素问题(优先级队列)(6)栈实现队列(7)队列实现栈。

2022-10-02 10:03:28 846

原创 LeetCode栈与队列应用——

(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)滑动窗口最大值问题(单调队列)(5)前K个出现次数最多的元素问题(优先级队列)(6)栈实现队列(7)队列实现栈。

2022-10-02 10:01:17 926

原创 LeetCode栈与队列应用——232.用栈实现队列

栈与队列能解决哪些经典问题?每个问题都在我主页中可以找到,欢迎大家关注~~(1)括号匹配问题(栈)(2)字符串去重问题(栈)(3) 逆波兰表达式问题(栈)(4)滑动窗口最大值问题(单调队列)(5)前K个出现次数最多的元素问题(优先级队列)(6)栈实现队列(7)队列实现栈。

2022-10-02 09:59:25 873

原创 笔试题:最大正方形在一个由 ‘0‘ 和 ‘1‘ 组成的二维矩阵内,找到只包含 ‘1‘ 的最大正方形,并返回其面积。

【代码】笔试题:最大正方形在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。

2022-09-28 09:27:10 539

原创 课程表排序问题,图的拓扑排序!

【代码】课程表排序问题,图的拓扑排序!

2022-09-27 11:04:28 915

原创 LeetCode动态规划编辑距离问题——583. 两个字符串的删除操作

给定两个单词word1和word2,返回使得word1和word2所需的。可以删除任意一个字符串中的一个字符。牢记动态规划五步:1.确定dp数组含义2.确定递推公式3.dp数组初始化4.确定遍历顺序01背包问题:一维dp的遍历,商品放在外循环,背包在内循环,且内循环倒序。求组合:先遍历商品,再遍历背包求排列:先便利背包,再遍历商品求最大最小:对遍历顺序没有要求5.举列推导。

2022-09-18 08:32:11 1250

原创 对一串数字进行切割,尽可能的切割为能被七整除的数字,如一串数字12457,可以切分为124|5|7,有两段能被7整除 ,求切割后最多能有多少段的数字和能被7整除。

对一串数字进行切割,尽可能的切割为能被七整除的数字,如一串数字12457,可以切分为124|5|7,有两段能被7整除 ,求切割后最多能有多少段的数字和能被7整除。

2022-09-11 15:49:13 493

原创 我们称一个长度为n的序列为正则序列,当且仅当该序列是一个由1~n组成的排列,即该序列由n个正整数组成,取值在[1,n]范围,且不存在重复的数,同时正则序列不要求排序有一天小团得到了一个长度为n的任

我们称一个长度为n的序列为正则序列,当且仅当该序列是一个由1~n组成的排列,即该序列由n个正整数组成,取值在[1,n]范围,且不存在重复的数,同时正则序列不要求排序有一天小团得到了一个长度为n的任。输入第一行仅包含一个正整数n,表示任意序列的长度。(1

2022-09-10 08:46:04 751

原创 递归方法反转链表(Java实现)

递归方法反转链表(Java实现)

2022-09-09 20:50:28 1033

原创 回收废品,每次选两个来切碎,分别是m和n且m<=n, 当m==n时 ,两个都切碎(即数组直接少了m和n),如果m<n,则m切碎,n=n-m ,切到最后 剩余一个废品则返回废品大小,若剩0个则返回0

回收废品,每次选两个来切碎,分别是m和n且m

2022-09-08 17:01:02 225

原创 一堆卡片,每张卡片有两个数,形成一个区间,如card[i]=[2,9], 现对卡片重新组装,合并区间,生成不相交的集合,如 card[1,5] card[2,9] 合并为card[1](Java题解)

描述:合并区间是完美世界的笔试题,描述如下以数组intervals表示若干个区间的集合,其中单个区间为intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

2022-09-08 16:55:28 428

原创 请你设计一个LRU(最近最少使用)缓存约束的数据结构

请你设计并实现一个LRU(最近最少使用)满足约束的数据结构。实现LRUCache类:LRUCache(int capacity)以正整数作为容量capacity初始化 LRU 缓存int get(int key)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。void put(int key, int value)如果关键字key已经存在,则变更其数据值value;如果不存在,则向缓存中插入该组key-value。如果插入操作导致关键字数量超

2022-09-08 15:02:04 1035

原创 求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”(快速幂Java实现)

快速幂算法的核心思想就是**每一步都把指数分成两半,而相应的底数做平方运算。这样不仅能把非常大的指数给不断变小,所需要执行的循环次数也变小,而最后表示的结果却一直不会变。(1)对于2的10次方来讲,可以对其进行拆分:2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2。按照这个思路,可以对所有指数为偶数的不断优化。但是如果指数为奇数呢,比如上面的4^5。此时指数变成了一半,多计算了一次底数平方,少计算5次指数运算。

2022-09-08 10:47:47 750

原创 给定一个入栈序列和一个出栈序列,判断这个出栈序列是否合法

/给定一个入栈序列和一个出栈序列,判断这个出栈序列是否合法如果栈不为空,且获取到的栈顶元素等于弹出序列。//弹出序列向后一位。//用于标识弹出序列的位置。

2022-09-08 10:16:24 1035

原创 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

System.out.println("留下的是原来第" + (list.get(0) + 1) + "号");有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

2022-09-07 18:05:25 995

原创 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?输入10,输出100.000000 50.000000。

2022-09-07 17:33:51 1170

原创 RabbitMQ消息丢失的场景,如何保证消息不丢失?(详细讲解,一文看懂)

一.RabbitMQ消息丢失的三种情况二.RabbitMQ消息丢失解决方案1.针对生产者方案1 :开启RabbitMQ事务方案2: 使用confirm机制2.针对RabbitMQ(1)消息持久化(2)设置集群镜像模式(3)消息补偿机制3.针对消费者方案一:ACK确认机制第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了第三种:消费端弄丢了数据..

2022-09-01 09:16:56 18143 17

原创 Java如何实现统计在线人数的功能?

很多人在笔试或者面试中问到:现在要你实现一个统计在线人数的功能,你该怎么设计?不知道的朋友,这篇文章告诉你。先说答案:可以利用监听器Listener来实现3.监听器Listener实现统计人数功能(1)先创建监听器包listener在新建OnlineListener类(2)创建监听器servlet的接口4.Redis实现统计人数功能需求:平均访问时常,平均同时在线人数,最高同时在线人数(1)先设计数据表:开始访问页面时间,离开页面时间表:(id,place,ip,user_id,user_na......

2022-08-30 07:58:40 5864 40

原创 LeetCode二叉树系列——701.二叉搜索树中的插入操作

给定二叉搜索树(BST)的根节点root和要插入树中的值value,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 。...

2022-08-14 09:57:47 767

原创 LeetCode二叉树系列——235.二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]......

2022-08-14 09:46:54 1072

原创 LeetCode二叉树系列——236.二叉树的最近公共祖先

​给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”​......

2022-08-14 09:34:34 896

原创 LeetCode二叉树系列——105.从前序与中序遍历序列构造二叉树

给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。

2022-08-13 15:07:43 1009

原创 LeetCode二叉树系列——144.从中序与后续遍历序列构造二叉树

给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。

2022-08-13 14:47:48 319

原创 LeetCode二叉树系列——113.路径总和II

给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。

2022-08-13 10:15:45 576

空空如也

空空如也

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

TA关注的人

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