自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

转载 系统间通信—IO通信模型

Java基础知识:BIO、NIO、AIO三者的技术实现,以及彼此之间的区别 Netty:TCP 程序实现为主     代码的核心:Echo程序模型,通过网络实现一个基础的Echo。 一、BIO模型:同步阻塞IO处理     在程序的开发之中Java里面最小的处理单元就是线程,也就是说每一个线程可以进行IO的处理,在处理之中,该线程无法进行任何的其他操作。     多线程是不可能无限制进行...

2019-01-11 16:55:04 371

原创 总结IO模型

阻塞和非阻塞:这个概念是针对应用程序而言,是指应用程序中的线程在向操作系统发送IO请求后,是否一直等待操作系统的IO响应。如果是,那么就是阻塞式的;如果不是,那么应用程序一般会以轮询的方式以一定周期询问操作系统,直到某次获得了IO响应为止(轮序间隔应用程序线程可以做一些其他工作)。同步和异步:IO操作都是由操作系统进行的(这里的IO操作是个广泛概念了:磁盘IO、网络IO都算),不同的操作系统对...

2018-05-18 14:47:17 109

原创 ThreadLocal概念

维持线程封闭性的一种规范方法是使用ThreadLocal。它提供了set和get等访问方法,这些方法为每个使用该变量的线程都存有一份独立的副本,因此get方法总是返回由当前执行线程在调用set时设置的最新值【注意,变量是保存在线程中的,而不是保存在ThreadLocal变量中】。那么,我们就看看关于这两个方法的JDK源码: public void set(T value) { Th...

2018-04-29 17:55:06 114

原创 volatile关键字

    在Java中,每一个线程都会有自己自由的一块内存空间(工作内存),其中存放着共享内存中被线程使用是变量值的拷贝。当线程执行时,线程先在在自己的工作内存中操作这些变量,在线程执行完毕后再将工作内存中的变量值写回到共享内存中。    一个线程可以执行的操作有:使用(use),赋值(assign),装载(load),存储(store),锁定(lock),解锁(unlock)。    主内存可以执...

2018-04-29 10:21:39 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除