- 博客(12)
- 收藏
- 关注
原创 Spring源码重头再学习(三)---三级缓存和循环依赖源码阅读分析
看过前两篇文章,并且自己跟过源码的同学, 应该对IOC创建bean的过程至少有了一个了解。 今天我们主要来看看Spring的三级缓存和循环依赖的解决。话不多说,咱们直接看看什么是三级缓存。 这是Spring容器getBean的时候,从缓存中获取bean的方法。这里3个缓存都已经被我圈出来,分别是以下3个map,且一级缓存是ConcurrentHashmap,当然是考虑线程安全。 那么,光这么看,好像也看不出什么名堂,我们要带着问题来看,这3个缓存分别在什么时候被用到,为什么...
2020-09-25 10:22:42
168
原创 Spring源码重头再学习(二)---IOC(下)
废话不多说,直接进入正题看过上一篇文章的同学,应该都知道接下去是要讲什么了没错,就是IOC最重要的一个过程,实例化bean也就是finishBeanFactoryInitialization(beanFactory)这个方法源码中的注释是 Instantiate all remaining (non-lazy-init) singletons.翻译一下就是 : 实例化所有剩余的(非懒加载)单例,很好理解吧好了,我们点进去,开始阅读为了方便大家阅读,我把所有注释都翻译成了中文,
2020-09-24 16:51:56
131
原创 Spring源码重头再学习(一)---IOC(上)
前言: 当初第一次看spring源码的时候,即便有书有教程,依旧看的一头懵逼,即便到现在,也依旧不敢说自己已经精通spring源码了。这一次,我想从头开始细细的重新开始阅读一遍spring的源码,包括IOC,AOP,MVC,及一些常用模块事务、缓存等模块的源码阅读。也希望能给正在学习spring源码的同学们一个参考。now!Let's go! 首先,我会当做大家对于很基础的东西都已经了如指掌,比如IOC的入口在哪,是怎么进入的。第一部分是IOC源码的阅读,我就直接从AbstractAppli..
2020-09-15 13:19:08
220
原创 阿里一面面试记录
面试记录阿里面试一面(pass):这次面试比较突如其来,我压根没准备,因为我本来就没打算换工作好了,进入正题1.最近目前做的工作,负责哪些东西。(因人而异) 然后会根据你做的事展开,这一部分就是做一个初步的了解。会聊的比较宽泛,节奏基本把握在自己这边,一定要说自己做的亮点,遇到的难点,怎么解决的。 我这里涉及到了数据库,orm框架,微服务及相关中间件的问答。2.基础部分 2.1 并发 2.1.1线程池的设计思想。 我答的不太好,我还特地问了一下是要问那些参数的具体意思吗?果然不...
2020-09-11 09:57:46
1289
原创 jackson自定义序列化器
工作中遇到的问题记录当这种默认的jackson序列化满足不了要求的时候ObjectMapper mapper = new ObjectMapper();String string = mapper.writeValueAsString(bean);需要自己定义序列化器实现也很简单public class MySerializer extends JsonSerialize...
2019-11-21 10:06:02
1091
原创 JVM常用参数整理及垃圾收集器整理(保持更新)
-Xms:堆的最小值;-Xmx:堆的最大值;-Xmn:新生代的大小;-XX:NewSize;新生代最小值;-XX:MaxNewSize:新生代最大值;方法区/永久代jdk1.7及以前:-XX:PermSize;-XX:MaxPermSize;jdk1.8以后:-XX:MetaspaceSize; -XX:MaxMetaspaceSize;直接内存-XX:M...
2019-05-13 16:53:45
291
原创 阿里云服务器tomcat启动太慢或访问应用堵塞 解决
之前在阿里云上部了应用,今天访问的时候登陆不进去,像是阻塞了,浏览器一直在转。通过http工具进服务器看了进程也没down,日志也没报错,浏览器请求返回304。一开始我以为是因为这台阿里云服务器内存太小导致,然后我kill掉了所有tomcat进程,打算重启一遍应用。这个时候让人郁闷的事情发生了,所有的应用tomcat启动日志都停在了Root WebApplicationContex...
2018-06-27 11:18:26
7080
4
原创 ImportError: libXext.so.6: cannot open shared object file的解决及更新python后导致yum无法使用的解决
今天更新了服务器上的python之后,想测试一下某个python算法的时候发现报错了。 研究了一下发现操作系统是64位的,然而需要一些32位的包。 于是使用yum install libXext.686来安装,然而没那么顺利。继续报错 是因为安装了新的python之后,导致yum无法使用。vi /usr/bin/yum及/usr/libexec/urlgrabber-ex...
2018-06-26 15:26:14
6581
原创 mysql更换oracle数据库后,报错 from 关键字未找到
需要在datasource配置里面,更改查询验证的值。Mysql <property name="validationQuery" value="select 1"></property>oracle <property name="validationQuery" value="select 1 from dual"
2018-05-23 11:51:17
412
原创 Spring配置多数据源
最近在做项目的时候遇到需要配置多个数据源,就想写篇博客当做笔记,做个总结。首先是配置文件。 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocati
2017-09-14 15:37:52
294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人