自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java8函数式接口

函数式接口是Java 8中引入的一个概念,它指的是只有一个抽象方法的接口。Java 8通过@FunctionalInterface注解来标记这样的接口。利用函数式接口,结合Lambda表达式,可以使代码更加简洁易读。

2024-03-17 20:51:24 414

原创 GuavaCache的refreshAfterWrite

expireAfterAccess:一段时间内没有访问则过期,如果有多个线程同时查询,则阻塞所有线程,一个线程去获取数据。refreshAfterWrite:可以不重写reload。如果缓存过期,则一个线程去获取数据,其他线程返回老数据。expireAfterWrite:如果缓存过期,则阻塞所有线程,一个线程去获取数据。

2024-03-13 22:16:08 7582

原创 【ES】es查询term、match、match_phrase、mast_not、mast...

对属性名.keyword,就是全值匹配。如果查询的属性是text,就会匹配分词。

2024-02-21 00:11:51 767

原创 【工具】codereview,arc

git status:查看当前分支arc branch example:创建一个新分支并切换git status:查看当前分支git add .git commit -m “”git status:查看当前修改内容、当前分支git push —set-upstream origin example:强行push一个example分支,如果没有则创建。arc diff [last_commit]:将 last_commit 到我本地最新的commit之间的所有的代码改动发送到phabricato

2022-01-20 15:46:38 488

原创 【算法】【动态规划】LCP 14. 切分数组

