正文内容加载中...
posted @ 2019-05-01 09:15 jihite 阅读(60) 评论(0) 编辑
摘要: 代理 代理顾名思义:代为处理。不是?#38405;?#26631;对象的直接操作,而是通过代理?#38405;?#26631;对象进行包装,此时可以在目标对象的基础上添加额外的操作?#26376;?#36275;业务需求。图示 分类:动态代理、静态代理。 代理三要素:共同接口、真实对象、代理对象 引入代理的原因: 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对阅读全文
posted @ 2019-04-14 18:24 jihite 阅读(280) 评论(0) 编辑
摘要: try-finally例子 打开文件读取第一行 存在不足 如果底层物理设备异常那么reader.readLine()会异常,同样reader.close()?#19981;?#24322;常。这种情况下,第二个异常会抹掉第一个异常。因第一个异常往往是问题所在,抹掉第一个异常导致调试复杂 代码繁琐 引入try-with-res阅读全文
posted @ 2019-04-07 20:27 jihite 阅读(29) 评论(0) 编辑
摘要: 介绍 ReentrantLock称为重入锁,比内部锁synchonized拥有更强大的功能,它可中断、可定时、设置公平锁 【注】使用ReentrantLock时,一定要?#22836;?#38145;,一般?#22836;?#25918;到finnal里?#30784;?提供以下重要的方法 lock():获得锁,如果锁已被?#21152;茫?#21017;等待 lockInterrupt阅读全文
posted @ 2019-04-02 20:57 jihite 阅读(162) 评论(0) 编辑
摘要: 初心 用interrupt中断程序 初步实现 输出 问题:虽然是被中断状态,但?#23548;?#24182;未中断 interrupt?#24471;?在java中主要有3个相关方法,interrupt(),isInterrupted()和interrupted()。 interrupt(),在一个线程中调用另一个线程的interru阅读全文
posted @ 2019-04-02 18:03 jihite 阅读(53) 评论(0) 编辑
摘要: 序 死锁在平时开发,尤其是多并发编程?#31508;?#35201;避免,不过要自己刻意写个死锁还不一定容易,下面参考别人代码写一个 代码 ?#24471;?o1、o2是static类型属于整个累,所以当定义deadLock1、deadLock2?#31508;?#20844;用o1、o2的 deadLock1设置flag=1,先锁住o1,然后睡800ms,此时阅读全文
posted @ 2019-03-31 22:38 jihite 阅读(51) 评论(0) 编辑
摘要: 介绍 DK1.5之后,提供了读?#27492;鳵eentrantReadWriteLock,读?#27492;?#32500;护了一对锁:一个读锁,一个?#27492;?#36890;过分离读锁和?#27492;?#20351;得并发性相比一般的排他锁有了很大提升。在读多写少的情况下,读?#27492;?#33021;够提供比排他锁更好的并发性和吞吐量。 源码定义 code 测试1 输出 结论:读读共享 测试阅读全文
posted @ 2019-03-31 20:05 jihite 阅读(33) 评论(0) 编辑
摘要: 原理 生产者在仓库没?#26032;?#30340;时候进行生产,满了后等待 消费者在仓库有存货事新型消费,没货是等待 示例 #Phone #Storage ?#24471;鰨?synchonized保证对象只能被一个线程?#21152;?执行wat()后,当前线程处于等待状态,?#22836;?#38145;,让别的线程可以继续执行 执行notify()后,唤醒其他处于w阅读全文
posted @ 2019-03-31 12:27 jihite 阅读(27) 评论(0) 编辑
摘要: 目标 部署一个单节点的ElasticSearch集群 依赖 java环境 安装 下载、解压 配置 config/elasticsearch.yml ?#38382;?#21547;义 cluster.name 用来指定集群的名称。如果不指定,则默认是 elasticsearch。 node.name 用来指定当前节点的名称,阅读全文
posted @ 2019-03-16 10:07 jihite 阅读(112) 评论(0) 编辑
摘要: 需求 github上整个工厂比较大,下起来费劲,如何只下载一个单独的文件件呢? 方法一 以:https://github.com/eugenp/tutorials为例,下载其中的 spring-kafka, 进入目录齐地址为: 转换: 把tree/master 修改为 trunk转化为svn地址,即阅读全文
posted @ 2019-03-09 18:10 jihite 阅读(28) 评论(0) 编辑
耐克篮球多少钱