自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (4)
  • 收藏
  • 关注

原创 hutool ImgUtil.scale 方法导致的OutOfMemoryError: Java heap space

上传图片时,偶现 OutOfMemoryError

2024-04-06 12:52:52 212 1

原创 spring boot 集成 RedisSearch 和 RedisJSON

主要介绍了如何在 Spring Boot 中使用 RedisTemplate 对 Redis 的 JSON 类型进行单个查询、模糊搜索、设置等操作。作者通过实例代码和详细解释,让读者深入了解了 Redis 的基本操作和使用技巧,并提供了一些解决 Redis 遇到的常见问题的方法和建议。

2023-11-16 23:02:34 1564

原创 在线升级 redis 到7.2.2

在线升级 redis 到 7.2.2。不会影响到服务,减少数据误差。

2023-11-15 09:34:31 470

原创 前端字体引入

前端字体引入的三种方式

2023-02-16 19:45:25 1192 1

原创 记录一次由于 liquibase导致的内存溢出问题及解决方案

我们的程序每当执行20天左右就会出现内存溢出的情况,或者很卡。终于有一天是在忍受不了20天就重启的麻烦是了,就开始了堆栈分析。发现居然是 promethus 定时调用 spring actuator 的 liquibase endpoint 导致的...

2022-08-31 23:30:41 409

原创 openresty + prometheus + grafana 搭建。监控网络请求

openresty + prometheus + grafana 搭建。监控网络请求。本文详细介绍了搭建的每一个步骤

2022-08-31 23:08:16 2055

原创 vue 中使用 pug

pug 大大简化了 html 的格式,并且在pug模板里面可以使用js代码。

2022-08-19 11:20:51 887

原创 windows IDEA + PHP+xdebug 断点调试

将下载的php_xdebug-3.1.5-7.2-vc15-x86_64.dll放在ext目录中(php.ini中extension_dir配置项)重命名成php_xdebug.dll。安装phpplugin。配置Servers。然后就可以走到断点了。

2022-07-28 16:33:02 563

原创 maven pom.xml文件结构 以及 repository 优先级概述

pom文件结构, repository 优先级制品(artifacts)的url按照以下顺序查找配置文件,直到找到一个有效的仓库仓库有效顺序对于上面的位置,先查找可用的profile在下载制品仓库之前,会先应用镜像配置与仓库可用通过 和 查看有效配置和完整pom...

2022-06-25 18:51:06 737

原创 SSH 转发命令图解,以及测试

1. 本地端口转发实现 A 访问 CA 主机上执行:ssh -L A.port:C.ip:C.port [email protected]注:ssh -L [收听接口:]收听端口:目标主机:目标端口 username@hostname2. 远程端口转发实现 A 访问 CB 主机上执行:ssh -R A.port:C.ip:C.port [email protected]注:ssh -R [收听接口:]收听端口:目标主机:目标端口 username@hostname3. 动态端口转发实现

2022-05-20 13:43:13 401

原创 java LocalDateTime 和 mysql datetime timestamp时区问题

