![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
陈一米八
随便写写
展开
-
【java设计模式】代理模式(结构型模式)
概念理解在程序中,不能或不想直接访问目标对象,这时创建一个代理对象作为访问对象和目标对象之间的中介。代理模式的特点就是控制对象的访问。生活中常见的例子就是翻墙用的各种梯子使用场景远程代理虚拟代理缓冲代理安全代理智能指引延迟加载结构**Subject(抽象主题角色):**定义代理类和真实主题的公共对外方法,也是代理类代理真实主题的方法。**RealSubject(真实主题角色):**真正实现业务逻辑的类。**Proxy(代理主题角色):**用来代理和封装真实主题实例静态代理原创 2020-09-16 16:37:43 · 220 阅读 · 0 评论 -
【java设计模式】模板方法模式(行为型模式)
理解在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。这样的例子在生活中还有很多,例如,一个人每天会起床、吃原创 2020-09-10 10:35:20 · 267 阅读 · 0 评论 -
【java设计模式】观察者模式(行为型模式)
理解生活中有个例子,拍卖师拍卖物品时,会根据最高叫价标价,然后通知其他竞价者。这个例子中竞价者是观察者,拍卖师是被观察者。观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe),定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新使用场景对一个对象状态的更新,需要其他对象同步更新,而且其他对象的数量动态改变。对象仅需要将自己的更新通知给其他对象而不需要知道其他对象的细节。结构UML图来源**Sub原创 2020-09-09 15:27:42 · 267 阅读 · 0 评论 -
Java IO 简单总结
BIO、伪异步IO、NIO、AIO帮助理解的几篇博客用开饭店的例子来简单理解几种IO几种IO的实例代码简单总结BIO(同步阻塞IO)每有一个客户端请求,就要创建一个线程来IO,并且这个线程是阻塞的。伪异步IO在BIO的基础上加个线程池,线程依旧是阻塞的。NIO(非阻塞IO)每有一个客户端请求,就开一个channel(通道),然后会有一个selector(多路复用器)轮询监控每个channel的任务是否就绪,发现就绪就通知程序处理。AIO(异步非阻塞IO,jdk1.7以上)每有一个客户原创 2020-07-26 15:33:24 · 212 阅读 · 0 评论 -
浅谈JAVA垃圾回收
怎样找到垃圾引用计数法为每个创建的对象分配一个引用计数器,用来存储该对象被引用的次数,引用计数为0的对象将被回收。因为这种方案存在无法检测“循环引用”的问题,所以java并没有采用这个算法根搜索算法这种算法的思路是将所有引用对象想象成一棵树,从树的根节点GC roots出发,找出所有连接的树枝对象,其余未连接根节点的对象视为“垃圾”GC ROOTS虚拟机栈(帧栈中的本地变量表)中引用的对象方法区中静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI引用的对象怎样回收垃圾标记清原创 2020-06-29 17:23:55 · 236 阅读 · 0 评论 -
【java设计模式】组合模式(结构型模式)
简单理解组合模式大部分国家的军队都采用层次结构管理。每支部队包括几个师,师由旅构成,旅由团构成,团可以继续划分为排。最后,每个排由一小队实实在在的士兵组成。军事命令由最高层下达,通过每个层级传递,直到每位士兵都知道自己应该服从的命令。组合模式是一种结构型设计模式,你可以使用它将对象组合成树状结构,并且能像使用独立对象一样使用它们。问题如果应用的核心模型能用树状结构表示,在应用中使...原创 2019-11-12 11:55:18 · 386 阅读 · 0 评论 -
【java设计模式】装饰模式(结构型模式)
简单理解装饰模式穿衣服是使用装饰的一个例子。 觉得冷时, 你可以穿一件毛衣。 如果穿毛衣还觉得冷, 你可以再套上一件夹克。 如果遇到下雨, 你还可以再穿一件雨衣。 所有这些衣物都 “扩展” 了你的基本行为, 但它们并不是你的一部分, 如果你不再需要某件衣物, 可以方便地随时脱掉。装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。使...原创 2019-10-19 14:25:59 · 265 阅读 · 0 评论 -
【java设计模式】桥接模式(结构型模式)
简单理解桥接模式在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12 = 36支,但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及到的对象个数仅为 3 + 12 = 15,远小于36,却能实现与36支蜡笔同样的功能。如果增加一种新型号的画笔,并且也需要具有...原创 2019-10-17 23:34:00 · 392 阅读 · 0 评论 -
【java设计模式】适配器模式(结构型模式)
简单理解适配器模式很多智能机都会有一个内存卡卡槽用来扩展内存,有时候我们想从电脑往内存卡里面拉点电影以便出门途中用来打发时间,但电脑不能直接插内存卡,这时候就用到了读卡器,读卡器就是今天要说的适配器。将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。使用场景系统需要使用一些现有的类,而这些类的接口(如方法名)不符合系统的需要...原创 2019-10-10 11:24:02 · 235 阅读 · 0 评论 -
【java设计模式】原型模式(创建型模式)
简单理解原型模式有一天,八戒问悟空,“大师兄,你怎么可以拔一搓猴毛就可以生成无数个一摸一样的你,怎么那么神奇?师兄既然是齐天大圣,我老猪有个问题向请教下,在编程的世界中,我怎么可以实现呢?我想在下次的时候也玩一把,这样我就可以躺着吃喝,不用干活了,哈哈”,“看你着呆子,平时喜欢偷闲,想不到问了偷懒还能想办法,孺子可教也,让师兄给你慢慢道来”原型模式,其实就是克隆一个对象,也是属于创建类型的,比...原创 2019-09-24 17:04:54 · 260 阅读 · 0 评论 -
【java设计模式】建造者模式(创建型模式)
简单理解建造者模式简单地说,就好象我要一座房子住,可是我不知道怎么盖(简单的砌墙,层次较低),也不知道怎么样设计(建几个房间,几个门好看,层次较高),于是我需要找一帮民工(Builder),他们会砌墙,还得找个设计师(Director),他知道怎么设计,我还要确保民工听设计师的领导,而设计师本身也不干活,光是下命令,这里砌一堵墙,这里砌一扇门,这样民工开始建设,最后,我可以向民工要房子了。在...原创 2019-09-17 17:12:23 · 588 阅读 · 0 评论 -
【java设计模式】单例模式(创建型模式)
简单理解单例模式程序员:“单例模式简单来说就是,每次下雨都买把伞太浪费了,不如买把伞放包里,要用就拿出来,省钱。”妹纸:“这样做听起来真是太棒了,那为什么不把所有的东西都做成这样呢?”程序员:“因为这样做也有它的缺陷,比如说妹纸和男朋友一起出门上班,下雨了只有一把伞就不够用道上的黑话叫做共享资源争用,或者线程冲突。”程序员:“因为伞这种东西是不能两个人共用的(黑话叫线程不安全对象),所...原创 2019-08-30 11:56:47 · 252 阅读 · 0 评论 -
【java设计模式】简单工厂、工厂方法、抽象工厂模式(创建型模式)
妹子最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞定,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)“Define an interface for creating an obj...原创 2019-08-29 14:41:45 · 277 阅读 · 0 评论