Java

[刷题记录Day11]Leetcode

No.1 题目 有效的括号 思路 奇数个符号一定不符合 分析括号不匹配的可能性 第一种情况,字符串里左方向的括号多余了 ,所以不匹配 ![[brackets0.png]] 第二种情况,括号没有多余,但是 括号的类型没有匹配上 ![[brackets1.png]] 第三种情况,字符串里右方向的括号多余了,所以不匹配 ![[brackets2.png]] 代码 No.2 题目 删除字符串中的所有

[刷题记录Day10]Leetcode

No.1 题目 用栈实现队列 思路 模拟 一个入栈一个出栈 代码 No.2 题目 用队列实现栈 思路 用两个队列que1和que2实现栈的功能,que2其实完全就是一个备份的作用,把que1最后面的元素以外的元素都备份到que2,然后弹出最后面的元素,再把其他元素从que2导回que1 代码

[刷题记录Day13]Leetcode

No.1 题目 滑动窗口最大值 思路 编写单调队列类 讲解 代码 No.2 题目 前 K 个高频元素 思路 优先队列,小顶堆 队列poll的只剩下前K个高频元素 代码

[刷题记录Day14]Leetcode二叉树

No.1 题目 前序遍历 思路 递归法 代码 No.2 题目 中序遍历 思路 递归法 代码 No.3 题目 后序遍历 思路 递归法 代码 No.4 题目 思路 代码 No.5 题目 思路 代码 No.6 题目 思路 代码 No.7 题目 思路 代码 No.8 题目 思路 代码 No.9 题目 思路 代码

[刷题记录Day15]Leetcode二叉树

No.1 题目 二叉树的层序遍历 思路 使用队列 关键点:1. 每进入一层,层内的节点都被处理完成 2. 开始遍历层内的节点前,必须先记录该层的节点数量,不能访问到下一层的节点 代码 No.2 题目 翻转二叉树 思路 递归 这道题目使用前序遍历和后序遍历都可以,唯独中序遍历不方便,因为中序遍历会把某些节点的左右孩子翻转了两次!建议拿纸画一画,就理解了 代码 No.3 题目 对称二叉树

[刷题记录Day17]Leetcode二叉树

No.1 题目 平衡二叉树 思路 递归法 在遍历中比较左右子树的高度差 递归分析 参数:当前传入节点。 返回值:以当前传入节点为根节点的树的高度 那么如何标记左右子树是否差值大于1呢?可以返回-1 来标记已经不符合平衡树的规则了 明确终止条件:递归的过程中依然是遇到空节点了为终止,返回0,表示当前节点为根节点的树高度为0 明确单层递归的逻辑:分别求出其左右子树的高度,然后如果差值小于等于1,

[刷题记录Day16]Leetcode二叉树

No.1 题目 二叉树的最大深度 思路 递归 其实是后序遍历的方式 代码 No.2 题目 二叉树的最小深度 思路 递归 最小深度是指根节点到叶子节点的距离 遇到其中一个左右子树缺失的情况要特殊处理,不与缺失的子树比较深度 代码 No.3 题目 完全二叉树的节点个数 思路 深度优先搜索之后序遍历 没啥特别的 代码

[刷题记录Day18]Leetcode二叉树

No.1 题目 找树左下角的值 思路 队列,层序遍历 Deque既可以用作栈也可以用作队列,谨慎使用 代码 No.2 题目 路径总和 思路 递归 注意:非子结点curVal >= targetSum就一定没有必要寻找了吗?不见得,可能有负数的节点值 递归思路 返回值:boolean,参数:节点,当前路径值,target 终止逻辑:当前节点是叶子节点,发现当前路径值等于target

Leetcode 344. 反转字符串(Reverse string)

题目链接🔗 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 示例 2: 提示: 1 <= s.length <= 105 s[i] 都是 ASCII 码表中的可打印字符 思路 定义双指针,指向两端。使用for循环交换两指针指向的位置

mybatis 报错 invalid bound statement (not found)

