- 博客(16)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 @RequestMapping注解和Controller方法建立映射的流程
当你的才华还撑不起你的野心的时候,唯有静下心来学习。 有没有想过,为什么在controller类的方法上,添加一个@RequestMapping("/toIndex")注解的时候,从浏览器的输入localhost:8080/toIndex请求就可以到达指定的controller方法呢?大致实现原理 大致实现原理,可以简单来说,稍后会进行源
2020-09-14 22:53:32 691
原创 Spring源码篇二之什么是BeanDefinition和注册Bean的流程
当你的才华还撑不起你的野心的时候,唯有静下心来学习。BeanDefintion对象是什么 那么BeanDefinition对象具体是个什么呢?简单来说,在开发中是不管基于xml文件方式,还是基于注解类方式。把他们直接交给spring容器,spring容器是处理不了的,所以spring提供了一个BeanDefinition的对象来进行统一处理,不管是xml还是注解文件等,都给解析为对应的BeanDefinition的对象来
2020-09-02 23:21:46 703
原创 Spring源码篇一之beanFactory的真身和6大后置处理器的注册
当你的才华还撑不起你的野心的时候,唯有静下心来学习。1. 简介在研究spring源码之前,首先要确保自身有使用过spring框架开发过项目,有一定的基础知识,比如知道什么是beanFactory、Ioc、依赖注入等,并且简单知道原理最好。由于spring源码体系庞大,无法做到涉及到每一个方面细节,只能讲解他的核心功能,一个章节也无法全部概述,可能会分多个章节。在读spring源码的过程中,如果只是单纯的看并不会有太大的收获,还是需要自己手动调式源码。本章是基于注解方式(AnnotationConfig
2020-07-01 14:14:41 343
原创 工作中遇到的数据库死锁问题 - 排查方案 CannotAcquireLockException
问题·重现正常情况下,销售人员在使用我们的销售系统为客户创建订单时候,后台java代码就会开启事务,然后往数据库中添加订单信息和订单详情信息,以及一些其他业务操作。但由于某次异常操作(可能是网络或者其他的原因),导出系统出现问题无法工作。于是进行代码调试,发现在向数据库中插入数据的时候,一直卡在添加数据这个方法上,等待了很长一段时间,一直无法响应。在经过一段时间后,通过try…catch…捕获了 org.springframework.dao.CannotAcquireLockException异常,如
2020-05-25 18:28:56 10310 1
原创 [开源] 自动同步和保存你的 Stable Diffusion 作品
最近一直在使用 Stable Diffusion 工具进行创作,每当我想要找到回之前生成的某张图片时进行参考时,却发现之前的参数都无法找到。为了解决这个问题,我开发了一款全新的插件,专门用于自动同步和保存您的 Stable Diffusion 创作。
2024-07-23 07:30:00 503
原创 一文搞定线程池的工作原理
线程是比较稀缺的资源,在应用程序中大量的创建和销毁线程是非常消耗资源的,在并发的情况下对性能由很大的影响。而使用线程池则可以减少创建和销毁线程的次数,对每个线程可以进行复用,提供使用效率,减少资源的消耗。1. 线程池的创建public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
2021-04-12 20:18:39 747
原创 漫画~看的懂的AVL树
首先定义AVL树的Node节点属性。public class Node<T> { T val; // 值 int height = 1; // 当前节点的高度 Node<T> left; // 左子树 Node<T> right; // 右子树 Node<T> parent; // 维护父节点,方便操作 ...
2021-04-06 20:50:34 224
原创 扒一扒Synchronized的“底裤”一
在提到synchronized关键字的时候,可能第一反应就是性能慢,效率低。但是在JDK1.6后,synchronized只想说冤枉呀! synchronized在JDK 1.6之前是基于Monitor来进行实现的,Monitor底层又依赖于操作系统的Mutex Lock (互斥锁,借助pthread_mutex_lock函数进行实现) .
2021-04-02 09:47:05 189
原创 你心里有没有点B树?
1. 概念 B树,是一种多路平衡搜索树,多用于文件系统、数据库的实现。B树中所有节点拥有的子节点数(指针数)的最大值称为B树的阶。2. B树的特点 B树有以下特点: 1. 每
2020-09-03 22:32:54 489
原创 Redis的简单实现之数据库——Java
redis是一个键值对的数据库服务器,本节将对redis的数据库实现进行简单介绍,并用java于语言进行简单翻译。说明服务器保存数据的方法,客户端切换数据库的方法,以及数据的添加、删除、更新、查询等操作。1、服务器中的数据库结构redis服务器将所有的数据库的数据状态保存在redisServer类中,其中dbnum属性表示数据库的数量(默认为16,改属性可配置redis.conf),每一个db...
2020-04-13 13:40:35 343
原创 一个最简单的RPC实现及其原理
需要具备的知识点 1. Java的网络通信Socket和IO,忘记的赶紧去百度一个基于Socket的聊天的Demo,就差不多了。为什么要学习Socket和IO呢?因为很大部分RPC框架底层就是基于Socke进行通信的,所以他是必不可少的知识点;  ...
2020-01-27 20:42:30 1359
原创 Redis的字符串数据类型底层实现原理
简单动态字符串(Simple Dynamic String, SDS)什么是SDS?功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与...
2019-11-05 18:15:19 962
原创 在angularjs代码里调用外部js文件的函数时,报出函数未定义异常,解决方案!
在做项目的时候用到了angularjs框架,其中在menuController代码块中调用jquery封装好的js(js/jqeury.ztree.core.js)函数报出了,函数未定义异常。如图所示:解决方法为: 把你需要在angularjs中调用的js函数文件放在,引入angular.min.js的的完美解决。...
2019-08-29 15:23:07 857
原创 了解redis的单线程模型工作原理?一篇文章就够了
1、首先redis是单线程的,为什么redis会是单线程的呢?从redis的性能上进行考虑,单线程避免了上下文频繁切换问题,效率高;从redis的内部结构原理进行考虑,redis是基于Reactor模式开发了自己的网络事件处理器: 这个处理器被称为文件事件处理器(file event handler)。而这个文件事件处理器是单线程的,所以redis才是单线程模型,因此redis是单线程的。...
2019-06-15 19:38:51 11203 8
原创 使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement问题
1、简介第一次使用IDEA的maven搭建java web项目,和eclipse比感觉有点头疼,头次感觉eclipse比IDEA好用,可能是没有用习惯的缘故吧!好了我来说一下我在搭建Spring和Mybatis整合遇到的坑,最后经过多方搜索和对比解决了问题。2、细节问题在网上找了很多的细节问题(如下,摘自https://blog.csdn.net/sundacheng1989/article...
2019-03-13 11:25:47 556
idea使用gradle编译spring源码不超过,求解决方案
2020-05-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人