自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 资源 (2)
  • 收藏
  • 关注

原创 mac 卸载Cisco 一个命令就成功

一般是/bin 下的。secureclient这个目录可能不同版本是不同的结构。但是这个目录就在cisco下 且就一个。不管它是不是secureclient 你直接进去然后看到bin 去这里面找。由于各个Cisco 版本可能文件目录不一致。所以命令可能的自己替换。我这快的是基于Cisco5版本的命令。如果你已经通过手动去卸载。现在卸载不干净了。重新下载一个 然后找到这个。它会把原先和现在的一起卸载干净。网上各种命令删除。都不如 别人自带的脚本好用。

2024-03-31 20:38:15 206

原创 MAC M1 安装mongodb7.0.5 版本

下载的依赖 有很多是国外的。所以需要梯子 ,不然会安装错误。这步下载安装比较慢 我是下载了一个小时。显示图下代表安装成功了。由于MongoDB 4.4及更高版本已将mongo shell重命名为mongosh,请确保已正确安装了mongosh。看了网上很多博客大家默认都是mongo 命令。这里一定要看清自己的默认shell路径。不然刷新环境的时候会有问题。因为我已经安装了 Homebrew 所以直接安装。害我搞了半天一直提示我。安装mongosh命令。

2024-02-26 17:40:44 1042

原创 ES 操作历史记录

【代码】ES 操作历史记录。

2024-02-25 15:31:58 321

原创 使用代码方式获取SqlSessionFactory提示.binding.BindingException: Invalid bound statement (not found)

com.mybatis.mapper.UserMapper.selectUserById 在Configuration 初始化的时候没有加载到mappedStatements 里面。在 configuration.addMapper(UserMapper.class);方法时分析源码 会调用Configuration.addMappedStatement方法。根据配置XML获取根据源码可以看出最后都是调用的基础组合数据后调用build方法。所以代码构建的方式是不适配XML的语句识别吗?

2023-12-06 20:15:31 134

原创 simplemde 下载问题

2、这个不是node版本问题。是simplemde 已经很久没有更新, 偏偏当时这个库的依赖版本定义又使用了 * 符号, 使得安装时自动装上最新版, 产生了兼容问题.1、npm run dev 出现问题。5、保存文件再次启动。

2023-11-18 18:13:36 437 2

原创 JAVA设计模式-职责链模式

2) ConcreteHandlerA , B 是具体的处理者, 处理它自己负责的请求, 可以访问它的后继者(即下一个处。1) Handler : 抽象的处理者, 定义了一个处理请求的接口, 同时含义另外Handler。理者), 如果可以处理当前请求,则处理,否则就将该请求交个 后继者去处理,从而形成一个职责链。传统方式是:接收到一个采购请求后,根据采购金额来调用对应的。总结:if判断的做成接口,传入和处理 用接口解耦。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依。

2022-11-07 01:07:13 687 1

原创 JAVA设计模式-策略模式

说明:从上图可以看到,客户context 有成员变量strategy或者其他的策略接口。的问题,其实是继承带来的问题:对类的局部改动,尤其超类的局部改。比如 野鸭、北京鸭、水鸭等, 鸭子有各种行为,比如 叫、飞行等。互相替换,此模式让算法的变化独立于使用算法的客户。,至于需要使用到哪个策略,我们可以在构造器中指定.)中,定义算法族,分别封装起来,让他们之间可以。让所有子类都会飞了,这是不正确的。动,会影响其他部分。问题又来了,如果我们有一个玩具鸭子。总结:方法和类都分开。问题,我们可以通过覆盖。

2022-11-07 00:49:33 570

原创 JAVA设计模式-状态模式

3) ConcreteState 具体的状态角色,每个子类实现一个与Context 的一个状态相关行为。2) State 是抽象状态角色,定义一个接口封装与Context 的一个特点接口相关行为。1) Context 类为环境角色, 用于维护State实例,这个实例定义当前状态。当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了。输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换。):它主要用来解决对象在多种状态转换时,需要对外。

2022-11-07 00:22:23 1181

原创 JAVA设计模式-解释器模式