1. java 中 LocalDateTimejava 中的 LocalDateTime 是没有时区概念的获取当前时间时,等于当前UTC时间 + 服务时区偏移比如当前时间是 2022-05-18T16:09:48.869+08:00[Asia/Shanghai]那么 LocalDateTime.now() 得到的时间就是 2022-05-18T16:09:48.869下面是java源码public static LocalDateTime now(Clock clock) {

2022-05-18 16:27:57 4224

原创 5.1 贪心算法

# 贪心算法- 最自然智慧的算法- 用一种局部最功利的标准,总是做出在当前看来是最好的选择- 难点在于证明局部最功利的标准可以得到全局最优解- 对于贪心算法的学习主要以增加阅历和经验为主

2022-04-08 00:07:31 462

原创 3.6 树的递归应用

树的递归应用。求聚会的快乐值

2022-04-06 23:12:37 136

原创 3.5 二叉树递归套路

1. 判断二叉树是完全二叉树2. 头节点是 head, 求任一两个节点 a, b 的最低公共父节点3. 判断是否是满二叉树

2022-04-06 20:48:09 514

原创 3.4 二叉树递归套路

1. 判断二叉树是都是完全二叉树完全二叉树,若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。2. 判断是否是平衡二叉树它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树 class Info { public int height; public boolean balanced; public Info

2022-04-05 22:43:40 844

原创 velocity 模板语法

velocity 模板语法前言1. 访问1.1 变量1.2 属性1.3 方法2. 指令2.1 #set 创建变量2.2 #if/#elseif/#else 分支控制2.3 #foreach 循环控制2.4 #include - 引入本地文件,文本展示2.5 #parse - 引入本地文件,velocity 解析后展示2.6 #stop - 停止模板解析2.7 #break - 停止当前指令2.8 #evaluate - 动态解析字符串或引用2.9 #define - 定义一个“块”引用2.10 #mac

2022-04-05 12:06:32 2975

原创 2.4 加强堆及其应用

系统提供的堆无法做到的事情︰1)已经入堆的元素,如果参与排序的指标方法变化,系统提供的堆无法做到时间复杂度O(logN)调整! 都是O(N)的调整!2)系统提供的堆只能弹出堆顶,做不到自由删除任何一个堆中的元素,或者说,无法在时间复杂度O(logN)内完成!一定会高于O(logN)根本原因∶无反向索引表给定一个整型数组, int[] arr;和一个布尔类型数组, boolean[] op两个数组一定等长,假设长度为N, arr[i]表示客户编号,op[i]表示客户操作arr = [ 3 , 3 ,

2022-04-04 23:38:20 368

原创 3.3 二叉树相关面试题

多叉树 序列化 成二叉树二叉树最宽的层有多少节点中序遍历 ,求后继节点纸条折痕问题

2022-04-04 17:03:03 1062

原创 3.1 二叉树序列化与反序列化

先序、后序,序列化与反序列化按层序列化和反序列化 // 序列化 public Queue<String> serializableLevel(TNode node) { Queue<String> res = new LinkedList<>(); Queue<TNode> queue = new LinkedList<>(); queue.add(node); res.a

2022-04-04 13:42:24 646

原创 3.2 二叉树的打印

二叉树的打印按层遍历计算位置 public static String print(BiNode node) { if (node == null) { return ""; } List<List<Integer>> arr = new ArrayList<>(); Queue<BiNode> currLevel = new LinkedList<&g

2022-04-04 12:40:28 466

原创 1.4.1 链表荷兰国旗问题,链表交叉,随机链表复制问题

3. 左右两侧链表,变成交叉链表a -> b -> c -> 1 -> 2 -> 3 变成 a -> 1 -> b -> 2 -> c -> 3 结构,奇数中点变成最后一个4. 给一个链表,和一个常数 V,使 < V 的在左侧,=V的在中间,> V 的在右侧5. 复制一个链表,每一个节点有 next,random。...

2022-04-02 21:32:49 707

原创 1.4 链表相关,找中点,是否回文

1. 求链表的中点1)输入链表头节点,奇数长度返回中点,偶数长度返回上中点2)输入链表头节点,奇数长度返回中点,偶数长度返回下中点3)输入链表头节点。奇数长度返回中点前一个,偶数长度返回上中点前一个4)输入链表头节点,奇数长度返回中点前一个,偶数长度返回下中点前一个快慢指针2. 给定一个单链表的头节点head,请判断该链表是否为回文结构。使用栈实现找到中点,左侧的链表逆序,左右链表进行比较,返回前右侧逆序3. 左右两侧链表,变成交叉链表4. 给一个链表,和一个常数 V,使 <

2022-04-01 23:26:23 318

原创 1.1 变量定义与使用

#!/bin/bash# 1. 变量定义v1=1v2='1 + $v1'v3="1 + $v1"echo "v1=$v1"echo "v2=$v2"echo "v3=$v3"# 2. 使用变量 $v1, ${v1}echo ${v1}# 3. 修改变量v1="修改变量0"echo ${v1Li}# 4. 将命令的结果赋值给变量# $(), ``log=$(cat "")echo ${log}# 5. 只读变量readonly loglog='111'echo

2022-03-31 16:58:48 78

原创 3. 二叉树

概念二叉树(binary tree)是指树中节点的度不大于2的有序树1. 遍历二叉树,先序,中序,后序(递归序)先序(头左右),中序(左头右),后序(左右头) // 递归遍历二叉树 public static void recursionLoop(Node node) { if (node == null) { return; } // System.out.print(node.value); // 先序

2022-03-30 21:05:56 743

原创 4.1 linux source 文件错误,导致环境变量错误修改,重置环境变量

linux source 文件错误,导致环境变量错误修改,重置环境变量

2022-03-30 15:29:38 1064

原创 1.5 单链表相交问题

给定两个单链表,判断是否相交,返回相交节点。单链表可能有环

2022-03-29 19:25:27 760

原创 4. 前缀树

前缀树 (prefix tree trie)单个字符串中,字符从前到后的加到一棵多叉树上字符放在路上,节点上有专属的数据项(常见的是pass和end值)所有样本都这样添加,如果没有路就新建,如有路就复用沿途节点的pass值增加1,每个字符串结束时来到的节点end值增加1class Trie { TrieNode root; public Trie() { root = new TrieNode(); }

2022-03-29 16:40:50 140

原创 3.1 下载文件

1. 后端设置 header, 并将文件流返回response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + URLEncoder.encode("your file name", "UTF-8") + ".xlsx");// 将文件流返回参考: https://developer.mozilla.org/z

2022-03-20 15:44:31 658

原创 2.3 堆排序及相关题目

堆排序极其相关题目

2022-03-15 23:35:18 168

原创 2.2随机快排及相关题目

