51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#大话设计模式
《图解Java多线程设计模式》之十一:Two-Phase Termination模式
一,Two-PhaseTermination模式翻译过来就是:分两阶段终止二,示例程序publicclassCountupTreadextendsThread{privatelongcounter=0;privatevolatilebooleanshutdownRequested=false;//中止请求publicv...
代码星球
·
2021-01-30
图解Java多线程设计模式
十一
Two-Phase
Termination
模式
《图解Java多线程设计模式》之十:Future模式
一,Future模式假设有一个方法需要花费很长的时间才能获取运行结果。那么,与其一直等待结果,不如先拿一张提货单。获取提货单并不耗费时间。这里提货单就称为Future角色获取Future角色的线程会在稍后使用Future角色来获取运行结果在处理开始时先返回Future角色,等到其他线程出来终止后,在将结果设置到Futu...
代码星球
·
2021-01-30
图解Java多线程设计模式
之十
Future
模式
《图解Java多线程设计模式》之九:Worker Thread模式
一,WorkerThread模式也叫ThreadPool(线程池模式)二,示例程序情景:一个工作车间有多个工人处理请求,客户可以向车间添加请求。请求类:Request定义了请求的信息和处理该请求的方法车间类:Channel定义了车间里的工人,存放请求的容器。接收请求的方法,处理完请求后取出请求的方法客户类:Client...
代码星球
·
2021-01-30
图解Java多线程设计模式
之九
Worker
Thread
模式
《图解Java多线程设计模式》之八:Thread-Per-Message模式
一,Thread-Per-Message模式翻译过来就是每个消息一个线程。message可以理解为命令,请求。为每一个请求新分配一个线程,由这个线程来执行处理。Thread-Per-Message模式中,请求的委托端和请求的执行端是不同的线程,请求的委托端会告诉请求的执行端线程:这项工作就交给你了二,示例程序Host类...
代码星球
·
2021-01-30
图解Java多线程设计模式
之八
Thread-Per-Message
模式
《图解Java多线程设计模式》之七:Read-Write Lock模式
一,Read-WriteLock模式在Read-WriteLock模式中,读取操作和写入操作是分开考虑的。在执行读取操作之前,线程必须获取用于读取的锁。在执行写入操作之前,线程必须获取用于写入的锁。所以:当一个线程在读取时,其他线程可以读取,但是不可以写入。当一个线程正在写入时,其他线程不可以读取或写入。因为执行互斥处...
代码星球
·
2021-01-30
图解Java多线程设计模式
之七
Read-Write
Lock
模式
《图解Java多线程设计模式》之六:Producer-Consumer模式
一,Producer-Consumer模式Producer:生产者的意思,指的是生成数据的线程。Consumer:消费者的意思,指的是使用数据的线程当生产者和消费者以不同的线程运行时,两者之间的处理速度差异就会引起问题。比如,消费者想获取数据,可是数据还没有生成。或者生产者想要交付数据,而消费者的状态还无法接收数据。P...
代码星球
·
2021-01-30
图解Java多线程设计模式
之六
Producer-Consumer
模式
《图解Java多线程设计模式》之五:Balking 模式
一,什么是Balking模式如果现在不合适执行这个操作,或者没必要执行这个操作,就停止处理,直接返回。在Balking模式中,如果守护条件不成立,就立即中断处理。二,例子:定期将当前数据内容写入文件中,比如文本工具的自动保存功能,定期的将数据保存到文件中。当数据内容被写入时,会完全覆盖上次写入的内容,只有最新的内容才会...
代码星球
·
2021-01-30
图解Java多线程设计模式
之五
Balking
模式
《图解Java多线程设计模式》之三:Immutable 模式
一,什么是Immutable模式?immutable就是不变的,不发生改变的。Immutable模式中存在着确保实例状态不发生变化改变的类。这些实例不需要互斥处理。String就是一个Immutable类,String实例所表示的字符串的内容不会变化。二,定义一个使用Immutable模式的类publicfinalcl...
代码星球
·
2021-01-30
图解Java多线程设计模式
之三
Immutable
模式
《图解Java多线程设计模式》之二:Single Thread Execution 模式
一,什么是SingleThreadExecution模式?同一时间内只能让一个线程执行处理二,例子1.不安全的情况用程序模拟三个人频繁地通过一个只允许一个人经过的门。当人通过时,统计人数便会增加,并记录通行者的姓名和地址门:publicclassGate{privateintcounter=0;privateStrin...
代码星球
·
2021-01-30
图解Java多线程设计模式
之二
Single
Thread
Execution
《图解Java多线程设计模式》之一:基础
一,什么是线程?1.java中把正在执行程序的主体称为线程。2.单线程:当我们在阅读程序时,会根据处理流程来阅读,比如:首先执行前面的语句,然后再执行后面的语句,我们试着用笔将执行顺序描画出来,会发现描画出来的是一条弯弯曲曲的长线。这条长线始终是一条,无论调方法还是执行复杂的逻辑,对于这种处理流程始终如一条线的程序,称...
代码星球
·
2021-01-30
图解Java多线程设计模式
之一
基础
Python高手之路【十二】面向对象设计模式
单例模式单例,顾名思义单个实例。classPerson:__instance=Nonedef__init__(self):pass@staticmethoddefgetInstance():ifPerson.__instance:returnPerson.__instanceelse:Person.__instance...
代码星球
·
2021-01-30
Python
高手
之路
十二
面向
8月最新的美团技术四面已拿offer:JVM、多线程、算法、设计模式
美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选.后来让一位大佬帮我改了一下简历,重新投另一个部门,获得了面试机会.话不多说,看核心重点问题吧!!!!美团技术一面20分钟1、自我介绍说了很多遍了,很流畅捡重点介绍完。2、问我数据结构算法好不好挺好的(其实心还是有点虚,不过最近刷了很多题也只能壮着胆子充胖子...
代码星球
·
2021-01-30
8月
新的
美团
技术
四面
用了 Lambda 之后,发现可以忘记设计模式了
设计模式是过去的一些好的经验和套路的总结,但是好的语言特性可以让开发者不去考虑这些设计模式。面向对象常见的设计模式有策略模式、模板方法、观察者模式、责任链模式以及工厂模式,使用Lambda表达式(函数式编程思维)有助于避免面向对象开发中的那些固定代码。下面挑选了策略模式和职责链模式两个案例进行分析。案例1:策略模式&n...
代码星球
·
2021-01-30
用了
Lambda
之后
发现
可以
设计模式之备忘录模式(Memento)详解及代码示例
备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。 备忘录模式能记录一个对象的内部状态,当用户后悔时能撤销当前操作,使数据恢复到它原先的状态。 备忘录模式是一种对象行为型模式,其主要...
代码星球
·
2021-01-24
设计模式
备忘录
模式
Memento
详解
设计模式之访问者模式(Visitor)详解及代码示例
访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。 访问者(Visitor)模式是一种对象行为型模...
代码星球
·
2021-01-24
设计模式
访问者
模式
Visitor
详解
首页
上一页
...
7
8
9
10
11
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他