自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 队列(二):Deque

看书上讲解OkHttp源码时候,使用到了Deque,看朋友也都在用,这就有必要好好学习一心转自:http://blog.csdn.net/buaaroid/article/details/51315860http://blog.csdn.net/Buaaroid/article/details/51315970说明:一 队列:队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有

2021-02-07 16:51:44 365

原创 队列(一):Queue

在日常生活中,排队几乎随处可见,上地铁要排队,买火车票要排队,就连出门吃个大餐,也要排队。。。之前研究的ArrayList就像是一个缺乏管理的排队系统。大家虽然会排队,但一会走个人,大家向前挪一挪,一会插个人,大家向后挪一挪,碰到这样的队伍,一定让人痛苦万分吧?今天要介绍的Queue就不同了,它是一个严格的排队系统。就像许多火车站排队窗口在两侧加了护栏一样,大家只能从队尾进来,从队首离开,我们称之为FIFO(first in first out),也就是先进来的人先离开。Queue就严格遵循了这个原则,使

2021-02-07 12:00:14 165

原创 栈Stack

转载,详见原文:https://www.cnblogs.com/zhangjinfu/articles/11276479.html在《C语言程序的内存布局(内存模型)》中我们讲到,程序的虚拟地址空间分为多个区域,栈(Stack)是其中地址较高的一个区域。栈(Stack)可以存放函数参数、局部变量、局部数组等作用范围在函数内部的数据,它的用途就是完成函数的调用。栈内存由系统自动分配和释放:发生函数调用时就为函数运行时用到的数据分配内存,函数调用结束后就将之前分配的内存全部销毁。所以局部变量、参数只在当前函

2021-02-06 17:54:04 222

原创 链表LinkedList

作者:Hesse_Huang链接:https://www.jianshu.com/p/b22b95877325概念链表 LinkedList 与 数组 ArrayList 一样是「表」的一种。与数组会占用一块连续内存不同的是,链表的内存占用不一定是连续的。链表由一系列节点 nodes 组成,每一个节点均含有表元素和到包含该元素后继元的节点的链,即「next 链」,这是单向链表。如果还有对前驱元的节点的引用,则为双向链表。下面是我自己实现的双向链表。这里仿照 Swift 对 Array 的实现,给.

2021-02-06 11:00:00 94

原创 线性表ArrayList

前言什么是线性表?跟着我往下看(这里只讲顺序存储方式的线性表):不明白?继续往下看下面开始进入正题:ArrayList就是使用顺序结构线性表,分析学习的最好例子,继承了AbstractList,实现了List。ArrayList在工作中经常用到,所以要弄懂这个类是极其重要的。构造图如下:蓝色线条:继承绿色线条:接口实现正文ArrayList简介ArrayList定义 public class ArrayList<E> extends AbstractList&lt

2021-02-05 14:52:26 264

原创 被公司羞辱,愤然离职!大学毕业后“一百块”的求职生活......

春节,本是家人团聚,阖家欢乐的日子,但由于疫情原因,今年只能待在上海孤身过年了。看着母亲寄来的腊肉干货,心中悲凉之意顿起,想起从参加工作到现在,五年已过,当年青涩懵懂的小年轻,如今出街过市时,被小孩子看到都会喊声“光头强”。回想这五年,有心酸和无奈、有快乐和期待、也有不断的蜕变和成长。趁着节前不是很忙,写下这一路的心路历程,于己,是一个总结和督促,于读者,是一个故事,兼听则明,希望对你们有些许启发,足矣。1. 毕业=失业?有可能的2013年6月底,虽然此前早已被某软(国内最大的软件开发商)的政府事.

2021-02-05 11:08:55 506 7

原创 实战设计模式解耦项目网络层框架

本文已收录至《.NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划》作者:依乐祝原文地址:https://www.cnblogs.com/yilezhu/p/10094357.html写在前面仔细想想我们的这个极简CMS系统,可以说很简单,简单到都无须进行特殊的架构设计,只需按照你所熟悉的编码方式直接进行快速的编码实现即可,如果做得好的话,访问量上来了你再加一个缓存处理完全能够支撑一定的并发!如下图所示:我们前期先进行单体架构的实现,等后期分布式系列实战课程的时候再讲解如何进行分布.

2021-02-04 17:43:27 135

原创 行为型模式(六):访问者模式

访问者模式(Visitor)在现实生活中,有些集合对象中存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据处方单上面的药品名和数量进行划价,药房工作人员根据处方单的内容进行抓药。这样的例子还有很多,例如,电影或电视剧中的人物角色,不同的观众对他们的评价也不同;还有顾客在商场购物时放在“购物车”中的商品,顾客主要关心所

2021-02-04 11:36:31 104 1

原创 行为型模式(五):命令模式

命令模式属于23种设计模式中行为模式中的一个,它也是一种简单实用非常普遍的设计模式。首先看下GOF对命令模式的定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式主要应用于将行为调用者与实现者解耦。比如我们以前惯用的写代码的方式是LogicProcess logic = new LogicProcess(); 然后紧接着调用实现方法logic.process(),这种写法其实非常普遍,但这种写法把行为调用者和行为实现者耦合在了一

2021-02-03 16:42:10 86

原创 中国第一批程序员的“青春饭”已经恰完了,35+的程序员该何去何从?

一、缘起关于35岁程序员“门槛”,“青春饭”诸如此类的话题,为什么从前没有听说过,而这两年突然火了这个话题?而且几乎已经成为行业内公认的“事实”了?因为中国第一批程序员35岁了!!!1999-2000年,两位马爸爸和一位李爸爸创建了如今的互联网三巨头:BAT。因此,我们暂且认为,互联网是在2000年左右兴起,一个行业兴起后,要有几年的时间给大家反应进入这个行业。当初和马爸爸们、李爸爸一起打拼的兄弟们,现在都是各个公司的顶层人物了,这种类型我们就不考虑了。我们假设给普通大众几年的时间接受互联网兴起

2021-02-03 11:40:58 2852

原创 行为型模式(四):责任链模式

一、 什么是责任链模式责任链, 顾名思义是将多个节点通过链条的方式连接起来,每一个节点相当于一个对象,而每一个对象层层相关,直接或者间接引用下一个对象(节点);直到链条中有一个节点处理头节点传下来的事件截止。二、责任链模式使用场景(以下摘自 Android源码设计模式)有一事件,可以被多个对象同时处理,但是由哪个对象处理则在运行时动态决定!在请求处理者不明确时向多个对象中提交一个请求。动态指定一组对象处理请求三、责任链模式UML图责任链模式.png客户端发出请求,调用抽象类Hand

2021-02-02 17:50:30 255

原创 行为型模式(三):观察者模式

小型WEB项目,上传给服务器文件,要显示上传进度,这个模式解决了当时的问题定义:(又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式)。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。用来实作事件处理系统。一个目标的物件(类),管理依赖于它的观察者类,自己状态变化时,主动发出通知。被观察者类(Observable)只关联了Observer列表,状态变化notifyObservers()通知Observer,Observer是什被观察者不需

2021-02-02 11:33:11 95

原创 行为型模式(二):策略模式

策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。下面就以一个示意性的实现讲解策略模式实例的结构。这个模式涉及到三个角色.

2021-02-01 18:24:08 92

原创 行为型模式(一):模板方法模式

在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。这样的例子在生活中还有很多,例如,一个人每天会起床、吃饭、做事

2021-02-01 11:30:02 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除