摘要:
原码:将最高位作为符号位(以0代表正、1代表负),其余的各位代表本身的绝对值(以二进制表示)。 +7 原码为:00000111-7 原码为:10000111 反码:一个数为正,则它的反码与原码相同;一个数为负,则符号位为1,其余各位是原码取反。(0->1,1->0) +7反码为:00000111-7... 阅读全文
摘要:
从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 强引用本章前文介绍的引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会回收它。... 阅读全文
摘要:
概述 Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 同步和异步区别 : 有无通知(是否轮询)堵塞和非堵塞区别 : 操作结果... 阅读全文
摘要:
传统的并发型服务器设计是利用阻塞型网络I/O 以多线程的模式来实现的,然而由于系统常常在进行网络读写时处于阻塞状态,会大大影响系统的性能;自Java1. 4 开始引入了NIO(新I/O) API,通过使用非阻塞型I/O,实现流畅的网络读写操作,为开发高性能并发型服务器程序提供了一个很好的解决方案,这... 阅读全文
摘要:
Java中的阻塞和非阻塞IO包各自的优劣思考。 NIO 设计背后的基石:反应器模式,用于事件多路分离和分派的体系结构模式。 反应器(Reactor):用于事件多路分离和分派的体系结构模式 通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞与非阻塞 。 所谓阻塞方式的意思是指, 当... 阅读全文
摘要:
//Subject 定义RealSubject和Proxy的共同接口,这样可以在任何使用RealSubject的地方都可以用Proxy。public abstract class Subject { public abstract void request(); } //Rea... 阅读全文
摘要:
2012年,对我来说是欣慰的,虽然也有些不开心的事,至少我能够重新起步,做好我该做的事。 2013年,希望换一份满意的工作,让我的技术更上一层楼。 阅读全文
摘要:
说到ReentrantReadWriteLock,首先要做的是与ReentrantLock划清界限.它和后者都是单独的实现,彼此之间没有继承或实现的关系.然后就是总结这个锁机制的特性了: 重入方面其内部的WriteLock可以获取ReadLock,但是反过来ReadLock想要获得WriteLo... 阅读全文
摘要:
在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在 java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。 ConditionConditio... 阅读全文
摘要:
建造模式 有些情况,一个对象会有一些重要的性质,在它们没有恰当的值之前,对象都不能为一个完整的产品使用。比如一封Email,必须有发件人地址、主题、内容等信息,否则是不能发送出去的。此时,这对象相当于一个有待建造的产品,而对象的性质相当于产品的零件。建造产品的过程就是建造零件的过程,建造者返回给客户... 阅读全文