自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星是河的眼的博客

想走技术流

  • 博客(116)
  • 收藏
  • 关注

原创 git学习及git命令

git时光机git是分布式版本控制系统,通过git可以快速回到某个版本.git操作流程首先创建版本库(仓库),进入某个目录,输入命令:git init,这个目录就变为gi可以管理的仓库.把文件从工作区添加到暂存区,命令为:git add 文件名把暂存区里的文件一次性提交到当前分支,命令为:git commit -m “说明”这样就完成了一次版本修改,如果文件在工作区发现错误,可以使用git checkout – file命令撤销修改,如果在暂存区发现错误,可以使用git reset HEAD

2021-09-03 20:53:19 316

原创 微信主动发送消息

首先,对于自定义时间的需求没有完成的原因是没有找到可以动态配置的定时任务设置方法,对于已点餐和未点餐用户的无法区分的原因在于自己的系统数据和微信的用户数据没有关联起来。微信定时发送消息,首先想到的是手动群发,但是一来是手动的,二来有限制,模板消息群发限制也不少,最后决定用客服消息,定时框架用Quartz。没有达到实现目标,实现目标是根据不同公司的自定义要求,在指定时间推送给该公司所有未点餐的用户,已点餐用户不会接受到。需求中有说明对于不同分组的用户其获得消息的时间是不同的,这样一来只写一个调度器。

2022-12-10 16:59:03 416

原创 百度地图开发

vue-element-admin以及vue整合后的百度地图api结合实现地图开发登录解析。

2022-12-10 16:58:33 418

原创 小程序开发

微信开发人员把这些东西做了封装,在微信中是WXML+WXSS+TS,与上面的相对应,微信中还有一种文件,JSON文件,用来做配置。JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色。做微信开发的时候,把微信当作浏览器就好,但是微信这种”浏览器“检查的比较严,必须有资格认证才能使用,资格的获取就是申请小程序账号。申请很麻烦,如果是用来学习的话,直接申请一个测试号就可以了。我们下载好这个工具就可以创建项目了,当然创建项目是需要我们申请的账号的appid的。

2022-11-29 21:04:32 33

原创 node.js和npm

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。也可以片面地理解,把浏览器运行 JavaScript 代码的功能单独拎了出来,它就成了 Node.js。NPM是随同Node.JS一起安装的包管理工具,通过命令从NPM服务器下载别人编写的第三方包到本地使用。Node.js 就是运行在服务端的 JavaScript。npm install nrm -g 换源下载。

2022-09-13 11:51:36 104

原创 HbuilderX+Android studio做原生安卓应用

自己做Android时的心得

2022-09-01 01:08:29 961

原创 IDEA中打war包操作

本文是在学习servlet和jsp时出现了这个问题,在开发时通过如下操作完成开发环境的配置:1.File->New Project选择Web Application然后填写好路径和项目名称,点击确定。2.先看一下刚创建好的项目的目录结构3.在WEB-INF目录下右键选择NEW->Directory,创建class和lib两个目录。WEB-INF/class:用来存放编译后的java文件。WEB-INF/lib:用来存放java类库文件(.jar)...

2022-08-26 19:40:59 2386

原创 mysql相关问题

无法远程控制问题的解决

2022-05-10 15:44:19 206

原创 GoF总结-24(解释器模式)

1. 概念给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解释器来解释语言中的句子.也就是说,用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口,该接口解释一个特定的上下文。是一种类行为型模式。2. 优点扩展性好。由于在解释器模式中使用类来表示语言的文法规则,因此可以通过继承等机制来改变或扩展文法。容易实现。在语法树中的每个表达式节点都是相似的,所以实现其文法较为容易。3. 缺点执行效率较低。解释器模式中通常使用大量的循环和递归调用,当要解释的句子较为复杂时

2022-04-07 16:57:59 33

原创 GoF总结-23(备忘录模式)

1. 概念在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式,是一种对象行为型模式。2. 优点提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。实现了内部状态的封装。出来创建它的发起人之外,其他对象都不能够访问这些状态信息。简化了发起人类。发起人不需要管理和保存其内部状态的各个备份,所有状态信息都保存在备忘录中,并由管理者进行管理,这符合单一职责原则。3. 缺点资

2022-04-07 16:13:19 35

原创 GoF总结-22(访问者模式)