invalid bound statement (not found)  释义:无效绑定语句(未找到) root cause归类起来无外以下两种原因 代码错误 配置错误 排查方法 case1 如果所有mapper层中的方法都报错,那肯定是全局的配置问题;检查mybatis配置 case2 某个mapper.xml中的所有方法都报错, 大概率是namespace配置错误 文件

SpringBoot+Mybatis-plus写数据库的函数调用过程

比如我们SpringBoot的一个接口层为DataCollectController,它通过调用服务层DataCollectManager的create()和update()方法对数据库进行写操作 DataCollectManager的实现类DataCollectManagerImpl继承了BaseManagerImpl的create和update方法 BaseManagerImpl的crea

javaAPI操作hbase对表格的增删改查

package org.example; import org.apache.hadoop.hbase.NamespaceDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes;

类与对象的归纳总结

类与对象的归纳总结 package oop.Demo08;//一个项目应该只存在一个main方法public class Application {    public static void main(String[] args) {        /** 简单小结类与对象归纳总结       &nbsp

[刷题记录Day20]Leetcode二叉树

No.1 题目 最大二叉树 思路 递归法 注意保持区间定义一致[left, right) 递归分析 返回值:节点,参数:数组,起点,终点 终止逻辑:数组为空,返回空 单层递归过程:找到该段数组最大值,根据其坐标,将数组分割为左和右,作为左子树和右子树 代码 No.2 题目 合并二叉树 思路 递归 问题:假如其中一个节点为null,我不想创建TreeNode,直接用另一个节点,是否会导致

[刷题记录Day21]Leetcode

No.1 题目 二叉搜索树的最小绝对差 思路 中序遍历的BST是有序序列 最小绝对差一定是在相邻的数组元素间 代码 No.1 题目 二叉搜索树中的众数 思路 递归中序遍历BST 众数都靠在一起的 代码

Referrer Policy for Internet Security All In One

Referrer Policy for Internet Security All In One 网络安全之引荐人策略 Referrer Policy Referrer-Policy: no-referrer Referrer-Policy: no-referrer-when-downgrade Referrer-Policy: origin Referrer-Policy: origin-

BUG -- JSON字符串过长,无法解析

BUG产生时间: 2023/8/25 主要问题: 具体原因是在页面初始化时,本身是从数据库中导出按时间排序的最近的50条数据,但由于返回的数据为object格式,Json无法解析全部内容。 解决方案: 在进行提取数据时,减少数据的量。 example:本身是提50条数据,现改为提30条。 完整报错内容:

6种限流实现,附代码![通俗易懂]

限流是一种控制访问速率的策略,用于限制系统、服务或API接口的请求频率或数量。它的目的是为了保护系统免受过多请求的影响,防止系统因过载而崩溃或变得不可用。限流是一种重要的性能优化和资源保护机制。 限流的好处有以下几个: 保护系统稳定性:如果系统接受太多请求,超出了其处理能力,可能导致系统崩溃或响应时间急剧增加,从而影响用户体验。限流可以帮助控制请求速率,确保系统稳定运行。 保护系统可用性:有些资

K8S太庞大,这款PasteSpider绝对适合你!一款轻量级容器部署管理工具

PasteSpider采用.netcore编写,运行于linux服务器的docker/podman里面,涉及的技术或者工具有podman/docker,registry,nginx,top,ssh,git,svn等。 PasteSpider可以更好的为你执行服务的升级和维护工作。支持集群模式安装,也支持单例模式运行。 PasteSpider可以部署.net Java php H5web等,能够部署

使用Java Xpath 爬取某易云歌曲

本文使用Java xpath 爬取某易云歌曲,并下载至本地。 代码仅用于个人学习使用,欢迎各位大佬提出建议。 1、添加依赖 2、获取音乐id和url 3、获取歌词 4、完整代码 加入多线程下载歌曲代码

MD5算法 JAVA 和 JS 的实现

JAVA版本的实现 JS版本 不积跬步无以至千里

redis持久化策略

