自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 JAVA动态代理(JDK和cglib)

JAVA的动态代理(被代理类必须实现了接口) 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,...

2018-03-31 17:32:54 139

原创 JAVA线程的interrupt

interrupt()只是改变中断状态而已. interrupt()不会中断一个正在运行的线程。这一方法实际上完成的是,给受阻塞的线程抛出一个中断信号,    这样受阻线程就得以退出阻塞的状态。更确切 的说,如果线程被Object.wait, Thread.join和Thread.sleep三种方法之一阻塞,    那么,它将接收到一个中断异常(InterruptedException),从而提早...

2018-03-31 17:32:25 168

原创 JAVA正确地停止一个线程

如何正确停止线程关于如何正确停止线程,这篇文章(how to stop thread)给出了一个很好的答案, 总结起来就下面3点(在停止线程时):1. 使用violate boolean变量来标识线程是否停止2. 停止线程时,需要调用停止线程的interrupt()方法,因为线程有可能在wait()或sleep(), 提高停止线程的即时性3. 对于blocking IO的处理,尽量使用Interr...

2018-03-31 17:32:01 410

原创 为什么线程协作之前必须先获得锁?

为什么Object.wait()/notify()/notifyAll() 之前必须获得锁? 这是JLS的规定。Wait-notify机制是围绕监控器锁进行的,获得锁是很自然的前提,自身没有拿到锁之前,怎么能够尝试去操作靠锁来调控的线程呢?不过今天偶尔有时间,就看下Sun Hotspot是怎么实现这一机制的。当我们执行下面的代码时,线程会抛出异常java.lang.IllegalMonitorSt...

2018-03-31 17:31:32 681

原创 JAVA NIO 之Channel

Channel接口提供缓冲区与实体文件或套接字连接的一个抽象——通道,用于字节缓冲区和位于通道另一侧(通常是一个文件或套接字)之间有效地传输数据。多数情况下,通道与操作系统的文件描述符(File Descriptor)和文件句柄(File Handler)有着一对一的关系。虽然通道比文件描述符更广义,但我们经常使用到的多数通道都是连接到文件描述符的。1.通道基础Channel接口继承关系下面是ch...

2018-03-31 17:29:11 222

转载 JAVA AIO

转载Reactor and Proactor的内容系统I/O 可分为阻塞型, 非阻塞同步型以及非阻塞异步型[1, 2]. 阻塞型I/O意味着控制权只到调用操作结束了才会回到调用者手里. 结果调用者被阻塞了, 这段时间了做不了任何其它事情. 更郁闷的是,在等待IO结果的时间里,调用者所在线程此时无法腾出手来去响应其它的请求,这真是太浪费资源了。拿read()操作来说吧, 调用此函数的代码会一直僵在此...

2018-03-31 17:27:53 701

原创 java io以及unix io模型

这部分的东西在网络编程经常能看到,不过在所有IO处理中都是类似的。IO请求的两个阶段:       等待资源阶段:IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。       使用资源阶段:真正进行数据接收和发生。       举例说就是排队和服务。 在等待资源阶段,IO分为阻塞IO和非阻塞IO。       ...

2018-03-31 17:26:53 201

原创 I/O基本概念

IO相关的内容包含:1.缓冲区操作2.内核空间与用户空间3.虚拟内存4.分页技术5.面向文件的IO和流IO6.多工IO(就绪性选择——IO多路复用)1. 缓冲区进程执行io操作,归结起来,也就是向操作系统发出请求,让它要么把缓冲区里的数据排干,要么用数据把缓冲区填满。进程使用这一机制处理所有数据的操作。io操作过程:用户进程使用read()系统调用,要求其缓冲区被填满,内核即向磁盘控制硬件发出命令...

2018-03-31 17:25:45 15521

原创 文件系统中的逻辑块、物理块和扇区之间的关系

扇区(sector):硬件(磁盘)上的最小的操作单位,是操作系统和块设备(硬件、磁盘)之间传送数据的单位。          block由一个或多个sector组成,文件系统中最小的操作单位;OS的虚拟文件系统从硬件设备上读取一个block,实际为从硬件设备读取一个或多个sector。对于文件管理来说,每个文件对应的多个block可能是不连续的;block最终要映射到sector上,所以block...

2018-03-31 17:23:42 8351

ScreenToGif.exe

ScreenToGif 截屏生成gif,ScreenToGif 截屏生成gif,

2019-12-06

空空如也

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

TA关注的人

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