摘要:
从原理上讲其实Thread.yeild方法其实只是给线程调度机制一个暗示:我的任务处理的差不多了,可以让给相同优先级的线程CPU资源了;不过确实只是一个暗示,没有任何机制保证它的建议将被采纳 阅读全文
摘要:
this指这个对象或当前对象;本身它还可以表示对当前对象的引用 阅读全文
摘要:
JAVA提供了一种内置锁的机制来支持原子性,同步代码块。同步代码块分两部分组成:1)一个是作为锁的对象引用2)由这个锁保护的代码块
注意点:以关键字sync...修饰的方法就是一种横跨整个方法体的同步代码块,其中该同步代码块的锁就是方法调用所在的对象。 阅读全文
摘要:
1.为什么使用MQTT;它的场景大量应用在物联网终端设备上,主要原因是数量很多的终端和服务端的交互成本很高 无法在严重受限的设备硬件和高延迟/带宽有限的网络上;最初的用途是将石油管道上的传感器与卫星相链接。顾名思义,它是一种支持在各方之间异步通信的消息协议
2.MQTT 协议的一个关键特性是发布和订阅模型。与所有消息协议一样,它将数据的发布者与使用者分离 阅读全文
摘要:
JDK中关于观察者模式主要了解俩个概念
Observer观察者
Observable事件源;当事件源发生某事件时,有两个事情需要注意 1.里面有一个isChange属性 当为false时不会发通知给观察者。所以一般先setChange为true,然后注册观察者,再调用notifyObservers方法 通知所有观察者中的update方法 阅读全文
摘要:
此篇文章主要介绍了事件驱动模式的概念及对应的实现,事件驱动模型其实只是一个概念 ,从具体实现的角度讲可以有详细的方案实现,比较常见的比如观察者模式,发布订阅模式,再详细的方案落地话比如我们熟悉的MQ产品,rocketMq rabbitMq都是基于发布订阅的落地 阅读全文
摘要:
通过阻塞队列实现生产者和消费者异步解耦。
它的确是一种实用的设计模式,常用于编写多线程或并发代码。下面是它的一些优点:
它简化的开发,你可以独立地或并发的编写消费者和生产者,它仅仅只需知道共享对象是谁
生产者不需要知道谁是消费者或者有多少消费者,对消费者来说也是一样
生产者和消费者可以以不同的速度执行
分离的消费者和生产者在功能上能写出更简洁、可读、易维护的代码 阅读全文
摘要:
tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。 阅读全文