摘要: 线程池整个体系中涉及到三个和线程有关的接口和一个和线程池有关的接口。 Executor 线程池中最顶层的接口,只有一个方法。execute方法接受Runnable类型的task并在未来的某个时刻执行task,执行task有可能用线程池里的线程也有可能用新建的线程。 方法是execute并非submi 阅读全文
posted @ 2019-06-02 15:42 AshOfTime 阅读(457) 评论(0) 推荐(0) 编辑
摘要: Selector是NIO中的可选择Channel(SelectableChannel)的multiplexor。有两个拗口的概念,首先是SelectableChannel,在NIO里并非所有的Channel都是可选择的,必须继承SelectableChannel的Channel才可以注册到Selec 阅读全文
posted @ 2019-05-27 11:00 AshOfTime 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 分为两部分,首先替换默认数据源为阿里德鲁伊并添加监控,其次是SpringBoot下使用Mybatis 替换数据源为德鲁伊 首先在配置文件里配置好数据库连接的基本信息,如username password url等,重要的是把默认的type换成Druid。这样做数据源已经换成druid了,但是如果想完 阅读全文
posted @ 2019-05-26 16:51 AshOfTime 阅读(1006) 评论(0) 推荐(0) 编辑
摘要: 在SpringBoot中发生了4xx 5xx之类的错误,SpringBoot默认会发一个/error的请求,该请求由BasicErrorController处理,即在SpringBoot中错误处理也是由Controller负责的。该Controller种主要有两个方法,分别用来返回HTML页面和JS 阅读全文
posted @ 2019-05-25 17:02 AshOfTime 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 概述 对于一个请求,可能会需要很多的处理逻辑,如果把所有的处理逻辑都放在一个ChannelHandler中,那么代码会十分的臃肿,因此需要把逻辑放在不同的ChannelHandler中实现面向对象的单一职责原则。Netty使用责任链模式把负责不同逻辑的ChannelHandler组合在一起,Chan 阅读全文
posted @ 2019-05-21 22:57 AshOfTime 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 概述 AQS框架下的锁都是实现Lock接口并实现tryAcquire方法,在tryAcquire方法中对state变量进行修改来改变锁的状态。 重入性。获得锁的线程可以再次获得锁。 公平锁。严格保证先尝试获得锁的线程能够先获得锁。 非公平锁。不能严格保证先尝试获得锁的线程先获得锁。 获得锁 非公平锁 阅读全文
posted @ 2019-05-21 21:42 AshOfTime 阅读(145) 评论(0) 推荐(0) 编辑
摘要: SpringBoot对SpringMVC提供了许多自动配置 Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. Support for serving static resources, includ 阅读全文
posted @ 2019-05-21 21:08 AshOfTime 阅读(465) 评论(0) 推荐(0) 编辑
摘要: Channel可以理解为铁轨,Buffer是铁轨上的火车。铁轨的两端连接这文件描述符或者说文件的缓冲区和程序运行时的内存。借助NIO是一种更加符合OS底层文件系统的调用方式,使用NIO可以用更小的开销实现IO服务。 Channel Channel是一个接口,但是接口里的方法非常的少,只有和打开关闭有 阅读全文
posted @ 2019-05-20 20:42 AshOfTime 阅读(350) 评论(0) 推荐(0) 编辑
摘要: ByteBuf是顶层的抽象类,定义了用于传输数据的ByteBuf需要的方法和属性。 AbstractByteBuf 直接继承ByteBuf,一些公共属性和方法的公共逻辑会在这里定义。例如虽然不同性质的ByteBuf底层实现不同如堆Buffer和直接Buffer,但在进行数据写入的时候都要检查并移动r 阅读全文
posted @ 2019-05-20 17:07 AshOfTime 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 配置文件--读入并转换-->Element--解析-->bdHolder--注册-->BeanDifinition parseBeanDefinitionElement 解析的主要阶段,把Element包含的bean的所有配置信息解析到bdHolder中,具体的解析过程调用了一个重载的parseBe 阅读全文
posted @ 2019-05-20 11:46 AshOfTime 阅读(249) 评论(0) 推荐(0) 编辑