- 博客(13)
- 收藏
- 关注
原创 Spring MVC 启动流程分析
提出问题,思考问题,并提出自己的拙见。1、启动根源web.xml的作用是什么? Spring MVC 启动流程先从web.xml 说起,这是 Tomcat 服务器启动时指定加载的配置文件。有兴趣的可以研究Tomcat 源码。2、Servlet 是Java定义的一套处理网络请求的规范,那Servlet 从哪里来?到哪里去?3、Tomcat 捕捉到Http 事件,按Servlet 协议,只能促发方...
2018-03-20 16:39:58 583
原创 ReentrantLock 源码解析
关于如何实现锁,先思考几个问题?1、【锁资源内存访问控制】 多线程竞争的资源,如何保证在同一时刻,只被一个线程拥有,其他线程进入排队队列?2、【等待队列模型】【公平竞争锁】【非公平竞争锁】进入排队的线程,从【等待队列】出来,又是怎样开始获得锁的?此时获取锁,是【等待队列】的所有的线程竞争获取锁还是按照队列的顺序获取【锁】?3、【线程之间的通信】 可重入锁怎样实现这样一个场景?: 线...
2018-03-18 00:21:06 266
原创 Spring 事务管理的实现分析
1、Spring 事务管理实现的基本模型在同一个 connection 里,【开启事务】->【执行method】->【回滚 OR 提交】2、注意点线程安全,每个线程同一个数据源只有一个connection 。当线程在执行一个有事务的方法时,通过数据源去获取connection。仅支持单个数据源的事务控制spring 抽象层 AbsPlatformTransactionManager,通...
2018-03-05 16:52:30 1664
原创 Mybatis 如何与Spring 容器整合在一起的
要想知道Mybatis 如何与Spring 框架整合在一起,首先得思考以下几个问题:1、定义的Mapper接口是怎样被“实现”的?2、Mapper接口是怎么被Spring发现的,又是怎样被注入到Spring Context 里的?3、Spring 是怎样通过接口名称找到实现具体Mapper 接口的代理的?4、这个代理有是怎样找到Mapper的配置文件的?5、找到了配置文件,又是
2018-02-03 16:23:04 2367 2
原创 jvm的线程之间的通信-notify-wait-notifyAll
超类 Object 类 使用 native code 实现的 线程之间的 通信是怎样的?
2017-05-15 21:50:31 523
原创 netty-channel-channelPipeline
ChannelPipeline总体概念:1、继续上篇文章,Channel 的所有的IO事件的结果封装类是 ChannelFuture ,产生结果后,同时会回调 ChannelFutureListener2、产生 ChannelFuture 的源头 定义在 Channel 接口, 具体处理事件的责任 全部 由 ChannelPipeline处理3、ChannelPipeline
2017-05-07 16:47:13 369
原创 源码分析-netty-channel-channelFuture
ChannelFuture The result of an asynchronous {@link Channel} I/O operation. 是异步Channel IO的操作结果。一、异步Channel IO 的2中结果:1、完成 isDone() = true , 有3种状态, (1)成功 isSuccess() = true (2)失败 , 有失败的
2017-05-06 13:09:10 1135
原创 了解 java 虚拟机基础知识
要点:1、内存模型设计不同的模型,方便回收内存,不同的模型,占用内存的生命周期不同,分级处理2、内存回收机制针对不同的内存模型=》采取相应的 内存回收机制 =》因地制宜,分类回收内存模型 一 、每个线程单独拥有的 特点:分配的内存 跟 线程的生命周期一致,线程消亡,所占内存就被回收,占用内存周期短而少,分配内存频率高 (1)虚拟机栈,或 java
2017-05-04 00:17:07 324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人