2) AbstractExpression: 抽象表达式, 声明一个抽象的解释操作,这个方法为抽象语法树中所有的节点所。4) NonTermialExpression: 为非终结符表达式,为文法中的非终结符实现解释操作.编写一个方法,接收表达式的形式,然后根据用户输入的数值进行解析,得到结果。应用可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。的一种表示,并定义一个解释器,使用该解释器来解释语言中的句子。构建语法分析树,最终形成一颗抽象的语法分析树。一些重复出现的问题可以用一种简单的语言来表达。

2022-11-06 16:25:49 102

原创 JAVA设计模式-备忘录模式

一个对象,就对应一个保存对象状态的对象, 这样当我们游戏的对象很多时,不。可以这里理解备忘录模式:现实生活中的备忘录是用来记录某些要去做的事情,部状态,并在该对象之外保存这个状态。或者是记录已经达成的共同意见的事情,以防忘记了。模式有着相同的含义,备忘录对象主要用来记录一个对象的某种状态,或者某。些数据,当要做回退时,可以从备忘录对象里获取原来的数据进行恢复操作。后攻击力和防御力下降,从备忘录对象恢复到大战前的状态。)在不破坏封装性的前提下,捕获一个对象的内。这个新对象,但这就暴露了对象内部的细节。

2022-11-06 15:28:54 713

原创 JAVA设计模式-中介者模式

底层各个获取资源的 各自为类,没有关联。当系统增加一个新的电器对象时,或者执行流程改变时,代码的可维护性、扩展性。主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立。程为:闹铃响起->咖啡机开始做咖啡->窗帘自动落下->电视机开始播放。当各电器对象有多种状态改变时,相互之间的调用关系会比较复杂。智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘 等。,用一个中介对象来封装一系列的对象交互。各个电器对象彼此联系,

2022-11-04 22:05:57 194

原创 JAVA设计模式-观察者模式

气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去。中,当增加一个第三方,都需要创建一个对应的第三方的公告板。通知所有的注册的用户,根据不同需求,可以是更新数据,让用。总结:当一对多是,使用观察者模式。,便于其他第三方也能接入气象站获取数据。观察者模式设计后,会以集合的方式来管理用户。测量数据更新时,要能实时的通知给第三方。户来取,也可能是实施推送,看具体需求定。其他第三方接入气象站获取数据的问题。观察者原理:登记注册、移除、通知。提供温度、气压和湿度的接口。这样,我们增加观察者。

2022-11-01 22:15:28 99

原创 JAVA设计模式-迭代器模式

将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分。迭代器模式,提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,方式,而且还会暴露元素的内部结构,可以考虑使用迭代器模式解决。是 :在一个页面中展示出学校的院系组成,一个学校有多个。不需要知道集合对象的底层表示,即:不暴露其内部的结构。学院,一个学院有多个系, 因此这种方案,不能很好实现。)是常用的设计模式,属于行为型模式。或者还有其他方式,当客户端要。总结:解决元素存储类型不同。总结:方法和数据 隔离。

2022-10-29 22:11:51 102

原创 JAVA设计模式-访问者模式

扩展性不好,比如 增加了 新的人员类型,或者管理方法,都不好做。它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。的,但是考虑系统增加越来越多新的功能时,对代码改。,封装一些作用于某种数据结构的各元素的操作,需要对一个对象结构中的对象进行很多不同操作。在被访问的类里面加一个对外提供接待访问者。主要将数据结构与数据操作分离,解决。引出我们会使用新的设计模式。,同时需要避免让这些操作。如果系统比较小,还是。这些操作彼此没有关联。

2022-10-29 21:19:04 97

原创 JAVA设计模式-命令模式

我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装。控制所有智能家电的需要,则每个智能家电厂家都要提供一个统一的接口。1) 我们只需在程序运行时指定具体的请求接收者即可,此时,可以。这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个。向某些对象发送请求,但是并不知道请求的接收者是谁,也不知。在命名模式中,会将一个请求封装为一个对象,以便使用不同参。,动作的执行者是每个厂商的一个家电产品。在我们的例子中,动作的请求者是手机。,同时命令模式也支持可撤销的操作。

2022-10-29 20:33:40 270

原创 记录获取1024勋章

记录获取1024勋章。

2022-10-24 10:05:12 166

原创 JAVA设计模式-模板模式