这道题,我最开始的想法是解决两个问题:1、得到两个数的公约数;2、确保区间最大;实现不了,因为这是很暴力的解法。答案:1、局部最优得到全局最优 —> 动态规划2、从左至右遍历元素3、根据他们的公约数,存储其答案;dp存储的内容为:某个公约数当前的分区个数。(很拗口啊)public class Solution { public int splitArray(int[] nums) { int[] dp = new int[1000001]; Ar

2021-12-25 02:55:37 743 1

原创 【算法】1044. 最长重复子串

1044. 最长重复子串阅读大佬的写法后,发现这道题需要解决的是两个问题:1、用较少的次数确定答案的字符串长度;2、快速确定两个字符串是否相同;错误想法:我一开始的想法是类似于KMS的想法,先得到所有的相同字母出现的位置,然后再一一进行滑动窗口进行匹配。这个想法没有实现,因为不可能实现成功他,太复杂了。这个想法只解决了确定两个字符串的起始位置,然后一一匹配,非常的慢。大佬想法:使用String.HashCode里面的算法,存储hash前缀和。通过二分查找+hash前缀和匹配,快速匹配+快速确

2021-12-23 11:41:40 377

原创 【算法】【感悟】LCP 03. 机器人大冒险

当面试官问我场景题、算法时,他们不希望看到我直接上手就写。他们想慢慢的让我自己思考、与面试官交谈。说出对这道题的理解。LCP 03. 机器人大冒险如下:这道题,它的目的是求出机器人是否能够安全到达终点。其中只需要判断:1、机器人能到达终点;2、机器人不会撞墙思路最简单的方法是:模拟机器人,一步一步的走。当撞墙或者远离终点时,就返回false。到达终点则返回true。(没超时,985ms)另一种思路:用数学的方法,优化时间复杂度,只需要判断1、能否到达终点;2、是否撞墙;即可。(0ms)cl

2021-12-22 10:40:59 163

原创 【Java】mybatis实现模板Controller、Service、Mapper,实现代码复用BaseController、BaseService、BaseMapper

1、先看看service的类图吧2、难点:BaseController要知道自己的Service是哪里来的。BaseServiceImpl要知道自己的Mapper是哪里来的。解决问题:// 将service的类型通过泛型传进来,然后使用@Autowired通过类型来进行注入public abstract class MyBaseController<T,S extends MyBaseService<T>> { @Autowired S servic

2021-12-15 13:31:58 3654 6

原创 【算法】689. 三个无重叠子数组的最大和

1、我的解题思路1、从左到右,存储每一个区间的值。2、dfs,回溯遍历,组合,找到最优解int[] res = new int[3];int max = 0;public int[] maxSumOfThreeSubarrays(int[] nums, int k) { int len = nums.length; int[] numsa = new int[len]; int now = 0, index = 0; while (index < k) {.

2021-12-08 10:27:49 350

原创 【算法】1062. 最长重复子串

1062. 最长重复子串示例 1:输入:“abcd”输出:0解释:没有重复子串。示例 2:输入:“abbaba”输出:2解释:最长的重复子串为 “ab” 和 “ba”,每个出现 2 次。示例 3:输入:“aabcaabdaab”输出:3解释:最长的重复子串为 “aab”,出现 3 次。示例 4:输入:“aaaaa” 输出:4 解释:最长的重复子串为 “aaaa”,出现 2 次。来源:力扣(LeetCode)链接:https://leetcode-cn.com

2021-11-30 15:11:25 4622

原创 【逻辑思考】一堆硬币中有一个假币,你有一个天平,用最小的比较次数,判断假币更轻还是更重

求和函数public int sum(int[] weights,int start,int end){ int res = 0; for(;start<=end;start++){ res+=weights[start]; } return res;}核心内容(全是if、else,最深是三层,所以最多比较三次即可得到假币更重还是更轻)public void pp(int[] weights){ int size = weights.leng

2021-11-29 16:21:06 466 1

原创 【前端】vue,实现router的切换,上滑下滑,左滑右滑

<template> <div id="app" style="overflow: hidden;position: relative;"> <transition :name="routerTrans" mode="out-in"> <router-view v-if="indexShow" name="index" class="child-view" style="position: absolute;top: 0;left: 0"/&

2021-10-20 22:24:36 954

转载 【MySQL】rank() over,dense_rank() over,row_number() over的区别

rank() over,dense_rank() over,row_number() over的区别1.rank() over:查出指定条件后的进行排名。特点是,加入是对学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占的名次。select name,subject,score,rank() over(partition by subject order by score desc) rankfrom student_score;2.dense_rank() over:与ran() o

2021-10-10 14:05:36 145

原创 【算法】深信服8月31日的笔试题,获取ip的区间

1、题目:有一组ip地址,把这组ip地址,相邻的、和包含的给放在一起。比如:192.168.0.1、192.168.0.2,要连在一起:“192.168.0.1-192.168.0.2”。比如:1-3、2-4,要连在一起:“1-4”。new ArrayList<String>(){{add("192.168.0.1");add("192.168.0.12-192.168.0.15");add("192.168.0.2");add("192.168.0.7-192.168.0.9")

2021-09-01 10:04:16 415

转载 【分布式】分布式事务之最终一致性BASE理论

分布式事务之最终一致性BASE理论

2021-08-26 09:16:04 146

原创 【算法】【动态规划】最长回文子序列、打家劫舍、求第几位公倍数

516. 最长回文子序列//通过记忆化搜索法,从后往前遍历,并回头,获取每个节点当前回文串的最大值。// 初始化,每一位都为1,因为每一个元素本身都是回文串,初始化都是1/* * 情况1: * bbbab * ij * j的位置的值,为1,因为a、b不相同,且a~b中的回文串最大值为0(默认),所以j的位置的值不做改变。只有s.charAt(i)==s.charAt(j),j的位置的值,才做改变。每次改变的值为 db数组为存储回文串最大值的数组,cs数组为原字符串的char数组。

2021-08-22 23:40:07 120

原创 【算法与数据结构】【力扣所有股票题】状态转移、动态规划

121. 买卖股票的最佳时机做法一:状态解法、动态规划(4ms)每次的当前每个状态都是最优// 第一版public static int maxProfit(int[] prices) { int[][] states = new int[prices.length][2];//0:买,1:卖 /* * 状态变化解释: * 卖:states[i][1] = Math.max(states[i-1][0]+prices[0] , states[i-1][1]);

2021-08-21 16:03:37 147

转载 【Linux】【Java】Linux配置jdk环境

来源:Linux系统下安装jdk及环境配置(两种方法)一、yum一键安装yum -y list java* #查看版本yum install -y java-1.8.0-openjdk-devel.x86_64 #安装对应版本java -version二、解压下载的文件,配置环境变量tar zxvf jdk-8u181-linux-x64.tar.gz #解压vim /etc/profile #进入配置文件export JAVA_HOME=/usr/local/jdk/jdk1.8.0_

2021-08-07 23:40:14 94

原创 【Java工具】模板引擎freemarker,基本使用

文章目录官方文档一、普通数据操作后端:配置项:前端:1、得到对象:2、流程控制:直接ifif 和 elseifif和elseif和else3、集合遍历普通遍历遍历时加上特殊符号list+elselist+if二、内建函数1、处理不存在的变量在变量引用后面加入一个!在变量后面加入??官方文档http://freemarker.foofun.cn/toc.html一、普通数据操作后端:@Controllerpublic class Test1Controller { @RequestMapp

2021-07-13 15:37:35 357

原创 【Java】java实例化,优化,getInstance方法,相同属性的对象,只用一个实例,静态工厂初始化

如果某个对象,它经常使用,而每次使用时,都会去创建,由于创建、销毁都会消耗CPU和内存资源,并且有很多相同对象,在同一个流程中反复创建,比如在开发系统时,许多的vo中有相同的属性,比如部门属性。我这里就写了一个简单的对象池,只有手动调用getInstance才能实现相同属性的对象使用一个实例。后面我会尝试去看看,能不能修改实例化的某个部分,使得某个类,在new的时候,自动这样做。虽然这个想法打破了Java的机制和理念,且8成不会成功,但我认为这样去尝试,总能更了解Java,开干!package ta

2021-07-12 17:54:23 243

原创 【Java工具】JWT基本操作(它的定位挺尴尬的,估计以后很少用到)

JWT主要用于保证前后端交互的安全,在服务器记录这个用户的信息(内存),前端每次请求后端都需要带上这个token数据(cookie或者localStorage等客户端缓存工具)。然后拦截器,拦截、验证。它有个弊端,就是无法删除。在注销用户时需要用额外的方法进行删除、比如各种花里胡哨的逻辑删除、使用时存redis或者数据库,然后进行删除。依赖依赖<!--引入jwt--><dependency> <groupId>com.auth0</groupId&

2021-07-11 23:42:53 239

转载 【Java工具】Log4j配置详情

https://www.cnblogs.com/zhangguangxiang/p/12007924.html

2021-06-27 20:37:25 379 1

原创 【Spring】IDEA配置本地Spring5调试环境,打注释。

我配了整整一天没配好,然后第二天早上,按照如下文章就配好了。文章也可以直接去我的git上面拉,我写出我的git上的用法。https://gitee.com/tangxiaozun/tangxz-spring-5.3.9.git拉下来后的目录结构:使用:1、使用source中的jar2、使用source中的源码不改,直接ok3、删掉之前的记录这样,即可调试源码,加入注释...

2021-06-23 00:02:00 163

原创 【遇到问题】【Linux】虚拟机ping不通主机,但是主机ping得通虚拟机

文章目录1、虚拟机配置私网IP2、BUG① 虚拟机ping不通本机 且 本机ping不通虚拟机① 虚拟机ping不通本机 但 本机ping得通虚拟机③ 虚拟机ping得通本机 但 本机ping不通虚拟机④ 虚拟机和本机相互ping得通,但是主机访问不了虚拟机的服务,比如mysql、redis。今天看到三月份一个粉丝给我发了个消息,询问centos中ping不通114的问题。在这篇文章中记录我所知道的虚拟机ip配置问题。1、虚拟机配置私网IP配置的私网ip必须在本机的某个虚拟机网络下

2021-05-17 18:39:26 1866

原创 【Java SE】【多线程】ThreadLocal杂谈

1、ThreadLocal是什么?1)ThreadLocal的作用ThreadLocal的作用是在线程内部维护一个变量(一个ThreadLocal实例,在一个线程中有且仅有一个变量),其他线程不可访问。2)为什么在一个线程中只有一个变量呢?是因为:在一个线程中,调用ThreadLocal实例的 get(this) 方法,会调用当前线程本身的 ThreadLocalMap 实例的 getEntity(ThreadLocal<?>) 方法,ThreadLocalMap 中的这个方法的参数就是

2021-05-10 20:57:58 261 2

原创 【Linux】Centos7下的防火墙与端口开放问题

防火墙操作# 查看防火墙状态sudo systemctl status firewalld# 关闭防火墙sudo systemctl stop firewalld# 打开防火墙sudo systemctl start firewalld# 永久关闭防火墙sudo systemctl disable firewalld# 永久打开防火墙sudo systemctl enable firewalld端口操作# 查询端口是否开启sudo firewall-cmd --query-po

2021-04-19 19:22:38 87

原创 【协同开发】【后悔药】git回滚、分支操作、解决冲突

一、查看状态git status二、显示日志:git log # 只显示当前版本和当前版本之前的版本。之后的版本不显示git log --pretty=onelinegit log --oneline #这个输出的日志更精简,索引值也是缩短版git reflog #这个输出的日志更精简,索引值也是缩短版三、回退、前进版本,三种方式reset1. 基于索引值操作(最好的方式)git reset --hard 索引值2. 使用^符号,只能后退git reset --hard H

2021-02-25 12:23:39 827

原创 【MySQL数据库】代码生成器的数据库操作

1、得到一个连接下全部的数据库Class.forName(databaseVo.getDiver_name());//Connection connection = DriverManager.getConnection("jdbc:mysql://localhost","root","5516");Connection connection = DriverManager.getConnection(databaseVo.getDatabase_url(), databaseVo.getDataba

2021-02-20 22:04:36 256 2

原创 【MySQL数据库】mysqld服务启动失败

mysqld --console

2021-02-04 23:48:26 493

原创 【MySQL数据库】DCL管理用户,授权

DCL管理用户,授权DBA:数据库管理员,专门用来管理数据库的人。不用刻意去记忆,只需要记录,方便复制粘贴1、管理用户1)查询用户#1、切换到mysql数据库use mysql;#2、查询user表select * from user;2)添加用户create user '用户名'@'主机名' identified by '密码';3)删除用户drop user '用户名'@'主机名';4)修改用户密码# 方法一:update user set password=PASS

2021-01-26 16:48:44 111

原创 【MySQL数据库】实战性能优化

没学

2021-01-25 18:04:53 83

原创 【MySQL数据库】视图

文章目录视图视图逻辑的创建视图逻辑的修改视图逻辑的删除、查看视图的更新,增删改查某些视图不能更新视图含义:理解成一张虚拟的表mysql5.1版本出现的新特性,是通过表动态生成的数据。比如:一个班级有一群舞蹈比较好的,组成一个舞蹈班,当领导来视察的时候,就把这个舞蹈班拿出来表演,平时舞蹈班的同学还是当作普通同学使用。视图是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。应用场景:多个地方用到相同的查询结果;改查询结果使用的sql语句较复杂。视图和表的区别: 关键

2021-01-25 18:03:55 96

原创 【MySQL数据库】索引

还没学

2021-01-25 18:01:47 251

原创 【MySQL数据库】存储过程、函数、流程控制

文章目录一、存储过程1、创建存储过程1)创建语法2)参数包含三部分3)注意事项2、调用存储过程3、实战存储过程1)无参存储过程2)带in模式参数的存储过程3)创建带out模式的存储过程4)创建带inout模式参数的存储过程5)实战4、删除存储过程5、查看存储过程的结构信息二、函数1、创建函数2、调用函数3、实战三、流程控制结构1、分支1)if函数2)case语句3)if elseif语句循环一、存储过程含义:一组经过预先编译的sql语句的集合,理解成批处理语句好处:1、提高了sql语句的重用性,减少

