我们要保证理解wait && notify机制。实现时可以使用Object类提供的wait()方法与notifyAll()方法,但更推荐的方式是使用java.util.concurrent包提供的Lock && Condition。
...
1年前 (2019-12-12) 494℃
1喜欢
如果不能将并发与容量控制都封装在缓冲区中,就只能由消费者与生产者完成。最简单的方案是使用朴素的wait && notify机制。
package com.github.xuchengen.concurrent.impl;
impo...
1年前 (2019-12-12) 506℃
0喜欢
BlockingQueue的写法最简单。核心思想是,把并发和容量控制封装在缓冲区中。而BlockingQueue的性质天生满足这个要求。
package com.github.xuchengen.concurrent.impl;
import c...
1年前 (2019-12-12) 518℃
1喜欢
考查Java的并发编程时,手写“生产者-消费者模型”是一个经典问题。有如下几个考点:
对Java并发模型的理解
对Java并发编程接口的熟练程度
bug free
coding style
JDK版本:oracle java 1.8.0_102
本文主要归纳了4种写法,阅读后...
1年前 (2019-12-12) 645℃
0喜欢
创建型模式
创建型模式,就是创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。关注的是对象的创建,创建型模式将创建对象的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为客户程序仅仅需要去使用对象,而不再关系创建对象过程中的逻辑。...
1年前 (2019-12-09) 601℃
0喜欢
Apache ZooKeeper是Apache软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。
ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一...
1年前 (2019-11-29) 963℃
7喜欢
作为一名Java开发者,拥有扎实的Java基础才能立于不败之地,比如面试或者被面试等等情况。在某些情况下Java的语法极具迷惑性也就是所谓的“坑”比如finally和return语句最终返回谁的结果?,那么本篇将总结一下Java中finally和return的优先级。
代码
...
1年前 (2019-11-04) 574℃
1喜欢
仿照未必是一件坏事,先要学会仿照,接着理解他,吃透他,等你懂了一定原理后,发现以前的东西不怎么够好,需要改进,那么通过你的改进,使你的软件用户体验更好,我想这应该就是微创新吧。
这个例子的源码是CSDN的一位开发者所分享且一直珍藏在我的浏览器收藏夹多年,由于历史原因现在CSDN已...
1年前 (2019-10-30) 543℃
1喜欢
Java中有八种基本数据类型,分别为:byte、short、int、long、float、double、char、boolean。
这八种基本类型都有对应的包装类,分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean...
1年前 (2019-10-29) 895℃
1喜欢
最近把Mac升级到最新10.15版本导致SVN或GIT导项目时报错具体报错如下:
Git doesn't work on MacOS Catalina: “xcrun: error: invalid active developer
path (/L...
2年前 (2019-10-11) 1184℃
1喜欢