前言 当Servlet接收到请求后会最终调用doDispatch方法后会去找到对应的HandlerMapping,同时也会找到配置的拦截器,最终组成需要的HandlerExe...
前言 当Servlet接收到请求后会最终调用doDispatch方法后会去找到对应的HandlerMapping,同时也会找到配置的拦截器,最终组成需要的HandlerExe...
上篇文章《SpringMVC详解-怎么接收请求[https://mp.weixin.qq.com/s?__biz=MzI5NzM2Mjk3MA==&mid=224748442...
在学习springmvc怎么接收请求前,我们需要先讲一讲servlet。它其实java提供的一个Web组件。而我们比较熟知的Tomcat容器就是一种Servlet容器的实现,...
1 GC垃圾回收的原理 其实垃圾回收的原理很简单:就是判断出死亡的对象,然后清除死亡的,留下存活的即可。那么怎么判断对象已经死亡呢?常有的有以下两种:1)****引用计数法(...
1 什么是ThreadLocal ThreadLocal是什么呢?在实际开发中经常被用来绑定用户信息、日志号。数据库连接等等。这样一来,我们编码时就不用通过传递参数方式而影响...
今天我们来学习可重入排他锁,它同样是JUC包下使用AQS同步框架来实现的,因此代码比较简洁,只要了解了AQS的原理那么就会觉得it is so easy。 1 怎么理解可重入...
在有些情况下,由于资源的限制,程序无法支持无限量的线程并发,因此引入信号量(Semaphore),只有获取信号量凭证的线程才允许执行。 1用购票理解信号量(Semaphore...
1 引言 上篇文章讲述了java AQS结构以及其中排他API的 实现逻辑。而这一篇我们来看看其共享逻辑, 这里依旧使用上文的火车买票为例,便于理解。这里直接会从代码实现讲起...
引言 AQS(AbstractQueuedSynchronizer,下文直接使用AQS的简称)是java JUC包下提供的,基于FIFO队列,可以用于构建锁或者其他相关同步装...
线程的创建和销毁是比较费时的,所以我们会通过使用线程池来复用线程,降低资源消耗,提高响应。同时使用线程池可以避免无限制的创建线程,防止耗尽计算机资源。(以下用租车为例,来模拟...
01 原理 LinkedList底层采用双向链表实现。与ArrayList不同,链表不需要扩容,除此之外还会有以下特点。 02 特点 非连续的内存,因此不支持随机访问,只能通...
01 原理 ArrayList底层采用数组实现,具有也具有数组的优缺点,同时支持动态扩容(扩展为原来的1.5倍)。所以它非常适合需要使用索引快速访问的场景。同时由于其自...
作者桦泽紫苑,日本神经科名医,时间管理教练,作家。 著有《为什么精英都是时间控》和《过目不忘的读书法》,均入围日本年度商务类书籍排行榜。 《为什么精英这样用脑不...
认识知识 知识的层次:1.底层知识,从外界直接获取的知识。2.加工知识,融入自己的思考。3.体系知识,将某个相同方面的加工知识整合,或者组合成体系。 有效摄入知识:同层次的知...
a.为什么说看清自己很难? 思维切面。人在审视自身时,看到的是自己的某一个切面,并不是自身的全部维度。人的情绪会影响自我审视的结果。 预设立场。当人预设立场之后,往往之后的行...