2021-01-25 17:59:32 277

原创 【MySQL数据库】变量

文章目录变量1、系统变量1)全局变量2)会话变量2、自定义变量1)用户变量2)局部变量变量系统变量全局变量会话变量自定义变量用户变量局部变量1、系统变量说明:变量由系统提供,不是用户定义,属于服务器层面使用的语法:1)全局变量作用域:服务器每次启动将为所有的全局变量赋初始值,针对所有的绘画(连接有效,但不能跨重启)。如果需要永久有效则需要修改配置文件。如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写则默认session1、查

2021-01-25 17:51:42 108

原创 【MySQL数据库】TCL事务控制

数据库事务TCLtransaction control language 事务控制语言。含义​ 通过一组逻辑操作单元(一组DML——sql语句),将数据从一种状态切换到另外一种状态特点(ACID)原子性(atomicity):要么都执行,要么都回滚一致性(consistency):保证数据的状态操作前和操作后保持一致隔离性(isolation):多个事务同时操作相同数据库的同一个数据时,一个事务的执行不受另外一个事务的干扰持久性(durability):一个事务一旦提交,则数据将持久化到

2021-01-25 17:50:06 67

原创 【MySQL数据库】DML语言,增删改

文章目录DML语言一、插入常用语法:通过set插入值二、修改修改单表语法:修改多表语法:sql99 连接+修改 语法三、删除方式1:delete语句方式2:truncate语句DML语言数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。一、插入常用语法:# 单行插入insert into 表名(字段名,...)values(值1,...);# 多行插入 插入3行insert into 表名(字段名,...)values(值

