自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枕上~诗书闲

技术交流

  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 短链接生成

【代码】短链接生成。

2023-03-15 14:27:09 158 1

原创 zxing 生成图片 带logo 正方形 圆形 兼容

zxing 生成图片 带logo 正方形 圆形兼容 ZxingImageUtils 工具类

2023-03-10 19:08:32 254

原创 Java jdk 版本过高需要注意的问题(中)Maven依赖方面

jdk 版本过高需注意问题-中(maven依赖方面)

2022-09-20 14:26:24 3168

原创 Nacos官网 镜像及使用记录

Nacos默认是集群(cluster)启动,将其设置为单机(standalone)启动则不会报这个错。若需要集群启动则需要进行相关的集群配置。如果是高版本的话需注意默认是集群的方式启动的。进入到Nacos文件夹,进行编译。

2022-09-19 11:47:52 5160

原创 Nacos启动报错:java.net.UnknownHostException: jmenv.tbsite.net

Nacos默认是集群(cluster)启动,将其设置为单机(standalone)启动则不会报这个错。若需要集群启动则需要进行相关的集群配置。

2022-09-19 11:24:39 1159

原创 ClickHouse常用函数整理

Clickhouse常用函数整理

2022-01-24 21:35:26 1090

原创 单调栈-解决临近位置的数在哪问题

单调栈一种特别设计的栈结构,为了解决如下的问题:给定一个可能含有重复值的数组arr,i位置的数一定存在如下两个信息1)arr[i]的左侧离i最近并且小于(或者大于)arr[i]的数在哪?2)arr[i]的右侧离i最近并且小于(或者大于)arr[i]的数在哪? // arr = [ 3, 1, 2, 3] // 0 1 2 3 // [ // 0 : [-1, 1] // 1 : [-1, -1] // 2 : [ 1, -1] //

2021-11-29 18:56:17 110

原创 算法-并查集-岛屿问题

这道题是LeetCode原题https://leetcode.com/problems/number-of-islands/题意:给定一个二维数组表,只可能会有0和1的位置,求上下左右都为1的一个整块数量。像下图就为2个岛数量递归方式public static int numIslands(char[][] board) { int islands = 0; for (int i = 0; i < board.length; i++) { for (int j = 0

2021-11-26 16:01:09 309

原创 贪心算法-做项目获得的最大钱数

题意:输入: 正数数组costs、正数数组profits、正数K、正数Mcosts[i]表示i号项目的花费profits[i]表示i号项目在扣除花费之后还能挣到的钱(利润)K表示你只能串行的最多做k个项目M表示你初始的资金说明: 每做完一个项目,马上获得的收益,可以支持你去做下一个项目。不能并行的做项目。输出:你最后获得的最大钱数。 // 最多K个项目 // W是初始资金 // Profits[]利润 Capital[]花费 一定等长 // 返回最终最大的资金 // 串行的进行,不能

2021-11-25 16:53:39 260

原创 二叉树中最大的二叉搜索子树的大小

二叉树中最大的二叉搜索子树的大小给定一棵二叉树的头节点head,返回这颗二叉树中最大的二叉搜索子树的头节点分析可能性:与X头无关:X左树最大可能性X右树最大可能性与X头有关:以X为头,整体全是BST搜索二叉树,X左为BST和X右为BSTX左树的最大值和X右树的最小值X左树的最大Size和X右树的最大Size判断二叉树是不是搜索二叉树原则:X左树是BST (BST搜索二叉树)X右树是BSTX左树最大伯max < XX右树景小值min > X

2021-11-24 16:00:00 128

原创 二叉树-中序遍历-面试技巧题

