自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (1)
  • 收藏
  • 关注

原创 JAVASE面试

由于分布式id用的Long类型,但是返回给前端后id会最后两位会四舍五入,很奇葩,但是用postman测试则不会,怀疑是前端框架转的,Long类型使用js的number类型接受不了,所以损失了精度。

2022-10-14 09:41:20 315 1

原创 前端接受后端请求Long类型的bug

由于分布式id用的Long类型,但是返回给前端后id会最后两位会四舍五入,很奇葩,但是用postman测试则不会,怀疑是前端框架转的,Long类型使用js的number类型接受不了,所以损失了精度。

2022-09-28 15:56:50 768

原创 文档在线预览

url需要进行base64编码后,再进行urlencode编码。在线预览可以使用开源软件kkFileView。

2022-08-30 10:22:45 187

原创 docker-maven-plugin插件的使用

参考。

2022-07-27 17:15:37 505

原创 docker查看容器启动命令

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike 你的容器id

2022-06-24 17:45:26 1033

原创 mysql新增用户并赋权

mysql创建用户并授权

2022-06-01 16:12:20 338

原创 算法刷题-面试

单链表反转

2022-05-21 10:32:15 121

原创 mysql行锁机制--未完

本篇只分析mysql在可重复读隔离级别的加锁机制前置知识对于行级锁,主要分为以下三类:行锁(Record Lock):锁定单个行记录的锁,防止其他事务对此行进行update和delete。在RC、RR隔离级别下都支持。间隙锁(Gap Lock):锁定索引记录间隙(不含该记录),确保索引记录间隙不变,防止其他事务在这个间隙进行insert,产生幻读。在RR隔离级别下都支持。临键锁(Next-Key Lock):行锁和间隙锁组合,同时锁住数据,并锁住数据前面的间隙Gap。在RR隔离级别下支持。主

2022-05-05 18:51:47 540

原创 tomcat请求乱码

乱码产生的原因Tomcat接受浏览器请求,在处理数据时产生乱码,原因是:tomcat不知道浏览器发来数据的编码格式,此时tomcat会使用默认的ISO8859-1去解析,导致乱码。让tomcat选择正确的编码解析是解决乱码的根本请求乱码的处理get请求对于get请求提交的数据,在不同版本的tomcat中有不同的处理方式,在tomcat8及以上的版本,服务器默认以utf-8的编码方式处理请求参数,这一点可以从tomcat8官方文档中可以看出URIEncoding: This specifies t

2022-03-29 11:32:56 2028

原创 面试必看-目录

mysql数据库隔离级别优化 索引锁 mvcc分库分表死锁以及mysql死锁的处理行锁什么时候升级表锁redis持久化集群–新增一台机器怎么处理数据结构redis内存不够用怎么办热点key失效、雪崩、穿透的解决springioc和aop事物失效的原因事物传播特性bean的生命周期mybatis一级和二级缓存如何匹配接口和xmlspringmvc流程如何匹配url设计模式常见的设计模式数据结构与算法排序算法分布式分布式锁分布式事务CAP源码li

2022-03-22 20:01:11 3090

原创 排序算法总结

排序算法实现及动画演示

2022-03-21 10:07:18 66

原创 接口加解密

参考:DES加解密

2022-03-16 19:59:55 400

原创 面试源码--HashMap

HashMap中put方法的过程?调用哈希函数获取Key对应的hash值,再计算其数组下标;如果没有出现哈希冲突,则直接放入数组;如果出现哈希冲突,则以链表的方式放在链表后面;如果链表长度超过阀值(TREEIFYTHRESHOLD==8),数组长度达到64,就把链表转成红黑树,链表长度低于6,就把红黑树转回链表;如果结点的key已经存在,则替换其value即可;如果集合中的键值对大于12,调用resize方法进行数组扩容。补充:当HashMap中的其中一个链表的对象个数如果达到了8个,此时如果

2022-02-21 15:06:56 247