2021-01-25 17:37:42 97

原创 【MySQL数据库】DQL语言,查询语句及常见函数

文章目录DQL语言的学习进阶1:基础查询进阶2:条件查询进阶3:排序查询进阶4:常见函数一、单行函数1、字符函数2、数学函数3、日期函数4、流程控制函数1)if2)case5、其他函数二、分组函数进阶5:分组查询1、语法2、普通分组3、加分组前筛选条件4、加分组结果筛选条件5、按表达式或函数分组6、按多个字段分组7、添加排序8、group by特点进阶6:多表连接查询一、引入多表联查二、sql92标准 传统模式下的连接 :等值连接——非等值连接1、等值连接2、非等值连接3、自连接三、sql99语法:通过jo

2021-01-25 17:30:23 172

原创 【MySQL数据库】DDL语言,库和表的管理

文章目录DDL语言:库和表的管理一、库的管理:1、创建库二、库的修改三、删除库二、表的管理:1、创建表2、修改表3、删除表4、表的复制三、常见类型1、整型:2、小数:3、字符型/串数据:4、较长的文本:5、日期型:6、Blob类型:7、其他:四、常见约束1、常见约束2、【实战】创建表时添加约束3、【实战】添加表级约束4、【实战】通用5、【实战】添加约束6、【实战】删除约束7、标识列:自增DDL语言:库和表的管理数据库模式定义语言DDL(Data Definition Language),是用于描述数据库

2021-01-25 15:37:46 152

原创 【mysql数据库】mybatis使用sql语句的时间函数取出数据

<!-- 得到今天的数据--> <select id="getOneNodeThisDayDataByNodeId" resultType="org.jeecg.modules.my.my_node_data.entity.MyNodeData"> select * from my_node_data where node_id = #{nodeId} and date(create_time) = cur

2021-01-16 21:16:14 566

Java三大器.zip

Java三大器过滤器&拦截器&监听器实现,其中每一个包都能单独运行,但是全部一起运行时会报错,原因是SpringBoot有关@Bean注入的问题,作者学艺不精只有待以后学懂后改,大家先将就看,源码解析及有关Java三大器理解的博客地址为 https://blog.csdn.net/weixin_42295814/article/details/99353954

2019-08-12

剛開始學C语言打的代碼

剛開始學C语言寫的代碼,及參加acm比賽玩的算法,比較不錯

2018-09-27

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

TA关注的人

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