自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadLocal内存泄漏问题解析

关于内存泄漏这个问题需要从ThreadLocal的设计开始讲起1. ThreadLocal对于脏entry的定义及处理下面是remove方法private void remove(ThreadLocal<?> key) { Entry[] tab = table; int len = tab.length; int i = key.threadLocalHashCode & (len-1);

2021-08-30 17:21:50 136

原创 Spring Bean实例化原理

SpringIoc流程解析:以AnnotationConfigApplicationContext为例,AnnotationConfigApplicationContext的构造方法做了三件事:public AnnotationConfigApplicationContext(Class<?>... annotatedClasses) { //调用父类构造方法初始化读取器和扫描...

2019-10-11 22:16:14 306

原创 HashMap面试题精简

1. get方法流程调用key的hashCode方法拿到hash值用hash值与数组长度取模获得数组下标遍历对应下标数组下链表,并与key做equls匹配成功返回value2.get方法时间复杂度根据get方法流程来看,只有第三步遍历链表对时间复杂度有影响,所有只有在链表长度为一时,hashmap的时间复杂度才为最好的O(1)...

2019-08-20 16:56:50 235

原创 Mysql手写脚本实现插入百万级随机测试数据

要实现插入百万级随机数据需要依赖mysql的函数和存储过程下面先讲讲函数和存储的区别:标识符不同函数必须要有返回值,而过程没有返回值过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除在select中,必须将返回值赋给变量函数可以在select语句中直接使用,而过程不能,函数是使用select调用,过程使用call调用一. 新建两张表:#员工表create ...

2019-08-14 23:40:47 975

原创 Mybatis手写一个分页插件

给数据库中查询出的数据做分页有两种方式:物理分页:以mysql为例,使用limit对查询结果进行限制逻辑分页:对查询结果进行处理达到分页的目的,但是可能需要查询出多余的数据,降低了性能写之前先简单分析一下插件的原理:插件的基本原理是使用Mybatis提供的插件接口,拦截方法中拦截Mybatis四大对象中方法(对这个四个对象不熟悉的可以参考这篇文章Mybatis执行查询SQL过程分析):...

2019-08-09 23:36:38 517

原创 Mybatis常见面试题

1. 什么是Mybatis?Mybatis是半自动化ORM框架,开发者只需要注重sql语句编写,灵活度高,而且无需关心创建加载驱动、创建连接、创建statement等繁琐的过程Mybatis可以使用注解或者XML方式来配置或映射原生信息,将POJO映射成数据库中的代码,避免了几乎所有的JDBC代码和手动设置参数和结果集2. Myatis的优点sql写在xml,与java代码解耦而且...

2019-08-09 21:56:08 306

原创 Mybatis执行查询SQL过程分析

一· 根据配置文件创建SqlSessionFactorySqlSessionFactory factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatisConfig/mybatis-config.xml"));主要工作:创建parser解析器,解析配置文件中的每个标签并保存在Co...

2019-08-06 22:53:46 460

原创 Springsceurity使用TokenEnhancer和JwtAccessConverter增强jwt令牌原理

什么是JWTJSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,用于在各方之间作为JSON对象安全地传输信息。(更多信息建议去官网了解)使用JWT替换传统Token有很多好处,比如:简洁(Compact): 可以通过URL,POST参数或者在HTTP header发送,因为数据量小,传输速度也很快自包含(Self-contained):...

2019-07-09 22:19:32 16324 2

原创 关于@autowired无法注入spring组件问题总结

总结了一下,大概有这几个原因,欢迎补充1.导包不正确2.扫包范围不正确(比如没在启动类相同包下,所有要加入扫包范围,可以查看我这篇文章https://blog.csdn.net/qq_42654484/article/details/92847089)3.组件没有加入springs容器中(也就是没有加上@Component@Service这些注解)4.idea工具问题,报错但是不影响运行,...

2019-06-19 21:42:49 805

原创 springboot多模块项目不同模块组件不能@autowired问题

maven-springboot多模块项目不同模块组件不能@autowired解决方案:在启动类上加上扫包范围:@SpringBootApplication(scanBasePackages = "com.tucker")public class SecurityBrowserApplication { public static void main(String[] args)...

2019-06-19 21:22:21 6956 2

原创 Springboot2.0以上版本配置RedisCacheManage

先看Springboot1.5的配置方法@Configurationpublic class MyRedisConfig { @Bean public RedisTemplate<Object, Object> RedisTemplate( RedisConnectionFactory redisConnectionFactory) ...

2019-04-25 14:04:17 1366

原创 springboot整合druid数据源并开启druid后台监控(纯yml配置)

springboot整合druid数据源并开启druid后台监控(纯yml配置)引入依赖(注意版本问题,druid-spring-boot-starter:1.1.10(也只有这个版本开始才有类似spring.datasource.druid.web-stat-filter这样的配置),建议用1.1.10版本):<dependency> <group...

2019-04-21 10:58:45 5742 4

原创 从零开始搭建自己的网站---2(项目打包及发布)

上一篇介绍了云服务器的环境搭建(从零开始搭建自己的网站—1(云服务器环境搭建)),这一篇就写一写项目打包发布和遇到的bug及解决方案,当然还有自己的心得(

2019-04-14 11:43:46 2297 5

原创 Springboot中yml配置文件读取为null的解决办法

1.检查@ConfigurationProperties(prefix = “pojo”)是否正确2.yml格式会根据空格来判定树。所以一个独立的配置项,必须紧紧贴着左边框,不能有空格。写法如下:...

2019-04-13 20:01:18 5301 1

原创 从零开始搭建自己的网站---1(云服务器环境搭建)

从零开始搭建自己的网站—1(云服务器环境搭建)​ 序言(尼萌阔以跳过这个并没有什么用序言,虽然不看我也不会伤心

2019-04-11 20:49:55 13003 4

原创 mybatis逆向工程运行成功却没有生成相应的文件和包

**mybatis逆向工程运行成功却没有生成相应的文件和包**小白的第一篇博客,记录初学mybatis遇到的错误QAQ,如题的错误有如下解决办法:1.mac下生成文件的路径是./src ,windows是.\src2. 连接的数据库中是否有对应的表,因为逆向工程是在表中生成属性3. 记得Refresh目录...

2019-03-03 17:18:44 3467 5

空空如也

空空如也

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

TA关注的人

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