摘要: 操作系统在处理io的时候,主要有两个阶段: 等待数据传到io设备 io设备将数据复制到user space 我们一般将上述过程简化理解为: 等到数据传到kernel内核space kernel内核区域将数据复制到user space(理解为进程或者线程的缓冲区) 操作系统在处理io的时候,主要有两个 阅读全文
posted @ 2019-07-11 21:05 孙伟业 阅读(17866) 评论(0) 推荐(2) 编辑
摘要: 因为之前一直是用的execute方法,最近有个情况需要用到submit方法,所以研究了下。 他们的区别: 1、execut()可以添加一个Runable任务,submit()不仅可以添加Runable任务还可以添加Callable任务。 2、execut()没有返回值,而submit()在添加Cal 阅读全文
posted @ 2019-07-11 19:09 孙伟业 阅读(8678) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal介绍&跳出误区 ThreadLocal一般称为线程本地变量,它是一种特殊的线程绑定机制,将变量与线程绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内。 跳出误区 需要重点强调的的是,不要拿ThreadLocal和s 阅读全文
posted @ 2019-07-11 17:05 孙伟业 阅读(289) 评论(0) 推荐(0) 编辑
摘要: spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc。 spring mvc 是只是spring 处理web层请求的一个模块。 因此他们的关系大概就是这样: spring mvc < spring <springboot。 阅读全文
posted @ 2019-07-11 16:32 孙伟业 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 偏向锁 Hotspot 的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁。当一个线程访问同步块并获取锁时,会在对象头和栈帧中的锁记录里存储锁偏向的线程 ID,以后该线程在进入和退出同步块时不需要花费 CAS操作来加锁和解 阅读全文
posted @ 2019-07-11 11:43 孙伟业 阅读(4374) 评论(0) 推荐(3) 编辑