1. 荷兰国旗问题现有红白蓝三个不同颜色的小球,乱序排列在一起,请重新排列这些小球,使得红白蓝三色的同颜色的球在一起。在一个数组中 arr 中,给定一个数 X,使得数组中 < X 的 在左侧, == X 的在中间, >X的在右侧 public void netherlandsFlag(int[] arr, int X) { int less = 0, great = arr.length - 1, i = 0; while (i <= great

2022-03-12 16:21:45 236

原创 centos安装 mysql 8.0 使用清华同方镜像

1. 安装 ali 基础镜像参考: https://developer.aliyun.com/mirror/centos2. 安装 清华同方 mysql 8.0 镜像https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el8-x86_64/mysql80-community-release-el8-1.noarch.rpm之前安装时是用的 MySQL的镜像包,所以一直失败卸载包参考: https://blog.csd

2022-03-12 13:48:23 736

原创 web应用程序防止短信轰炸的解决方案

短信轰炸 是什么短信轰炸是频繁的给某一个手机号发送短信(可以看看这个可怜的娃),部分短信是各种平台注册时的短信验证码。我们在做网站时,这一部分要考虑到,不然会对自身品牌的造成影响,还会损失一部分资金。解决方案通过图片验证码进行拦截1. 生成一个特征值去获取图像验证码2. 通过图像验证码获取短信验证码3. 特征值,图像验证码,短信验证码进行校验...

2022-03-12 13:44:35 376

原创 1.3 基础数据结构

1. 链表// 单向链表public class Node { int value; Node next; public Node(int value) { this.value = value; }}// 单向链表反转 public Node reserve(Node n) { Node pre = null, next; while (n != null) { next = n.ne

2022-03-09 22:59:55 202

原创 2.数组排序

采用分治法:分割:递归地把当前序列平均分割成两半。集成:在保持元素顺序的同时将上一步得到的子序列集成到一起(归并)。

2022-03-09 01:14:20 198

原创 2.1 归并排序及其相关面试题

1. 归并排序分治思想,分成两个数组,不断分,直到分不了为止, 合并,直到所有的分数组合并完成递归写法public void sort(int[] arr) { if (L == R) { return; }}private void process(int[] arr; int L, int R) { if (L == R) { return; } int mid = L + ((R - L) >> 1); process(arr, L, mid); p

2022-03-09 01:12:08 127

原创 1.2 异或运算相关面试

相关性质0 ^ N = NN ^ N = 0交换律 A ^ B = B ^ A结合律 (A ^ B) ^ C = A ^ (B ^ C)题目1. 不用临时变量交换两个数 // 如果是在数组中,i、j的位置一样,就会将 i 和 j的值都设置为 0 a = A, b = B a = a ^ b; // A ^ B b = a ^ b; // A ^ B ^ B = A a = a ^ b; // A ^ B ^ A = B2.提取一个二进制的最右侧为

2022-03-08 20:34:20 92

原创 1.1 二分法

二分法 O(log N)二分法,只要能构建出来能排他的条件,就能使用二分法在有序数组中找值public int findVal(int[] arr, int Q) { int L = 0, R = arr.length - 1, mid; while (L < R) { mid = L + ((R - L) >> 1); if (arr[mid] == Q) { return mid; } if (arr[mid] > Q) {

2022-03-07 21:11:07 127

原创 1.算法复杂度、对数器

1. 算法复杂度时间复杂度, O(1), O(N), O(logN), O(N * logN), O(N^2) 等确定算法流程的总操作数量与样本数量之间的表达式关系只看表达式最高阶项的部分常见的常数时间的操作常见的算术运算(+、-、*、/、%等)常见的位运算(>>、>>>、<<、|、&、^ 等)·赋值、比较、自增、自减操作等数组寻址操作总之,执行时间固定的操作都是常数时间的操作。反之,执行时间不固定的操作,都不是常数时间的操作额外空间复

2022-03-07 20:23:33 140

原创 javascript 作用域(scope),this,class

1. 作用域(scope)当前的执行上下文。值和表达式1在其中 “可见” 或可被访问到的上下文。如果一个变量或者其他表达式不 “在当前的作用域中”,那么它就是不可用的。 作用域也可以根据代码层次分层,以便子作用域可以访问父作用域,通常是指沿着链式的作用域链查找,而不能从父作用域引用子作用域中的变量和引用。一个函数在 JavaScript 中充当闭包,从而创建一个作用域。只定义在函数中变量,外部作用域或其他函数无法访问。2. this3. class此处所说的表达式,包含类表达式,函数表达式等

2021-12-15 23:00:05 1271

原创 1. Vue 3 基础

1. 安装1.1 cdn1.2 下载自行配置1.3 npm2. 命令行工具 clivue-cli 文档3. viteVite 是一个 web 开发构建工具,由于其原生 ES 模块导入方式,可以实现闪电般的冷服务器启动。

2021-11-27 06:59:56 137

fiddler v5.0.20204.45441 英文版

fiddler v5.0.20204.45441 英文版

2022-05-24

typora-update-x64-0914.exe

typora-update-x64-0914.exe

2021-07-29

java源代码1.8.0.131

java 1.8.0.131源码,有需要的可以下载哟 ,

2017-10-15

java源代码

java 1.8 源代码,所有基本类的源代码都在里面。 ,

2017-10-10

空空如也

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

TA关注的人

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