题目:拿出纸和笔,纸条。将纸张对折,会有凹下去和凸起来的对折线印记。将凹下去和凸起来的顺序打印出来 public static void f(int i, int N, boolean down) { // 超过层数就直接返回 if (i > N) { return; } f(i + 1, N, true); // 凹下去的其实就是左子树,凸起来的其实就是右子树 // 打印这颗数 System.out.print(down ? "凹 " : "凸 ");

2021-11-23 16:17:48 210

原创 Centos 7 开机一直转圈 错误 failed to load SELinux policy freezing

解决步骤如下:重启,在boot界面选择需要的系统,然后按e,进入grub界面,在红圈位置加入“selinux=0” 之后按ctrl+x之后稍等片刻即可进入系统。在UTF-8 后面加上 selinux=0 ,然后按 ctrl+x再把 selinux-policy 卸载 重装 【如果不重装 你重启 依然进不去系统,会一直转圈】yum remove –y selinux-policyyum install -y selinux-policy...

2021-11-21 13:52:35 3753 8

原创 在Linux上安装JDK1.8

阿里云Linux 环境上安装Java环境JDK 1.8 Linux 版 :网盘链接:https://pan.baidu.com/s/1T3f8RilspLOI6s4rlrldSg提取码:2v6fSecureCRT 破解安装包:网盘链接:https://pan.baidu.com/s/1CAIj_sFqnYCgUWwKfE_GwA 提取码:t4vv检验工具Linux是否可以连接在本地使用ping达到此效果即可(推荐)使用CRT的达到此效果也可,接下来的操作都是在CRT上远程连接JDK1

2021-11-21 12:07:21 122

原创 Linux 服务器上用yum命令安装Mysql8.0教程记录

前言: 最近买了阿里云的服务器,顺手记录一下安装MySQL8.0的记录1. 找到指定位置下载并安装MySQLwget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm下载到指定位置后,就可以执行安装了yum -y install mysql80-community-release-el7-3.noarch.rpmyum -y install mysql-community-server2

2021-11-18 14:36:57 546

原创 最长回文子序列问题-动态规划-范围尝试模型

最长回文子序列问题题目:给定一个字符串str,返回这个字符串的最长回文子序列长度比如 : str = “12a343b2a1”最长回文子序列是“1234321”,返回长度7。aba也是回文,只不过不是最长回文子序列这里说明一下:子序列是可以不连续的,而子串是必须连续的,回文是正反过来练都一样先考虑一个字符的情况public static int f(char[] str, int L, int R) { if (L == R) { return 1; } i

2021-11-03 22:36:36 161

原创 最长公共子序列问题-动态规划-样本对应模型

最长公共子序列问题题目:两个字符串的最长公共子序列问题(样本做行,样本做列)给定两个字符串str1和str2,返回这两个字符串的最长公共子序列长度比如 : str1 = “ab123c45d6ef”,str2 = “ks1234tz56”最长公共子序列是“123456”,所以返回长度6public static int longestCommonSubsequence1(String s1, String s2) { if (s1 == null || s2 == null || s1.le

2021-11-02 23:04:48 328

原创 每日一题:字符串系列---输出:abbccd。 abbccd“压缩后为“a1b2c2d1“,比原字符串长度更长

输出:abbccd。 abbccd"压缩后为"a1b2c2d1",比原字符串长度更长public class Test2 { public static void main(String[] args) { System.out.println(compressString("aabcccccaaa"));//输出:a2b1c5a3 System.out.println(compressString("abbccd")); //输出:abbccd。 abbccd

2021-03-19 17:47:23 282

原创 每日一题:字符串系列---判断一个字符串是否是对称字符串 * 例如“abc“不是对称字符串,“aba“、“abba“、“aaa“、“mnanm“是对称字符串

判断一个字符串是否是对称字符串 * 例如"abc"不是对称字符串,“aba”、“abba”、“aaa”、"mnanm"是对称字符串public class Test{ public static void main(String[] args) { System.out.println(isPalindrome(""));//false System.out.println(isPalindrome("a"));//true System.out.p

2021-03-19 17:36:07 803

原创 二叉树的前序、中序、后序

一、概念二叉树遍历分为三种:前序、中序、后序,其中序遍历最为重要。二、特点A:根节点、B:左节点、C:右节点;前序顺序是ABC(根节点排最先,然后同级先左后右);中序顺序是BAC (先左后根最后右);后序顺序是BCA(先左后右最后根)。三、图四、代码实现第一步: 节点实体类package node.tree;public class Node { private String value; private Node left; private

2021-01-23 10:32:35 20652 1

原创 哈夫曼树详解(上)

一、什么是哈夫曼树给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。简介<路径、长度、权重二、哈夫曼树特点哈夫曼树的特点:没有度为1的结点(每个非叶子结点都是由两个最小值的结点构成)n个叶子结点的哈夫曼树总共有2n-1个结点n0:叶结点总数 n1:只有一个儿子的结点总数 n2:有2个儿子的结点总数

2021-01-22 15:48:08 2739

原创 校验规则用配置的方式实现

前言平常我们做校验判断的话都是通过传参或者是查库里面是否需要有相关联的校验来判断的。但是当我们系统真正用在很多地方的时候,有些地方他的需求和规定又不是一样的,对此,程序猿们又必须满足客户的一切需求,于是就想到了利用配置的形式来做,代码的话就通过反射得到对应的值,看是否需要校验,这样就满足各位客户爸爸们的要求了。好了,废话不多将,直接将代码和思路吧配置中心的配置:这里是可以配置多个的,具体根据情况来定#新绩效校验 budget.new.goal.check=true#绩效规则goal.check

2021-01-14 23:53:47 1216

原创 定时任务使用redis控制节点代码实现

最近公司需要推送一些信息给其他系统,因为数据数据量多,所以可以选择手动推送,也可以自动推送,说白了,就是做个定时任务推送给他们,哪有啥想的,搞呗,打工人,话不多说,直接上代码。 /** * 推送部门整体绩效送定时任务 * @author Mr.WuJie * @since 2020-9-22 * 5分钟走一遍 定时任务 */ @Scheduled(cron = "0 0/5 * * * ?") public void perf.

2020-12-31 21:04:56 375

原创 JS骚操作写法和控制台console的高级玩法

三元操作符使用三元操作符可以让你的if…else多行语句变成一行简化前:const x = 20;let answer;if (x > 10) { answer = "greater than 10";} else { answer = "less than 10";}简化后:const answer = x > 10 ? "greater than 10" : "less than 10";短路操作符当进行变量赋值的时候,你可能需要确保被用来赋值的

2020-12-13 21:19:34 1016 1

原创 Mybatis之SelectKey

一、背景:SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。二、应用场景使用SELECT LAST_INSERT_ID() 这个sql语句来获取插入记录后返回的自增id<insert id="insert" parameterClass="UserDO">INSERT INTO user( user_id,user_nick,tel_phone,address,status, user_type,remark)

2020-12-13 20:07:43 2530

原创 执行insert 语句报错 ERROR 1292 (22007) at line 1: Truncated incorrect DOUBLE value: ‘XXXX‘

执行insert语句的时候不知道为什么会有这个错,原来是我在where条件后面 一个String类型的我没有给 单引号 ’ ’INSERT INTO XXX(id,pid,p1)SELECT UUID_SHORT() as id,id as pid,p1FROM prjestablish WHERE p1 != '0'不是这样INSERT INTO XXX(id,pid,p1)SELECT UUID_SHORT() as id,id as pid,p1FROM prjestablish WH

2020-12-12 17:48:42 758 1

原创 Broken pipe异常分析和常用锁的命令

错误描述ClientAbortException: java.io.IOException: Broken pipe这种就是获取不到连接了,连接已经断开了。出现这种问题的可能性:连接太多,到了最大连接数,每个连接处理的速度太慢,而导致处理不过来所以连接断开了请求报文和返回参数量过大然而导致了client自行中断了连接。文件过大:处理时间过长,由于执行时间较长或频率较高,程序或服务器出发超时直接结束进程。数据库配置问题或者是JVM配置太低而导致的,JVM垃圾没有回收,因为有次出现过代码里面死

2020-12-12 17:42:46 21105

原创 MySQL中的in和exists区别

in和exists的区别分析select * from A where id in (select id from B);select * from A where exists (select 1 from B where A.id=B.id);对于以上两种情况,in是在内存里遍历比较,而exists需要查询数据库,所以当B表数据量较大时,exists效率优于in。当B表数据较大时不适合使用in(),因为它会B表数据全部遍历一次结论:IN()适合B表比A表数据小的情况当B表比A表数据大时适

2020-12-12 16:57:00 384

原创 MySQL Sending data 查询数据慢

项目场景:项目中总是有查询很慢的时候 相当于就是Sending data数据的时候很慢问题描述:这时候我们就要看他的处理过程了show processlist;这时可以查看他的 State 状态,他的状态可能是 Sending data这是MySQL在做 “收集 + 发送 数据”;在进一步排查show profile;这时候就看Duration哪里耗时最长哪里耗时最长就是哪里的问题一般是Sending data 排查对比:1. 表的设计一个字段为 XXX varchar

2020-12-12 16:16:27 1562

原创 MySQL 的 on duplicate key update用法和注意事项

1 前言-用法由来MySQL 的 on duplicate key update 方法使用的由来在实际应用中 数据同步 max(updateTime)先删后增,有可能连接超时,网关超时,IO流的异常…换种写法并且有的时候是导入的数据,要求如果有就新增,没有就更新,后来才发现有这种语法。2 写法详解2.1 单条记录使用2.2 多条记录使用 2.3 MyBatis的写法 在这里插入代码片3. 注意事项3.1 业务主键ID不能重复 (最好不要用自增的列 )3.2

2020-12-12 15:23:51 4158 1

原创 MySQL 的存储过程函数

存储过程与函数其实差不多,本质上是一样的 MySQL存储过程的作用及语法作用:  1、使用存过过程,很多相似性的删除,更新,新增等操作就变得轻松了,并且以后也便于管理(像有时候需要做测试数据的时候,因为要压测嘛)  2、存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。  3、存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。  4、存储过程运行比较稳定,不会有太多的错误。只要一次成功,以后都会按这个程序运行。  5、存储过程主要是在服务器上运行

2020-12-12 13:51:49 69

原创 MySQL 函数语法整理

数据记录统计函数:  AVG(字段名)   //得出一个表格某个字段的平均值  COUNT(*|字段名) //对数据行数的统计或对某一字段有值的数据行数统计  MAX(字段名)   //取得一个表格中某字段的最大值  MIN(字段名)    //取得一个表格中某字段的最小值  SUM(字段名)   //取得一个表格中某字段的总和CASE WHEN THEN 函数  语法: CASE value WHEN [compare-value] THEN result [WHEN [compare-

2020-12-12 13:39:42 519

原创 MySQL保留制加字段的时候可能会遇到的问题

在MySQL建表或者是加字段的时候,可能会出现保留制的情况出现其实就是我们在添加某个字段的时候与数据库里面的关键字一致了,这时候我们是需要加上 " ` " 的,因为这样MySQL他才能识别出来这是一个字段的列名。注意,是反引号不是单引号,回车键左边那个是单引号。还有我们在数据库设计的时候往往会添加几个预留字段或者是备用字段,像这种一般最好不要加太多,因为如果加多了肯能会造成浪费空间名字不一致,不知道该字段干嘛用的而且不一定有用所以这在设计的时候就需要设计好,如果需要可以添加适当的字段当做

2020-12-12 12:01:34 133

原创 expetced begin_array but was string at line 1 colum1 path json转换错误

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $原因是数据的前后多了[ ]中括号。String json= "[{name:'name0',age:0}]";将前后的中括号去掉就好了// 修改后{name:'name0',age:0},要去掉前后的括号。String json= "{name:'name0',age:0}";...

2020-12-12 11:43:11 1416

原创 Java字符串拼接写法 joiner.on

1、 joiner.onString result = Joiner.on(",").join(list);这种写法最简单,直接Joiner.on 拼接 “,” “#” “、”_" “-” 之类的也是最常用的方法2、 StringBuilderStringBuilder strBur = new StringBuilder();list.forEach(val -> { strBur.append(val).append("#");});strBur.toString();

2020-12-12 11:32:37 9198 3

原创 JSON格式转化

com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串、JSON对象,JSON串转成java对象、JSON对象,JSON对象转换Java对象、JSON串1、Java对象–>JSON对象(JSONObject)JSONObject.toJSON(Java对象实例)public class JSON2JavaTest{ public static void main(String[] args) { St.

2020-12-11 23:51:56 13516

原创 JAVA8新特性用法

JAVA8新特性各种用法详解访问接口的默认方法Lambda表达式中是无法访问到默认方法的,以下代码将无法编译:复制代码 代码如下:Formula formula = (a) -> sqrt( a * 100);Built-in Functional InterfacesJDK 1.8 API包含了很多内建的函数式接口,在老Java中常用到的比如Comparator或者Runn...

2020-12-11 23:37:53 295

原创 Java BigDecimal总结使用场景

1、应用场景介绍2、BigDecimal方法的使用格式化及使用https://www.jianshu.com/p/2947868d76eb 格式话内容使用的方法使用时遇到过的问题1、BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的,异常如下:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

2020-11-22 09:58:34 1275

原创 HashMap深度分析详解

1.HashMap的实现原理?HashMap采用Entry数组来存储key-value对,每一个键值对组成了一个Entry实体,Entry类实际上是一个单向的链表结构,它具有Next指针,可以连接下一个Entry实体。只是在JDK1.8中,链表长度大于8的时候,链表会转成红黑树!1.1 为什么用数组+链表?数组是用来确定桶的位置,利用元素的key的hash值对数组长度取模得到链表是用...

2020-03-14 16:02:35 639

原创 常见的排序算法_下篇

sdf

2020-03-13 22:24:51 106

原创 常见的排序算法_上篇

排序算法分类常见排序算法可以分为两大类:比较类排序和非比较类排序;比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。时间、空间复杂程度速查表时间、空间复杂程度图比较公式: ...

2020-03-12 09:13:22 176

您填写的"QQ用户信息管理系统"长度超出了限制,请检查

有没有是北大青鸟的学子吗?这是S1学期的C#里面的第16章QQ用户信息管理系统,有需要的可以看一下

2018-11-19

空空如也

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

TA关注的人

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