自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 html5本地存储器

setItem(“key”,“value”):存储名字为key的一个值value,如果key存在,就更新value。removeItem(“key”):删除名称为“key”的信息,这个key所对应的value也会全部被删除。getItem(“key”):获取名称为key的值,如果key不存在则返回null**例:标准的json对象{“name”:“john”}

2023-05-30 10:41:52 102

原创 分页查询如何优化查询

握草,我一听就觉得事情不对,肯定没好事,走过去一看,同事对我说,他维护的这张日志表数据已经超过500w了,可能是测试的同事在做压力测试,导致了数据库的用户操作日志记录一下子就突破了几百万,现在,同事写的分页查询速度已经很慢很慢了,当查询的记录越靠后的时候,查询时间越久,果不其然,没过多久,我们就在禅道上看到了测试大哥提交的bug:查看1000页以后的日志返回速度极慢,这是被迫优化啊,好尴尬。是必不可少的,可以说每干后端程序猿大部分时间都是CURD,所以分页的查询也接触的不少,你们都是怎么实现的呢?

2023-04-04 11:02:18 306

原创 Mysql - 索引为什么使用B+树而不是B树

而B树搜索有可能会在非叶子节点结束,约靠近根节点的记录查找时间越短,其性能等价于在关键字全集内做一次二分查找,查询时间复杂度不固定,与 key 在树中的位置有关,最好情况为O(1);不存储数据,只存储索引值,相比较B树来说,B+树一个节点可存储更多的索引值,使得整颗B+树变得更矮,减少I/O次数,磁盘读写代价更低,I/O读写次数是影响索引检索效率的最大因素;B+树【B树的改进版, 让内部节点(非叶子节点)只作索引使用,叶子节点包含了这棵树的所有键值,叶子节点不存储指针】

2023-03-16 15:44:35 165

原创 获取后台request请求路径

【代码】获取后台request请求路径。

2023-03-16 15:27:01 117

原创 使用In关键字有序查询结果

根据In关键字内的写入顺序,自定义排序

2023-03-13 16:26:47 41

原创 printf常用输出控制符

%d 输出整数 %ld 输出长整数%c 输出字符

2023-02-20 11:54:15 389

原创 集合对象复制转换类型(当属性名不一样时)

List ttrList = BeanHelper.copyList(articles, ArticleIndex.class)即可。

2023-02-13 17:42:09 170

原创 MySQL中替代Like模糊查询的函数

SELECT name FROM employees where LOCATE('王',name)>0 // 相当于Like '%王%'(>0可省略)SELECT name FROM employees where INSTR(name,'王')>0 //相当于 like '%王%' (>0可省略)SELECT name FROM employees where LOCATE('王',name)=0 // 相当于 NOT Like '%王%'查询name中包含 '王' 字 的。

2023-02-02 16:36:07 1663

原创 图解用户登录验证流程

通常我们token的过期时间是根据客户端的类型来定义的,app的过期时间会更长一些(通常一个星期),web端过期时间以小时为单位,如果控制过期时间可以将web登录和app登录拆分为两个接口(能够分流,接口压力更小),或者是根据请求头信息进行判断即可,是移动端就设置7天,是web端就设置两小时。我们在网关的配置文件中增加匿名接口规则,请求到网关时,检查请求的路径是否符合匿名接口规则,是则放行,不是则进行token校验,方案比较简单,只需要对网关进行处理即可。这时候我们需要在上面的验证流程图基础上进行升级。

2023-01-29 09:31:16 509

原创 Java集合框架图

java集合框架图

2023-01-19 10:34:47 96

原创 springboot整合redis

Lettuce 基于 Netty 的连接实例(StatefulRedisConnection),可以在多个线程间并发访问,且线程安全,满足多线程环境下的并发访问,同时它是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。Spring Boot 1.0 默认使用的是 Jedis 客户端,2.0 替换成 Lettuce。在springboot中添加启动项配置(yml或properties)两者都是来操作redis的。根据key查询value。根据key获取存活期。

2023-01-19 10:26:28 63

原创 避免 MySQL 插入重复数据的 4 种方式

即insert into …where not exist ... ,这种方式适合于插入的数据字段没有设置主键或唯一索引,当插入一条数据时,首先判断MySQL数据库中是否存在这条数据,如果不存在,则正常插入,如果存在,则忽略,前3种方式适合字段设置了主键或唯一索引,最后一种方式则没有此限制,只要你熟悉一下使用过程,很快就能掌握的,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下。有兴趣的朋友可以关注我的公众号更多编程小技巧。

2023-01-18 11:59:35 1107

原创 Java加密配置文件

使用jasypt 进行数据库配置加密导入项目依赖版本看需求配置文件(properties)中配置文件(yml)中语法使用先将需要的明文手动加密上示已完成后直接自动注入即可使用对象的加密方法encrypt()使用对象的解密方法decrypt()得出密文后进入配置文件中。

2023-01-17 10:47:14 969

原创 list列表转数组

当给定的数组长度不足时会自动重新分配数组和内存。

2023-01-17 10:26:09 77

Java中级程序员面试题(重点)

Java面试题(网上+经历) 该文档包含了大部分常见的Java中级开发面试题 内容: 1.多线程相关知识 2.springboot框架以及一部分设计模式等等 3.包含一些关于mysql经常问的面试题 4.锁的机制和原理以及使用 5.虚拟机知识和垃圾回收机制 文档字数大约1w字左右(没有水分) 都是干货 感谢各位的支持!

2023-01-16

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

TA关注的人

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