原创 面试源码--ArrayList和LinkedList的区别

相同点:ArrayList 和 LinkedList都是List的实现类,List集合主要有两个特点:1、有序;2、可重复。所以他们两个肯定也有其特征。ArrayList和 LinkedList都是线程不安全的,多线程环境下容易造成脏读的问题,可以使用Collections.synchronizedList()方法保证线程的安全性。不同点查询ArrayList随机访问效率很高,因为元素的存储是有序的,通过下标index可以知道所查询数据在内存中的位置,寻址快,时间复杂度O(1);LinkedLi

2022-01-14 15:13:27 94

原创 面试源码--LinkedList

1.结构双向链表有头尾节点,Node有前后指针transient int size = 0; transient Node<E> first; transient Node<E> last; public LinkedList() { }private static class Node<E> { E item; Node<E> next; Node

2022-01-14 14:42:07 119

原创 面试源码--ArrayList

1.增强for的本质如下代码:ArrayList<String> strings = new ArrayList<>(); strings.add("333"); strings.add("3334"); for (String string : strings) { System.out.println(string); }编译后再反编译ArrayList<String>

2022-01-13 16:31:07 1345

原创 docker安装ELK

docker安装ELK

2021-12-30 10:44:46 1293

原创 安装docker,部署jar

安装dockerdocker的安装已在生产服务器验证,可以顺利安装

2021-12-23 09:45:59 286

原创 linux命令详解

命令

2021-12-22 18:09:45 363

原创 springboot优雅校验参数

springboot优雅校验参数注意:引入的包import javax.validation.constraints.NotBlank;import org.springframework.validation.annotation.Validated;

2021-12-21 11:11:48 326

原创 java8 新日期api使用

date转localDate date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate()localDate转dateDate.from(localDate.atTime(23,59,59).atZone(ZoneId.systemDefault()).toInstant())localDate获取月份最后一天,返回localDatelocalDate.with(TemporalAdjusters.lastDayOfMonth())

2021-12-13 17:18:44 451

原创 算法练习--数组

leetcode题目• https://leetcode-cn.com/problems/move-zeroes/解法:国际网站:滚雪球解法https://leetcode.com/problems/move-zeroes/discuss/172432/THE-EASIEST-but-UNUSUAL-snowball-JAVA-solution-BEATS-100-(O(n))-%2B-clear-explanation国内网站:两种解法https://leetcode-cn.com/pro

2021-12-13 15:17:14 307

原创 mybatis一级缓存与二级缓存

MyBatis缓存机制详解(一级缓存,二级缓存)一级缓存源码当查询集合的时候会调用SqlSessionTemplate的方法selectList此方法会走动态代理最后finally清空缓存private class SqlSessionInterceptor implements InvocationHandler { @Override public Object invoke(Object proxy, Method method, Object[] args) throws

2021-12-09 16:30:26 167

原创 springboot整合mybatis原理

pom<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>在mybatis-sp

2021-12-09 10:29:37 501

原创 springsecurity+jwt

Spring Security整合JWT实现前后端分离认证和权限管理(超详细)

2021-12-06 18:30:55 118

原创 Mybatis源码简单分析

MyBatis源码分析

2021-11-15 16:40:44 233

原创 springboot发邮件和springboot整合quartz

springboot发邮件springboot整合quartz

2021-11-13 13:01:46 223

原创 bug记录

AliBaBa Doubbo 服务启动异常:[source error] getPropertyValue

2021-10-21 16:44:08 52

原创 开发接口的安全性保证

保证安全性需要保证两点1.请求参数未被篡改2.请求的时效性请求的时效性可以在请求参数加上时间戳参数,如time=xxx保证参数不改动,需要对参数(包含时间戳参数)进行md5加密(加盐),放在请求头中进行请求md5不可逆加密,验证只能通过原始字符串再次加密得到加密串进行对比接口安全https://blog.csdn.net/qq_24025219/article/details/104525696?ops_request_misc=&request_id=&biz_id=102&

2021-09-14 10:56:33 130

原创 springboot实现webservice的发布和调用

发布webservicepom文件<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.2.5</version> </dependency>web

2021-09-08 10:30:30 987

原创 线上根据错误关键字查询日志命令

cat logs/info.log | grep ‘972ab192-c589-4989-91ca-39918a1a17c5’ -B201.logs/info.log 是日志位置2.972ab192-c589-4989-91ca-39918a1a17c5 是错误关键字3.-A10 代表 该错误关键字前10行 ,-B20代表该错误关键字后20行

2021-08-24 15:03:18 133

原创 数据结构--循环队列

使用数组的方式实现队列public class MyQueue implements Queue { private Object[] arr; private int head; private int tail; private int count; private int arrLength; public MyQueue(int cap){ arr = new Object[cap]; arrLength = cap

2021-07-04 12:11:27 62

原创 实现热部署

生成 GUID 的网址https://www.guidgen.com/用这个网址 + 生成的 GUID 激活https://jrebel.qekang.com/参考文章地址https://note.youdao.com/ynoteshare1/index.html?id=da9fe89c80cf42991c5dd60cc7b17997&type=note防丢失https://blog.csdn.net/qq_36406189/article/details/102869981..

2021-06-29 18:19:20 54

原创 JRebel热部署

IDEA+JRebel实现全自动热部署的方法步骤生成 GUID 的网址IDEA+JRebel实现全自动热部署的方法步骤更新时间:2019年11月20日 15:17:36 转载 作者:yiyayiya这篇文章主要介绍了IDEA+JRebel实现全自动热部署的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧简述:JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。IDEA上原生是不支持热部署的,

2021-06-29 18:05:57 760

原创 自己实现一个简易版的ArrayList

接口public interface MyList<T> { int size(); boolean add(T o); void add(int index,T o); T remove(int index); T get(int index); boolean isEmpty();}实现类public class MyArrayList<T> implements MyList<T> { Object

2021-06-02 09:56:13 84

原创 项目bug

SpringBoot整合TkMapper配置多数据源的坑问题一本人遇到的问题是修改老项目,项目中配置的两个数据源,MapperScan用的是mybatis的注解(如下图),由于之前的项目用的通用mapper,想引进通用mapper,在启动类上加了通用mapper的注解MapperScan,可以正常工作。有一天突然觉得不需要在启动类上加通用mapper的注解MapperScan,因为已经配置了mybatis的MapperScan,删除后,两个数据库的mapper都使用了一个数据库,并且报错某个表的colu

2021-05-31 18:35:19 83

原创 项目常用代码总结

lombok的@BuilderStudent.builder() .sno( "001" ) .sname( "admin" ) .sage( 18 ) .sphone( "110" ) .build();xml里面sql的常用写法,包括时间、like、foreach where `p`.`now_state` not in ('8') and

2021-05-28 11:05:05 279

原创 mysql的update复杂语句

UPDATE t_s_user a ,(SELECT ur.id,bu.username,bu.realname,ur.roleids, (SELECT r.rolename FROM t_s_role r WHERE r.id IN(IFNULL(ur.roleids,''))) rolenames from t_s_base_user bu LEFT JOIN ( SELECT u.id,ru.roleids FROM t_s_user u LEFT j...

2021-05-27 10:05:10 1302

原创 架构演进之路

单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。理解:所有的功能在一个jar包或war包垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。理解:分为互不相干的应用,彼此没有交互与调用,可能会存在代码的重复分布式服务架构当垂直应用越来越多,应用之间交互不可避免.

2021-05-26 11:08:58 158 1

原创 关于maven的一些不错的文章

Maven依赖的scope标签为import解决的问题maven repository 配置

2021-05-24 10:33:26 54

springboot整合mybatis配置多数据源

springboot整合mybatis配置多数据源

2020-08-22

空空如也

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

TA关注的人

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