Redis的持久化的策略: Redis的持久化的策略分成两种:RDB与AOF: 一. RDB持久化的策略: RDB全程叫作Redis Database Backup file (Redis数据备份文件),也被称之为Redis的数据快照,简单来说就是把内存中的所有的数据都记录到对应的磁盘当中。当Redis实例故障重启以后,从磁盘读取快照文件,恢复相应的数据。 注意:RDB类型的持久化的操作是将数据存

redis中的分布式锁

Redis当中的分布式锁问题: 1.redis中key设置不当会造成的问题: 我们所熟知的redis中的三大问题:缓存穿透,缓存雪崩与缓存击穿。其中缓存击穿就是数据在某一时间点会被超高并发量的访问,如果在此时key恰好过期,那么所有的访问便会全部落到db上面,会带给数据库不小的压力,严重时候会造成数据库的崩溃。 2.解决方案: 解决这钟高并发量下的缓存击穿性的问题,我们有以下的解决方案: 1.加入

redis中集群

Redis集群: Redis单机版主要有以下几个缺点: 不能够保证数据的可靠性,服务器全部部署在一台服务器上面,一旦服务器宕机整个redis的服务都不再可用 性能瓶颈的问题,内存的容量有限,在处理的能力上有一定的缺失 1. Redis的主从模式: Redis单机版通过RDB与AOF的持久化的机制将数据持久化到相应的硬盘上,但是数据的存储都是在一台服务器上的,并且读写都在同一台服务器,如果硬盘出

Linux系统:第十一章:常用命令

Linux命令: 查看java进程:ps -ef |grep java 查看实时日志:tail -f 文件名称 杀掉进程:kill -9 进程的PID 复制文件:cp 文件路径/文件名称 文件路径/文件名称 启动:service rabbitmq-server start 关闭:service rabbitmq-server stop 重启:service rabbitmq-s

Linux系统:第六章:Linux服务

1.创建简单的Linux脚本文件并执行①新建文本文件vim invoke.sh②加入几条简单的Linux命令,例如:ifconfigll③保存退出:wq④修改文件权限信息chmod 755 invoke.sh⑤执行./invoke.sh※为什么要带“./”?因为前面什么都没有的话Linux会当作一个命令,但是又找不到对应的命令文件,所以无法执行。代码“./”之后Linux就知道这是一个路径,不会当

继承Thread类实现多线程

继承Thread类实现多线程 Thread类所属的包和实现的接口 继承Thread类实现多线程的具体步骤:先继承Thread类,然后再重写Thread类的run()方法。 以下是一个从网上下载图片的例子: 先创建一个下载器Picdownloader 在创建一个线程测试类TestThread 运行结果 可以看到图片并不是按照顺序下载的,说明我们的进程创建成功。

ETL之apache hop系列2-hop web安装和入门

前言 在Docker安装apache hop 首先确保Docker已经安装和运行Java 11 JDK 安装文档参考:https://blog.csdn.net/Chia_Hung_Yeh/article/details/121060990 一、使用Docker 安装部署 1、拉取镜像 推荐使用下面的web版本 2、部署 a、简单部署(不使用用户名密码) b、使用用户名密码和相关数据库配置的

守护线程与用户线程的使用场景和区别

基本概念 在 Java 中通常有两种线程:守护线程(Daemon Thread)和用户线程(User Thread) 守护线程:是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程、JIT 线程都是守护线程 用户线程:可以理解为是系统的工作线程,它会完成这个程序需要完成的业务操作。如我们使用 Thread 创建的线程在默认情况下都属于用户线程 怎样使线程成为用户线程与守护线程

spring retry

一、接入 spring boot 2.7.14 spring retry 从2.0.2版本之后,从spring batch里剥离出来成为一个单独的工程,因此我们引入spring retry最新版本可以直接如下引入 启动类上打上注解@EnableRetry 二、使用注解 Spring retry作为重试组件,可以直接使用@Retryable注解;废话不多说,直接上代码 执行效果如下 retr

<<  <  751  752  753  754  755  756  757  758  759  760  761  >  >>