2、简单说,模版方法模式定义一个操作中的算法的骨架。而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤。1、模版方法模式,又叫模版模式,在一个抽象类公开定义了执行他的方法的模板,它的子类可以按需重新方法实现,单调用将抽象类中定的方式进行。3.1、在模版方法模式的父类中,我们可以定一个方法。选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的。,因此就直接使用,不再使用传统的方案来引出模板方法模式。通过添加不同的配料,可以制作出不同口味的豆浆。

2022-10-16 23:46:35 1154

原创 JAVA设计模式-代理模式

1)代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。2)被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象3)代理模式有不同的形式,主要有三种静态代理、动态代理(JDK代理、接口代理)和Cglib代理(可以在内存动态的创建对象,而不需要实现接口, 他是属于动态代理的范畴)。4)代理模式示意图。

2022-10-16 23:21:34 135

原创 JAVA设计模式-享元模式

像数据库连接池,里面都是创建好的连接对象,在这些连接对象中有我们需要的则直接拿来用,避免重新创建,如果没有我们需要的,则创建一个。享元模式能够解决重复对象的内存浪费的问题,当系统中有大量相似对象,需要缓冲池是,不需要总是创建新对象,可以从缓冲池里面拿。1、FlyWeight 是抽象的享元角色,它是产品的抽象类,同时定义出对象的外部状态和内部状态 的接口和实现。6、外部状态:指对象的已依赖的一个标记,是随环境改变而改变的,不可共享的状态。处理,相当于一个相同网站的实例对象很多,造成服务器的资源浪费。

2022-10-16 19:05:11 451

原创 JAVA设计模式-外观模式

有多个接口调用,且有一定的流程。不用直接聚合各个接口。抽象出来一个类型。去实习流程逻辑。让客户端对接抽象流程。

2022-10-16 18:16:36 109

原创 JAVA设计模式-组合模式

2.1、组合模式,又叫部分整体模式,它创建了对象组的树形结构。将对象组合成树状结构以表示“整体-部分”的层次关系2.2、组合模式依据树形结构来组合对象。用来表示部分以及整体层次2.3、这种类型的设计模式属于结构型模式2.4、组合模式使得用户对单个对象和组合对象的访问具有一致性即:组合能让客户以一致的方式处理个别对象以及组合对象2、Leaf;在组合中表示叶子节点,叶子节点没有子节点3、Composite:非叶子节点,用户存储子部件, 在Component接口中实现子部件的相关操作,比如增加,删除。

2022-10-16 17:45:40 382

原创 JAVA设计模式-装饰者模式

1、装饰者模式:动态的将新功能、、附加到对象上。在对象功能扩展方面。它比继承更有弹性。装饰者模式也体现了开闭原则(OCP)2、装饰则模式原理2.1、装饰者模式就想打包一个快递主体:陶瓷,衣服(Component)//被装饰者包装:报纸填充,塑料泡沫,纸板,木板 (Decorator)主体:比如类似前面的Drink2.3、ConcreteComponent和DecoratorConcreteComponent:具体的主体,比如前面的各个单品咖啡Decorator:装饰者,比如各调料。

2022-10-16 16:54:30 462

原创 JAVA设计模式-桥接模式

2.1、桥接模式(Bridge)是指,将实现与抽象放在两个不同类层次中,使两个层次可以独立改变2.2、是一种结构性设计模式2.3、Bridge模式基于类的最小设计原则,通过使用封装,聚合及继承等行为让不同的类承担不同的职责,它的主要特点是把抽象(Abstraction)与行为实现分离开来。从而可以保持各部分的独立性以及应对他们的功能扩展}@OverrideSystem.out.println("Vivo手机开机");}@Override。

2022-10-11 23:27:49 290

原创 JAVA设计模式-适配器模式

1.1、适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原币因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器1.2、适配器模式属于结构性模式1.3、主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。

2022-10-11 00:24:36 831

原创 JAVA设计模式-建造者模式

2.1、建造者模式又叫生成器模式,是一种对象构建模式。它可以将复制对象的建造过程抽象出来。使这个抽象过程的不同实现方法可以构造出不同表的对象2.2、建造这模式是一步一步创建一个复杂的对象。它允许用户通过指定复杂对象的类型和内容就可以构建他们,用户不需要知道内部的具体构造细节2.3、建造者模式的四个角色Product(产品角色):一个具体的产品对象Builder(抽象建造者):创建一个Product对象的各个部件指定的接口ConcreteBuilder(具体建造者):实现接口,构建和装配各个部件。

