摘要: 原子性(Atomicity) 原子性,指的是一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程打断。 i++不具有原子性 i++执行是会分为三个阶段,这三个阶段中间都可以被中断分离开. 内存到寄存器 寄存器自增 写回内存 若A、B两个线程通信,必须经过 A线程把 阅读全文
posted @ 2019-11-08 15:55 东邪黄药师 阅读(674) 评论(0) 推荐(0)
摘要: cacheMap定时缓存 /** * 用来存储短暂对象的缓存类,实现Map接口,内部有一个定时器用来清除过期(30秒)的对象。 * 为避免创建过多线程,没有特殊要求请使用getDefault()方法来获取本类的实例。 * * @param <K> * @param <V> */ public cla 阅读全文
posted @ 2019-11-07 17:05 东邪黄药师 阅读(436) 评论(0) 推荐(0)
摘要: 参照 https://www.cnblogs.com/lichmama/p/8976092.html 模型: 事件Event、事件源Source、监听器Listener 事件源注册监听器、事件传入事件源。事件发生,通知监听器,监听器处理 demo: 事件Event: public class Eve 阅读全文
posted @ 2019-11-06 15:12 东邪黄药师 阅读(2055) 评论(0) 推荐(0)
摘要: logg4j.properties 阅读全文
posted @ 2019-11-01 17:06 东邪黄药师 阅读(5070) 评论(0) 推荐(0)
摘要: 放在resource目录下 log4j.properties 结果日志形成 阅读全文
posted @ 2019-10-24 10:46 东邪黄药师 阅读(1424) 评论(0) 推荐(0)
摘要: 由于是网络串口通信,字节传输,所以考虑到各种情况 设置串口的listener 网上很多都是按这种方式读取的,这种方式我感觉会出现很多问题,所以不建议 因为is.available()方法是估值,网络传输不能使用此方法。 目前我使用的是按一个字节读取,直到inputStream.read(byte) 阅读全文
posted @ 2019-10-22 10:48 东邪黄药师 阅读(1011) 评论(0) 推荐(0)
摘要: int read() : 1.从读取流读取的是一个一个字节 2.返回的是字节的(0-255)内的字节值 3.读一个下次就自动到下一个,如果碰到-1说明没有值了. int read(byte[] b) : int len = read(arr);如果文件上有数据返回的就是读到有效的字节个数,如果文件上 阅读全文
posted @ 2019-10-21 18:22 东邪黄药师 阅读(3044) 评论(0) 推荐(0)
摘要: public class App { public static void main(String[] args) { String str = "123\\n456\\n789\\n"; //字符串"123\n456\n789\n" String[] strs = str.split("\\\\n 阅读全文
posted @ 2019-10-21 14:54 东邪黄药师 阅读(3931) 评论(0) 推荐(0)
摘要: 简介: 在redis的使用场景中,有时我们会对redis的键值进行监听,若redis的key过期,需要触发某些事件。 举例: 比如:用户下单成功,若三十分钟未付款,需要做某些事情。 使用前提: redis版本 2.8.0+ 修改redis.conf中的notify-keyspace-events E 阅读全文
posted @ 2019-09-20 16:41 东邪黄药师 阅读(9229) 评论(1) 推荐(2)
摘要: 简介: 指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法 对象具有某种行为,但是在不同的场景中,该行为会有不同的算法实现。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。 组成: 抽象策略角色: 策略类,通常由一个接口或者抽象类实现。 阅读全文
posted @ 2019-08-22 10:41 东邪黄药师 阅读(217) 评论(0) 推荐(0)