- 博客(22)
- 收藏
- 关注
原创 SpringMVC的三件套分析
在Spring、SpringMVC项目中,我们的web.xml往往长这样:<!-- 第一件套 --><listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><...
2020-04-16 18:26:06
969
原创 为什么有equals()返回true,hashCode()也返回true的规定
首先明确2点:hashCode():返回的是对象的内存地址(散列后的)。不同对象地址一定不同。由"=="负责equals():用于被重写,判断2个对象的值是否相等。默认比较乐观对象hashCode()。如果重写了equals(),那么equals()返回true,代表两个对象值相等,逻辑上代表两个对象是同一逻辑对象。那么两个对象值相等,自然也希望它们 == 也返回true,所以需要...
2020-04-07 11:13:02
1286
原创 Spring的一些源码分析part.2
AnnotationConfigApplicationContextprotected void invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory beanFactory) { PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(be...
2020-03-27 10:18:30
240
原创 Spring的一些源码分析part.1(bean生命周期准备部分)
阶段一:MyTest.java(测试类)// 测试类mian()函数中ApplicationContext context = new AnnotationConfigApplicationContext(Config.class); <— — — — — — 1.进入解释:这里我们使用AnnotationConfigApplicationContext来进行测试,它需要传入...
2020-03-26 23:58:59
695
原创 ThreadPoolExecutor一些源码剖析
先看看ThreadPoolExecutor的类图:红色为比较重要,需要用到的部分来看看重要类的主要成员和方法ThreadPoolExecutor1.成员变量// ctl是一个原子变量,用来记录线程池状态和线程池中线程的个数// 类似于ReentrantLock// 高3位表示线程池状态,低29位表示线程数量⚠️// 默认是RUNNING状态,线程数量为0private fina...
2020-03-26 00:50:32
193
原创 Threadlocal源码一些分析
Threadlocal思想:每个线程里面有一个map,map的键存一个Threadlocal变量,map的值存该Threadlocal所要保存的的该线程下的线程隔离对象。所以对象副本其实是存在于各线程内部,而Threadlocal只是一个工具来完成这一切。先看类图结构:ThreadlocalThreadlocal是裸的,除了Object没有任何父类,没有实现任何接口。1.成员变量// 原...
2020-03-24 19:27:04
166
原创 JDK1.8 HashMap源码详尽剖析
先看类图结构:HashMapHashMap 实现了Map接口,扩展了AbstractMap抽象类1.成员变量// HashMap的默认初始容量,即hash表桶的初始个数,即数组初始长度static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16// HashMap的最大容量,即hash表桶的最大个数,即数组最...
2020-03-24 10:46:52
148
原创 JDK1.7 HashMap源码详尽剖析
先看类图结构:HashMapHashMap 实现了Map接口,扩展了AbstractMap抽象类1.成员变量// HashMap的默认初始容量,即hash表桶的初始个数,即数组初始长度static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16// HashMap的最大容量,即hash表桶的最大个数,即数组...
2020-03-23 23:16:32
142
原创 AQS 和 ReentrantLock的一些详尽分析
AbstractQueuedSynchronizer是实现同步的基础组件,简称AQS,JUC的锁底层就是AQS实现的。ReentrantLock是AQS的一个实现。先看类图结构:ReentrantLockReentrantLock实现了Lock接口1.成员变量很简单,一个Sync类的snyc2.方法3.内部类Sync(成员变量不讨论)Sync继承了AbstractQueued...
2020-03-18 21:51:29
189
原创 实现Iterable接口思路,以及和Iterator的关系
首先看Iterable接口类源码public interface Iterable<T> { Iterator<T> iterator(); default void forEach(Consumer<? super T> action) { Objects.requireNonNull(action); for (T...
2020-03-14 20:15:51
287
原创 Spring源码总结pt3——aop
关键技术:代理所以其实使用aop的时候,已经使用的是target的代理类了,不是target了。❓所以aop的功能也是BeanPostProcessor实现的?答:是的✔️。反正aop是在finishbeanfactoryinitializer()中实现的。是的,后面有解答。BeanPostProcessor实现的aop代理。aspectjSpring就是使用了aspectj的语法风...
2020-03-10 22:13:21
289
原创 Spring源码总结pt2——bean初始化
⚠️这张图估计描述的是finishbeanfactoryinitializer的过程:是的eanPostProcessor(后置处理器)和BeanFactoryPostProcessor(工厂后处理器)区别?先执行BeanFactoryPostProcessor、再执行BeanPostProcessor(废话)BeanFactoryPostProcessor是工厂后,BeanPostPr...
2020-03-10 22:05:19
144
原创 Spring源码pt1——IoC
Spring广义来讲是一个大项目,有framework、boot、cloud、data…狭义讲:是springframework框架,具体如下:注意⚠️如果仅仅开发ioc、aop,那么什么spring-core、spring-aop…都是不需要的。仅仅一个spring-context就够了。2.Spring bean生命周期源码链:MyTestnew AnnotationC...
2020-03-10 22:01:31
246
原创 Spring总结pt6
Spring第10章:Spring + DAO:Spring充当sql异常的翻译官Spring还可以翻译其他orm框架的异常
2020-03-09 12:59:04
153
原创 Spring总结pt5
Spring第8章: @aspectj 和 schema的aop:上一章的Spring aop还是使用比较复杂,现在Spring使用@Aspectj就方便了。Spring aop升级????aspectj也是动态代理技术?不是编译期植入吗?答:是的上一章中,继承StaticMethodMatcherPointcutAdvisor来表示定义切点,实现MethodBeforeAdvice来定...
2020-03-09 12:11:58
191
原创 Spring总结pt4
Spring第7章:Spring Aop:AOP术语joinpoint:执行点 + 方位pointcut:具体连接点advice:功能代码 + 方位aspect ( advisor ) :advice + pointcutaop的实现者aop原理jdk动态代理gclib⚠️都是运行期间织入一些对比:advice增强类型Spring支持红色五种....
2020-03-09 01:16:35
168
原创 Spring总结pt3
Spring第三章:Ioc装配bean:概览基于XML的配置DTD 和 Schema格式;说白了现在都是schemanull:默认空间;xis:标准空间;aop:自定义空间依赖注入属性注入:关注属性命名和setter的关系构造器注入:工厂注入:主要兼顾旧系统; 新开发不建议使用注入的参数字面值:注意特殊字符破坏xml结构,需要特殊转义其他bean:...
2020-03-08 22:56:38
244
原创 Spring总结pt2——Ioc容器
Spring第二章:IoC容器IoC概念:IoC类型:构造器注入属性注入:setter接口注入:通过它接口具有的方法 (setter) 来注入。不常用资源抽象接口原因:jdk不够好地位:资源加载:支持ant风格、按url前缀加载BeanFactorybeanfactory —— applicationContext 关系beanfactory定义:...
2020-03-08 17:26:55
161
原创 Spring总结part1
Spring第一章:简介Spring优点:解耦、aop、声明式事务、集成Spring结构体系:主要5个模块核心包:<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring...
2020-03-08 15:13:34
154
原创 Maven无法引入包
Maven无法引入包,即使打开右边maven栏目有该jar,也无法引入,有红线。原因:可能是因为各种原因(网络…)下载不完整造成的,这时可以打开.m2文件夹去查看该jar是否存在。存在但是不完整的话,那么就彻底删除它,再用idea download sorce一次。多试几次一般都会OK...
2020-02-20 17:43:00
259
原创 ValueError: 'c' argument has 1 elements, which is not acceptable for use with 'x' with size 400, 'y'
吴恩达cs230,deeplearning.ai的Neural Networks and Deep Learning 的Week 3的作业中,数据可视化出现bug。出错代码有两个地方,具体如下:第一处:# Visualize the data:plt.scatter(X[0, :], X[1, :], c=Y, s=40, cmap=plt.cm.Spectral);此处可以这样解决:...
2019-09-10 13:59:59
3317
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人