2022-10-08 00:06:31 255

原创 JAVA设计模式-原型模式

用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节工作的原理是:通过将一个原先对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。即;对象.clone()}}}}}}}}@Override'}';}/*** 克隆该实例,使用默认的clone方法* @return*/@Overridetry{}

2022-10-07 17:09:02 72

原创 JAVA设计模式-工厂设计模式

1、简单工厂模式是由一个工厂对象决定创建出那一种产品类的实例。2、定了一个创建对象的类,由这个类来封装实例化对象的行为3、当我们会用到大量的创建某种,某类或者某批对象时,就可以使用工厂模式3、使用简单工厂模式/*** 简单工厂类 也叫静态工厂模式* 简单工厂模式就是把 逻辑里生成实例的代码抽取到工厂里面。返回实例。* 在实现的方法里面,只处理实例的方法。这样就不会污染实现实例的方法。*///更具orderType 返回Pizza。

2022-10-06 17:22:33 421

原创 设计模式类型(23种)

目录1、创建型模式1.1、单例模式1.2、抽象工厂模式1.3、原型模式1.4、建造者模式1.5、工程模式2、结构型模式2.1、适配器模式2.2、桥接模式2.3、装饰模式2.4、组合模式2.5、外观模式2.6、享元模式2.7、代理模式3、行为型模式3.1、模版方法模式3.2、命令模式3.3、访问者模式3.4、迭代器模式3.5、观察着模式3.6、中介者模式3.7、备忘录模式3.8、解释器模式3.9、状态模式3.10、策略模式3.11、职责链模式(责任链模式)

2022-10-06 16:00:23 323

原创 UML类图

聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例。3、动态行为图:交互图(时序图与协作图)、状态图、活动图。4、类图是描述类与类之间的关系的,是UML图中最核心的。关联关系实际上就是类与类之间的关系,他是依赖关系的特例。2、静态结构图:类图、对象图、包图、组件图、部署图。实现关系实际上就是A类实现B类,他是依赖关系的特例。4、类图-关联关系(Association)也是整体与部分的关系,但是整体与部分不可以分开。依赖、泛化(继承)、实现、关联、聚合和组合。

2022-10-06 15:47:01 427

原创 eclipse安装AmaterasUML后不出现,以及出现后点击finish没反应-已解决