1. 概念将作用于某种数据结构的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供访问方式。它将数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。2. 优点扩展性好。能够在不修改对象结构中元素的情况下,为对象结构中的元素添加新的功能。复用性好。可以通过访问者来定义整个对象结构通用的功能,从而提高系统的复用成都。灵活性好。访问者模式将数据结构与作用于数据结构上的操作解耦,使得操作集合可相对自由地演化而不影响系统的

2022-04-07 00:10:04 46

原创 GoF总结-21(迭代器模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式。2. 优点访问一个聚合对象的内容而无须暴露它的内部表示。遍历任务交由迭代器完成,这简化了聚合类。它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新的遍历。增加新的聚合类和迭代器都很方便,无须修改原有代码。封装性良好,为遍历不同的聚合结构提供一个统一接口。3. 缺点增加了类的个数,

2022-04-06 23:09:36 25

原创 GoF总结-20(中介者模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念定义一个中介对象来封装一系列对象之间的交互,使原有对象之间耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。中介者模式是一种对象行为型模式。2. 优点类之间各司其职,符合迪米特法则。降低了对象之间的耦合性,使得对象易于独立地被复用。将对象间的一对多关联转变为一对一的关联,提高系统的灵活性,使得系统易于维护和扩展。3. 缺点中介者模式将原本多个对象直接的相互依

2022-04-06 16:07:32 118

原创 GoF总结-19(观察者模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。2. 优点降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。目标与观察者之间建立了一套触发机制。3. 缺点目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。当观察者对象很多时,通知的发布会

2022-04-06 15:12:40 31

原创 GoF总结-18(状态模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念对有状态的对象,把复杂的"判断逻辑"提取到不同的状态对象中,允许状态对象在其内部发生改变时改变其行为。状态模式是一种对象行为型模式。2. 优点结构清晰,状态模式将于特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足"单一职责原则"。将状态转换显示化,减少对象间的相互依赖。将不同的状态引入独立的对象中会使得状态转换变得更加明确,且减少对象间的相互依赖。状态类职责明确,有利于程序的扩展。

2022-04-06 14:31:23 91

原创 GoF总结-17(责任链模式)

1. 概念为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。责任链模式也叫职责链模式。在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,请求会自动进行传递。所以责任链将请求的发送者和请求的处理者解耦了。责任链是一种对象行为型模式。2. 优点降低了对象之间的耦合度。该模式使得一个对象无须知道到底是哪一个对象处理其请求以及链的结构,发送者和接收者也

2022-04-05 23:14:00 43

原创 GoF总结-16(命令模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分隔开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。2. 优点通过引入中间件(抽象接口)降低系统的耦合度。扩展性良好,增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类,且满足开闭原则。可以实现宏命令。命令模式可以与组合模式结合,将多个命令装配成一个组合命令,即宏命令。方便实现Undo和Red

2022-04-05 17:54:08 491

原创 GoF总结-15(策略模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的用户 。策略模式属于对象行为型模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。2. 优点多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句,如if…else语句、switch…case语句。策略模式提供了一系列的可供重用的算法族,恰当使用继承可以把算

2022-04-05 16:14:34 49

原创 GoF总结-14(模板方法模式)

文章目录1. 概念2. 优点3. 缺点4. 结构于实现4.1 结构4.2 实现1. 概念定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式2. 优点它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展。它在父类中提取了公共的部分代码,便于代码复用。部分方法是由子类实现的,因此子类可以通过扩展方式增加相应的功能,符合开闭原则。3.

2022-04-05 15:10:00 130

原创 GoF总结-13(组合模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.1.1 透明方式4.1.2 安全方式4.2 实现4.2.1 透明方式4.2.2 安全方式1. 概念有时又叫做整体-部分模式,它是一种将对象组合成树状的层次结构模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。组合模式一般用来描述整体与部分的关系,它将对象组织到树形结构中,顶层的节点被称为根节点,根节点下面可以包含树枝节点和叶子节点,树枝节点下面又可以包含树枝节点和叶子节点,树形结构图

2022-04-05 00:17:09 40

原创 GoF总结-12(享元模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构实现1. 概念运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。2. 优点相同对象只要保存一份,这降低了系统中对象的数量,从而降低了系统中细粒度对象给内存带来的压力。3. 缺点为了使对象可以共享,需要将一些不能共享的状态外部化,这将增加程序的复杂性。读取享元模式的外部状态会使得运行时间稍微边长。4. 结构与实现享元模式的定义

2022-04-04 21:42:59 302

原创 GoF总结-11(外观模式)

文章目录1. 概念2. 优点3. 缺点4. 结构和实现4.1 结构4.2 实现1. 概念外观模式又叫做门面模式,是一种通过为多个复杂度的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。2. 优点外观模式是迪米特法则的典型应用,主要优点如下:降低了子系统与客户端之间的耦合度,使得子系统的变化不会影响调用它的客户类。对客户屏蔽了子系统组件,减少了客户处理的对象数目

2022-04-04 20:15:00 161

原创 GoF总结-10(装饰器模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。2. 优点装饰器是继承的有力补充,比继承灵活,在不改变原有对象的情况下,动态的给一个对象扩展功能,即插即用。通过使用不同装饰类及这些装饰类的排列组合,可以实现不同效果装饰器模式完全遵守开闭原则3. 缺点装饰器模式会增加许多子类,过度使用会增加程序的复杂性。4. 结构与实现通常情况下,扩展一个

2022-04-04 18:36:51 451

原创 GoF总结-9(桥接模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现1. 概念将抽象与实现分离,使它们可以独立变化.它是用组合关系代替继承关系来实现,从而降低了抽象和实现这连个可变维度的耦合度。桥接模式遵循了里氏替换原则和依赖倒置原则,最终实现了开闭原则,对修改关闭,对扩展开放。2. 优点抽象与实现分离,扩展能力强符合开闭原则符合合成复用原则其实现细节对客户透明3. 缺点由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这

2022-04-04 15:27:07 429

原创 GoF总结-8(适配器模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现4.2.1 类适配器模式4.2.2 对象适配器模式1. 概念将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构性模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有的组件库中的相关组建的内部结构,所以应用相对较少些。2. 优点客户端通过适配器可以透明地调用目标接口。复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。

2022-04-04 00:28:47 116

原创 GoF总结-7(代理模式)

文章目录1. 概念2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现5. ps5.1 静态代理和动态代理5.2 动态代理5.2.1 JDK动态代理5.2.2 CGLIB动态代理1. 概念由于某些原因需要给某对象提供一个代理以控制该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。2. 优点代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用代理对象可以扩展目标对象的功能代理模式能将

2022-04-02 21:36:20 386

原创 selenium自动化测试

import timefrom selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.support import waitfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as ECclass BuyTicke

2022-04-01 18:04:49 833

原创 GoF总结-6(建造者模式)

文章目录1. 概述2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现4.3 ps1. 概述指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。2. 优点封装性好,构建和表示分离扩展性好,各个具体的建造者相互独立,有利于系统的解耦客户端不必知道产品内部组成的细节,建造者可以对创建过程逐步细化,而不

2022-03-30 21:33:41 171

原创 GoF总结-5(抽象工厂模式)

文章目录1. 概述2. 特点3. 优点4. 缺点5. 结构与实现5.1 结构5.2 实现5.3 ps1. 概述是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。ps:将同一个具体工厂所生产的位于不同等级的一组产品称为一个产品族2. 特点抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个产品,而抽象工厂模式可以生产多个产品。使用抽象工厂模式一般要满足以下条件:系统中有多个产品族,每个具体工厂创建同一族但属于

2022-03-30 20:39:21 38

原创 Gof总结-4(工厂方法模式)

文章目录1. 概述2. 优点3. 缺点4. 应用场景5. 结构与实现5.1 结构5.2 实现1. 概述工厂模式定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。按实际业务场景划分,工厂模式有3种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫做“简单工厂模式”,简单理解就是一个工

2022-03-30 17:35:14 35

原创 GoF总结-3(原型模式)

文章目录1. 概述2. 优点3. 缺点4. 结构与实现4.1 结构4.2 实现4.3 ps1. 概述用一个已经创建的实例作为原型,通过复制改原型对象来创建一个和原型相同或相似的新对象.在这里,原型实例指定了要创建的对象的种类.用这种方式创建对象非常高效,根本无须知道对象创建的细节.2. 优点Java自带的原型模式基于内存二进制流的复制,在性能上比直接new一个对象更加优良.可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份,并将其状态保存起来,简化了创建对象的过程,以便在需要的时候使用

2022-03-29 20:27:10 34

原创 GoF总结-2(单例模式)

文章目录1. 概述2. 特点3. 优缺点3.1 优点3.2 缺点4. 在Java中的应用场景5.结构与实现5.1 结构1. 概述指一个类只有一个实例,且该类能自行创建这个实例的一种模式。2. 特点单例类只有一个实例对象该单例对象必须由单例类自行创建单例类对外提供一个访问该单例的全局访问点3. 优缺点3.1 优点单例模式可以保证内存里只有一个实例,减少了内存的开销。可以避免对资源的多重占用。单例模式设置全局访问点,可以优化和共享资源的访问。3.2 缺点单例模式一般没有接口,

2022-03-28 20:28:31 389

原创 GoF总结-1

文章目录1. 分类1.1 根据目的分类1.1.1 创建型模式1.1.2 结构型模式1.1.3 行为型模式2.2 根据作用范围来分2.2.1 类模式2.2.2 对象模式1. 分类设计模式有两种分类方法:1.根据模式的目的来分2.根据模式的作用范围来分。1.1 根据目的分类根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式三大类别1.1.1 创建型模式用于描述“怎样创造对象”,它的主要特点是“将对象的创建与实现分离”。GoF中提供了单例、原型、工厂方法、抽象工厂、建造

2022-03-27 17:31:14 367

原创 java的ssh

文章目录今天在使用ganymed-ssh2做图片回显的时候出现问题,上传的图片总是访问不到.但是自己手动传上去的图片却可以访问到.找了一天,原因是权限问题,用ganymed-ssh2上传上去的文件权限默认是600,需要在上传文件后给权限更改为644,这样就能访问到了....

2022-03-02 20:55:49 438

原创 Hive总结

文章目录1. 概念2. Hive与Hadoop的关系3. Hive中的命令3.1 创建数据库并指定hdfs存储位置3.2 修改数据库3.3 查看数据库信息3.4 创建表并指定字段之间的分隔符4. Hive中的四种表结构4.1 内部表4.2 外部表4.3 分区表4.4 分桶表1. 概念Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL).其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,说白了hiv

2022-01-16 22:57:19 2329

原创 hadoop总结

文章目录1.命令1.1 hadoop查看数据2.2 创建文件夹命令3.3 上传文件命令2.上传和下载2.1 上传2.2 下载1.命令1.1 hadoop查看数据在hadoop目录中cd tmp/dfs/data/current/BP-1702078467-192.168.64.101-1642000699987/current/ fina

2022-01-15 22:08:56 858

原创 java基础补充

public class testfinally { @Test public void test1(){ System.out.println(theone());//3 System.out.println(thetwo());//0 System.out.println(thethree());//3 0 } public static int theone(){ int i = 0; tr

2021-11-24 09:06:25 140

原创 idea操作和maven项目特别是聚合项目中的问题等

文章目录1. 皮皮虾的不用配包扫描2. SpringBoot开箱即用原理(面试问题)3. SpringBoot开箱即用原理4.SpringMVC 调用流程5. spring注解和javaee注解6. git提交7. spring依赖注入出问题8. 表自增列9. scope1. 皮皮虾的不用配包扫描正常的spring调用流程是在spring.xml文件中配置好bean然后用这个bean.如果bean多了配置文件肯定会很长,所以spring中又提供了包扫描的方式来批量配置bean,在需要完成ioc的类上注

2021-11-20 22:51:13 373

原创 完整项目学习-10项目发布即在linux系统中完成部署

文章目录1. 部署JDK1.1 上传JDK1.2 解压压缩包1.3 删除安装文件1.4 修改JDK名称1.5 检查JDK是否有效1.6 JDK环境变量配置2 Linux 项目部署2.1 项目搭建流程2.2 Linux安装Mariadb数据库2.3 后端项目发布2.3.1 后端项目修改2.3.2 后端项目打包2.3.3 上传jar包文件2.3.4 发布项目2.3.5 项目测试2.4 jar包文件项目启动报错说明2.5 关于Linux 进程项说明2.5.1 查询进程2.5.2 杀死进程2.6 项目后台发布2.6

2021-11-18 18:53:38 2528

原创 Mysql语句

文章目录1. 查询后选择语句2. 排序语句1. 查询后选择语句select *,case week when 2 then '星期二' else '不是星期二' end as week from tc_info;select *,case when week>2 then '星期二过去了' else '星期二没过去' end as week from tc_info;2. 排序语句select (@i:=@i+1) as "" from tc_info,(select @i:=0) as

2021-11-18 11:00:40 441

空空如也

空空如也

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

TA关注的人

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