前面两个版本,不管你的eclipse 里面有没有添加三个jar包都不好使。要么添加后没有显示 Amateras UML ,要么显示后,创建后点击finsh 不行。第三次 2020-12 版本安装目录的plugins下添加下图三个文件就可以了。AmaterasUML_1.3.4.zip(本人第一次eclipse版本2022-09 不行。本人第二次eclpse本部2022-03 不行。总结,肯定是eclipse版本没适配插件。主要eclipse版本。此处资源网上随便百度。

2022-10-05 23:23:21 792

原创 设计模式-七大原则

5.1、一个软件实体如类,模块和函数应该对扩展开发,对修改关闭,用抽象构造框架,用实现扩展细节(功能扩展的时候,类可以增加,但是实现方法代码不变)各个类实现抽象,抽象作为参数,实现参数的类作为传值。5.2、当软件需要变化时,经量通过扩展软件实体的行为来实现变化,而不是通过已有代码来实现变化。客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。3.1、高层模块(客户端)不应该依赖底层模块(实现类),二者都应该依赖起抽象。(可用接口作为参数,传入参数时,用实现该接口的类传参数)

2022-10-05 20:18:18 409

原创 JVM分析GC日志

在显示完区域容量GC的情况之后,会接着显示整个堆内存区域的GC情况:GC前堆内存已使用容量->GC后堆内存容量(堆内存总容量),并且堆内存总容量 = 9/10 新生代 + 老年代,然后堆内存总容量肯定小于初始化的内存大小。它不区分新生代还是老年代GC,括号里的内容是gc发生的原因,这里的Allocation Failure的原因是新生代中没有足够区域能够存放需要分配的数据而失败。PSYoungGen:表示GC发生的区域,区域名称与使用的GC收集器是密切相关的。如果是老年代,总容量则是全身内存大小,无变化。

2022-09-28 22:39:16 459

原创 JVM运行时参数

作为HotSpot中Client 模式下的默认新生代垃圾收集器,Serial Old是运行在Client模式下默认的老年代的垃圾回收器。5.4.4、Parallel回收器(并行 jDK默认垃圾收集器,主打吞吐量)5.4.5、CMS回收器(并发,垃圾回收线程,和用户线程,JDk1.5开启)5.4.2、Serial回收器(串行)5.4.3、Parnew回收器(并行)5.2、堆、栈、方法区等内存大小设置。5.4.1、查看默认的垃圾回收器。5.4、垃圾收集器相关选项。5.4.6、G1回收器。4.1、在运行时添加。

2022-09-25 23:43:52 263

原创 JVM监控和诊断的工具(Arthas)

【代码】JVM监控和诊断的工具(Arthas)

2022-09-25 01:03:52 281

原创 JVM监控和诊断的工具(JProfiler)

存在大的对象:读取文件时,byte[]应该 边读边写,如果长时间不写出的话,导致byte[]过大。根据标记当前,看那个JAVA对象频繁创建,就有可能存在内存溢出:死循环,循环次数过多。如果存在内存泄露问题开启记录的对象功能,但是会影响系统性能。1、web容器的线程最大数,比如:Tomcat的线程容量应该略大于最大并发数。方法执行时间越长,占用CPU率就越高,通过查看时间分析。4.2、重构模式(Instrumentation)优点:对CPU的开销非常低,对应用影响小。重点:实时内存,CPU,线程。

2022-09-24 23:59:49 488

原创 内存泄漏概念

这种情况下,即使在contains方法使用该对象的当前引用作为的参数去HashSet中集合中检索对象,也将返回找不到对象的结果。改变哈希值,当一个对象被存储进HashSet集合中以后,就不能修改这个对象中那些参与计算哈希值的字段了,否则,对象修改后的哈希值与最初存储进行HashSet集合中时的哈希值就不同了。单例模式生命周期和JVM一样长,如果持用外包对象的引用,那么这个外部对象也不会被回收,那么就会造成内存泄露。内部类持有外部类,如果一个外部类的实例对象的方法返回一个内部类的实例对象,

2022-09-24 22:49:23 510

原创 JVM监控和诊断的工具(MAT)

6.1、浅堆:一个对象消耗内存的大小,不包括其他引用对象大小的计算。6.2、深堆:相当于浅堆的总和,相当于显示这个对象回收的总大小。可查看引用链,查看对象是否被其他生命周期长的对象引用。6.5、hump文件比较,可查看某个类增是否很快。6.4、查看类的引用信息:软引用,弱引用,虚引用。5.3、查看支配树,可以查看类的深堆还是浅堆。5.6、系统预判可能会出现OOM的对象。5.5、查看类是否被多个加载器加载。查看排出前面三种对象是怎么引用的。5.4、查看内存中最大的对象。5.2、查看堆文件的信息。

2022-09-20 23:51:55 551

原创 JVM监控和诊断的工具(Visual VM)

是一个功能强大的多合一故障诊断和性能监控的可视化工具。抽样器的堆dump比较重要可以看到对应的方法。8、查看内存,可以查看那个执行线程使用内存多。7、CPU检测 ,可检测主线程的运行的时间。3、比安插件Visual GC。与另外一个dump文件比较。如有死锁,会直接检测提示。4、查看dump文件。5、载入dump文件。查看过渡分配的字符串。

2022-09-18 16:40:34 179

原创 JVM监控和诊断的工具(JConsole)

用于对JVM中内存,线程和类等的监控,是一个基于JMX的GUI性能监控工具。命令行直接输出,会出现如下图书。JDK自带的可视化监控工具。

2022-09-18 15:43:38 130

原创 JVM-监控及诊断工具命令行(二)

1、查看正在运行的java进程(jps)

2022-09-05 09:39:27 116

适用于M1芯片的WPS版本

适用于M1芯片的WPS版本

2022-03-29

MAC-JDK免费使用,不客气

本人M1芯片。使用与此JDK版本

2022-03-29

空空如也

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

TA关注的人

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