自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 资源 (10)
  • 收藏
  • 关注

原创 JVM运行时参数详解

JVM运行时参数1.参数选项类型2.常用参数选项3.添加参数选项1.参数选项类型以-开头的参数选项也叫作标准参数选项,这些参数比较稳定,基本不会随着JDK版本的改变而变化可以使用java -help指令在CMD命令行查看都有哪些参数选项:以-X开头的参数选项也叫作非标准参数选项,这些参数相对也比较稳定,但是可能会随着JDK版本的改变而变化可以使用java -X指令在CMD命令行查看都有哪些参数选项:以-XX开头的参数选项也叫作非标准参数选项,这些参数比较不稳定,但

2021-11-24 12:12:36 1600

原创 JVM监控诊断之工具使用(下篇)

JVM监控诊断工具一、Eclipse MAT工具1.基本使用2.主要功能3.注意事项4.内存泄漏(扩展)5.OQL查询语言(扩展)二、JProfiler工具1.基本概述2.主要功能3.安装配置4.基本使用三、Arthas工具1.基本概述2.解决哪些问题3.安装使用4.基本指令5.JVM相关指令6.类加载相关指令7.方法监控指令一、Eclipse MAT工具????:Memory Analyzer Tool,一款基于Eclipse的内存分析工具( 插件形式 ),是一个快速、高效、功能丰富的Java堆内存

2021-11-19 12:23:16 1678

原创 JVM监控诊断之工具使用(上篇)

JVM监控诊断工具1.JConsole工具2.JVisualVM工具3.JMC工具使用CMD命令行工具存在以下缺陷:????无法获取方法级别的分析数据,比如:方法之间的调用关系、方法的调用次数、方法的调用时间等。????需要用户登录到目标Java应用程序所在的宿主机进行操作。????展示的数据不够直观,很难进行理解。1.JConsole工具????:JDK自带的,用于查看Java应用程序运行期间的一些有关内存、线程、类等的监控信息,是一款基于JMX的GUI性能监控工具。基本使用

2021-11-19 12:22:38 1559

原创 JVM监控诊断之命令行使用

JVM监控诊断1.jps命令2.jstat命令3.jinfo命令4.jmap命令5.jhat命令6.jstack命令7.jcmd命令8.jstatd命令在刚开始学习Java的时候,我们肯定对javac和java两个命令非常熟悉。但其实在JDK中,Oracle官方还给我们提供了许多辅助命令工具,也都在安装JDK的bin目录下,这些辅助命令工具大都是用来获取JVM不同方面、不同层次的信息,帮助开发人员能够更好的解决应用程序中出现的一些疑难杂症。1.jps命令jps(Java Process Sta

2021-11-19 12:21:46 1488

原创 JVM调优概述

JVM调优1.调优背景2.调优依据3.调优步骤4.调优指标1.调优背景生产中的问题生产环境发生了内存溢出该如何处理?生产环境应该给服务器分配多少内存合适?如何对垃圾回收器的性能进行调优?生产环境CPU负载过高时该如何处理?生产环境应该给应用分配多少线程合适?如何确定请求是否执行了某一行代码?如何实时查看某个方法的入参与返回值?为什么要调优防止出现OOM溢出解决OOM溢出问题减少Full GC的频率2.调优依据运行日志异常堆栈GC日志线程快照堆转储快照

2021-11-19 12:21:00 1270

原创 JVM扩展之JDK9中有关类加载器的变动

JDK9中类加载器的变动一、变动①二、变动②三、变动③四、变动④五、变动⑤六、变动⑥为了保证兼容性,JDK9没有从根本上改变三层类加载器的架构和双亲委派模型,但为了模块化系统的顺利运行,仍然发生了一些值得被注意的变动。一、变动①由于引入了模块化概念,所以不同的类加载器回去加载属于不同模块的类启动类加载器平台类加载器应用类加载器二、变动②扩展机制被移除,但是扩展类加载器由于向后兼容性的原因被保留,然后被重命名为平台类加载器Platform ClassLoader,可以通过

2021-11-17 12:30:50 1937

原创 JVM进阶之沙箱安全模型

沙箱安全模型1.概述2.作用3.实现1.概述沙箱是一个限制程序运行的环境,Java安全模型的核心就是Java沙箱,所有的Java程序都可以指定沙箱来运行,而且可以自定制安全策略。沙箱机制就是将Java代码限定在Java虚拟机特定的运行范围中,并且严格限制代码对本地系统资源的访问,通过这样的措施来保证对代码的有效隔离,防止对本地系统造成破坏。2.作用保证程序的安全保护原生的代码3.实现JDK1.0时期将程序代码分成本地代码和远程代码两种。本地代码默认视为可信任的,可以访问一切本

2021-11-17 12:29:47 1604

原创 JVM进阶之双亲委派机制

双亲委派机制1.概述2.本质3.实现4.优点5.弊端6.注意细节7.破坏示例8.热替换1.概述如果一个类加载器在接收到加载类的请求时,它首先不会自己尝试去加载这个类,而是把这个请求任务委托给父加载器去完成。依次递归,如果父加载器可以完成类加载任务,就成功返回。所以只有父加载器无法完成此加载任务时,才会由自己去加载。2.本质等同于规定了类加载的顺序是:引导类加载器先加载,扩展类加载器次加载,最后才会由系统类加载器加载。3.实现双亲委派机制在java.lang.ClassLoadelr.load

2021-11-17 12:29:07 1419

原创 JVM进阶之自定义类加载器

自定义类加载器1.作用2.场景3.注意4.实现1.作用隔离加载类在某些框架内进行中间件与应用的模块隔离,把类加载到不同的环境。修改类加载的方式类的加载模型并非强制的,应该根据实际情况在某个时间点按需进行动态加载。扩展加载源可以从数据库、网络、甚至是电视机机顶盒进行加载。防止源码泄露可以对Java源码进行编译时的加密,还原时的解密。2.场景当实现类似进程内隔离效果时,类加载器可用作不同的命名空间,以提供类似容器、模块化的效果。当应用需要从不同的数据源获取类定义信息

2021-11-17 12:28:38 1330

原创 JVM进阶之类加载器详解

类加载器详解一、类加载器概述1.作用2.分类3.重要性4.命名空间5.特性二、类加载器分类1.基本概述2.引导类加载器3.扩展类加载器4.系统类加载器5.自定义类加载器三、类加载器测试1.获取类加载器方式2.获取类加载器示例四、类加载器解析1.ClassLoader关继承关系图2.ClassLoader中的核心方法3.Class.forName和ClassLoader.loadClass的区别一、类加载器概述1.作用类加载器是JVM执行类加载机制的前提,它是Java的核心组件,所有的类都是由类加载器

2021-11-12 11:50:11 1218

原创 JVM进阶之类加载过程详解(下篇)

类加载过程详解下篇一、类的初始化阶段1.初始化方法2.初始化过程3.类初始化方法的安全性4.类初始化的使用二、类的使用阶段三、类的卸载阶段1.类、类加载器、类的实例之间的关系2.类的生命周期3.类的卸载一、类的初始化阶段1.初始化方法类的初始化是类装载的最后一个阶段,如果前面的步骤都没有问题,那么表示类可以顺利装载到系统中,此时类才会开始执行Java字节码。初始化阶段的工作是执行类的初始化方法<clinit>(),完成类中静态成员变量或者静态代码块的显式赋值。public cl

2021-11-12 11:49:01 1142

原创 JVM进阶之类加载过程详解(上篇)

类加载过程详解上篇一、类的生命周期二、类的加载阶段三、类的链接阶段1.进行验证(Verification)2.进行准备(Preparation)3.进行解析(Resolution)一、类的生命周期在Java中数据类型分为基本数据类型和引用数据类型,其中基本数据类型是由虚拟机预先定义的,而引用数据类型则需要进行类的加载。依据Java虚拟机规范,从字节码文件到加载到内存中的类,再到类卸载出内存,它的整个生命周期大致有七个阶段:从一个类的加载和使用过程示例上来看二、类的加载阶段

2021-11-12 11:48:21 1183

原创 JVM垃圾回收篇(扩展知识)

扩展知识1.垃圾收集日志分析参数2.垃圾收集日志分析示例3.垃圾收集日志分析工具4.现代垃圾收集器发展1.垃圾收集日志分析参数-XX:+PrintGC用于输出简要的GC日志信息GC、Full GC代表GC的类型Allocation Failure代表GC触发的原因,这里是由于空间不足分配失败导致的GC15339K - > 13878K代表堆空间在GC前的大小和GC后的大小58880k代表当前堆空间的总大小0.0039300 secs代表本次GC耗费的时间-XX:+P

2021-11-08 21:03:46 1127

原创 JVM垃圾回收篇(经典垃圾回收器讲解)

经典垃圾回收器讲解1.Serial垃圾收集器2.ParNew垃圾收集器3.Parallel垃圾收集器4.CMS垃圾收集器5.G1垃圾收集器1.基本介绍2.四大特性3.不足之处4.参数设置5.适用场景6.什么是Region?7.什么是记忆集?8.G1回收过程9.G1回收详细步骤6.垃圾收集器总结1.Serial垃圾收集器概述Serial收集器是最基本、历史最悠久的垃圾收集器了Serial收集器作为HotSpot VM中Client模式下的默认新生代垃圾收集器Serial收集器采用复制算法、串

2021-11-08 21:02:26 1277

原创 JVM垃圾回收篇(垃圾回收器基本概述)

垃圾回收器基本概述1.垃圾回收器分类2.垃圾回收器的性能指标3.垃圾回收器的发展史4.经典的垃圾回收器1.垃圾回收器分类按线程数分串行垃圾回收器串行回收指的是在同一时间段内只允许有一个CPU用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾收集工作结束在诸如单CPU处理器或者较小的应用内存等硬件平台不是特别优越的场合,串行回收器的性能表现可以超过并行回收器和并发回收器串行回收器默认被应用在JVM的Client模式中,只有在JDK32位的版本中能够开启Client模式并行垃圾回

2021-11-08 21:01:43 1184

原创 JVM垃圾回收篇(对象引用)

对象引用1.什么是对象引用?2.强引用3.软引用4.弱引用5.虚引用6.终结器引用1.什么是对象引用?在JDK1.2之后,Java对引用的概念进行了扩充,将引用分为强引用(Strong Reference)、软引用(Soft Reference) 、弱引用(Weak Reference) 和虚引用(Phantom Reference) 4种类型,并且这4种引用的强度依次逐渐减弱除强引用外,其它的引用均可以在 java.lang.ref 包中找到它们的实现类,其中只有终结器引用FinalRefe

2021-11-07 19:43:32 1204

原创 JVM垃圾回收篇(对象终止机制)

对象终止机制1.什么是对象终止机制?2.对象终止的注意细节3.对象的三种生命状态4.对象的回收判定过程5.对象的回收程序演示6.什么是GC Roots?1.什么是对象终止机制?Java语言提供了对象终止( finalization )机制来允许开发人员提供对象被销毁之前的自定义处理逻辑处理当垃圾回收器发现没有任何引用指向某个对象时,那么就会在垃圾回收中清除这个对象,在垃圾回收器回收此对象之前,会先调用这个对象的 finalize() 方法我们发现 finalize() 方法允许在子类中被重写,所以

2021-11-07 19:42:58 1188

原创 JVM垃圾回收篇(重要概念解析)

重要概念解析1.System.gc方法2.内存溢出与泄露3.Stop The World4.垃圾回收的并行与并发5.安全点与安全区域1.System.gc方法基本概述默认情况下,通过调用 System.gc() 或者 Runtime.getRuntime().gc() 方法会显式触发 Full GC的回收,然后对堆空间、方法区进行回收,尝试释放被丢弃对象所占用的内存然而System.gc()方法无法保证对垃圾收集器的调用时间,也就是说方法执行后不能确保垃圾回收过程及时执行开发者可以在某些场景

2021-11-07 19:42:01 1157

原创 Vue状态管理

状态管理1.什么是状态管理?2.下载使用3.管理模式4.配置选项5.状态管理中的API1.什么是状态管理?由于状态零散地分布在许多组件和组件之间的交互中,大型应用复杂度也经常逐渐增长,所以 Vuex是Vue团队提供的一套组件状态管理维护的解决方案作用进一步完善了Vue基础代码功能使Vue组件状态更加容易维护为大型项目开发提供了强大的技术支持使用<script src="vue.js"></script><script src="vuex.js"

2021-11-05 18:46:37 1302

原创 Vue路由管理

路由管理1.什么是路由?2.Vue-Router3.基本使用4.对象属性5.动态路由6.嵌套路由7.命名视图8.命名路由9.编程式导航10.重定向和别名11.路由组件传参1.什么是路由?生活中的通过路由器功能来完成不同网络之间数据的传递后端路由浏览器每访问一次新页面的时候,都要向服务器发送请求,然后服务器会响应请求,返回新页面给浏览器,在这个过程中会有一定的网络延迟后端路由是通过用户请求的URL分发到具体的处理程序,从而使浏览器每次跳转到不同的页面服务器收到请求后,将数据和模板组合

2021-11-05 18:46:22 1650

原创 Vue过渡动画

过渡动画1.过渡是什么?2.过渡状态3.CSS实现过渡4.自定义实现过渡5.CSS实现动画6.初始动画渲染7.动画钩子函数8.多元素过渡9.多组件过渡10.列表过渡1.过渡是什么?Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果过渡就是组件元素从一个状态向另一种状态的切换2.过渡状态进入过渡v-enter定义进入过渡的开始状态,在元素被插入之前生效,作用于开始的一帧。v-enter-active定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在

2021-11-05 18:46:06 1156

原创 Vue组件使用

组件使用1.什么是组件?2.基本使用3.父子组件传递数据4.根元素组件5.插槽的使用6.自定义事件7.mixins的使用8.render的使用1.什么是组件?组件是构成页面中独立结构单元,组件主要以页面结构形式存在,是对结构的抽象能够减少重复代码的编写,提高开发效率。降低代码之间的耦合程度,使项目更易维护和管理。根据业务逻辑实现复杂的项目功能。2.基本使用<div id="my"> <mybutton></mybutton> <templ

2021-11-05 18:45:46 1244

原创 Vue常用指令

常用指令1.v-text2.v-html3.v-show4.v-if5.v-else6.v-else-if7.v-for8.v-on9.v-bind10.v-model11.v-slot12.v-pre13.v-cloak14.v-once1.v-text设置元素的 textContent。<span id="app" v-text="msg"></span>var vm=new Vue({ el:"#app", data:{ msg:"文本内

2021-11-04 15:27:52 1102

原创 Vue实例属性

实例属性1.vm.$data2.vm.$props3.vm.$options4.vm.$el5.vm.$parent6.vm.$children7.vm.$root8.vm.$slots9.vm.$attrs10.vm.$refs1.vm.$data获取Vue实例的数据对象data属性2.vm.$props用于接收上级组件向下级组件传递的数据<div id="app"> <parent></parent></div><te

2021-11-04 15:27:35 1189

原创 Vue基本属性

基本属性1.el(挂载点)2.data(数据)3.methods(方法)4.computed(计算属性)5.watch(监听)6.filters(过滤器)7.components(局部组件)1.el(挂载点)var vm=new Vue({ el:"#app"})功能作用是用来设置Vue实例管理的元素对象作用范围Vue会管理el选项命中的元素以及其内部的后代元素可用选择器可以使用id、class等常用选择器可用Dom元素只能用在双标签元素上,不能用于单标签、H

2021-11-04 15:27:14 1336

原创 Vue基本概述

1.钩子函数钩子函数用来描述Vue实例从创建到销毁的整个生命周期beforeCreate:function(){ #在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。},created:function(){ #在实例创建完成后被立即调用,然而,挂载阶段还没开始,$el property 目前尚不可用。},beforeMount:function(){ #在挂载开始之前被调用:相关的 render 函数首次被调用。},m

2021-11-04 15:26:45 1458

原创 设计模式之访问者模式

访问者模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景1.简要概述访问者模式属于行为型设计模式,在类的内部结构不变的情况下,不同的访问者访问某个对象会呈现出不同的处理结果。访问者模式就是封装一些作用于某种数据结构的各个元素的操作,然后它可以在不改变数据结构的前提下,定义作用于这些元素的新操作。访问者模式的核心就是为一个对象结构增加新的能力,在被访问的类里面加一个对外提供接待访问者的接口。访问者模式主要就是将数据结构和数据操作进行分离,解决了数据结构和数据操作的耦合性问

2021-10-31 19:42:17 1145

原创 设计模式之策略模式

策略模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景7.应用示例1.简要概述策略模式也叫作决策模式,属于行为型设计模式。策略模式定义了解决某一个问题的一个算法族,允许用户从该算法族中针对不同的场景选择一个算法解决该问题,同时可以方便的更换算法或者增加新的算法。策略模式会定义一系列算法,然后对其进行封装并使它们可以相互替换,让算法独立于使用它的客户端。策略模式的本质就是将不同的算法进行分离,然后选择性的进行实现。策略模式和状态模式的对象类图类似,并且都是能够动态改变对

2021-10-30 18:33:26 1204

原创 设计模式之责任链模式

责任链模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景7.应用示例1.简要概述责任链模式也叫作职责链模式,属于行为型设计模式。责任链模式将能够处理同一类请求的对象连成一条链,所提交的请求会沿着这条链进行依次处理。责任链模式中,通常会在每一个请求处理者中都包含下一个请求处理者的引用,如果一个请求不能够被当前处理者处理,则传递到这条链的下一个请求处理者对象,以此类推。责任链模式中,一个处理者对象通常只有两个行为,一是处理请求,二是将请求传递给下一个处理者,不允许某个处理者

2021-10-29 19:53:32 1119

原创 JVM进阶之字节码指令解析(下篇)

字节码指令解析下篇一、控制转移指令1.比较指令2.条件跳转指令3.比较条件跳转指令4.多条件分支跳转指令5.无条件跳转指令二、异常处理指令1.异常抛出指令2.异常处理指令三、同步控制指令1.方法级的同步2.方法内指令序列的同步一、控制转移指令1.比较指令比较指令的作用是比较栈顶两个元素的大小,并将比较结果入栈。对于double类型的数据,指令有dcmpg、dcmpl,由于double类型的数值有可能是NaN,所以需要两种处理方式。这两个指令都从栈中弹出两个操作数,并将它们做比较,然后将比较的结

2021-10-28 18:48:41 1093

原创 JVM进阶之字节码指令解析(中篇)

字节码指令解析中篇一、对象的创建与访问指令1.创建指令2.字段访问指令3.数组操作指令4.类型检查指令二、方法的调用与返回指令1.方法调用指令2.方法返回指令三、操作数栈管理指令1.基本概述2.指令分类3.程序举例一、对象的创建与访问指令Java是面向对象的程序设计语言,虚拟机平台从字节码层面就对面向对象做了深层次的支持,有一系列指令专门用于对象的相关操作,可进一步细分为创建指令、字段访问指令、数组操作指令、类型检查指令。1.创建指令创建对象指令接收一个指向常量池的索引的操作数,表示要创建

2021-10-28 18:47:41 1061

原创 JVM进阶之字节码指令解析(上篇)

字节码指令解析上篇一、加载与存储指令1.作用2.常用指令3.操作数栈4.局部变量表5.压栈指令6.入栈指令7.出栈指令二、算术指令1.基本概述2.实际类型和运算类型对应关系3.指令分类4.注意细节5.相关问题三、类型转换指令1.基本概述2.宽化类型转换3.窄化类型转换一、加载与存储指令1.作用加载和存储指令,用于将数据从栈帧的局部变量表和操作数栈之间来回传递。2.常用指令局部变量入栈指令:将一个局部变量加载到操作数栈,比如iload、fload、iload_常量入栈指令:将一个常量加载到操作数

2021-10-28 18:46:36 1059

原创 设计模式之状态模式

状态模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景7.应用示例1.简要概述状态模式属于行为型设计模式。状态模式就是说将一个对象在不同状态下的不同行为封装在一个个状态类中,通过设置不同的状态对象可以让环境对象拥有不同的行为。状态模式用于解决系统中复杂对象的状态转换问题,并对于不同状态下的不同行为进行封装。状态模式允许在对象的内部状态发生改变时,对它的行为也进行相应的改变。2.模式结构????通常由一个环境类( 通常是一个具体的对象,负责维护对象的状态实例,里面

2021-10-28 18:43:13 1204

原创 JVM进阶之字节码指令概述

字节码指令概述1.基本介绍2.执行模型3.数据类型4.指令分类1.基本介绍Java字节码指令对于虚拟机,就好比汇编语言对于计算机,都属于基本执行指令。Java字节码指令由一个字节长度的、代表着某种特定操作含义的数字(也称为操作码)以及跟随其后的0个或多个代表此操作所需的参数(也称为操作数)共同构成。由于JVM采用面向操作数栈而不是寄存器的结构,所以我们发现大多数的字节码指令都不包含操作数,只有一个操作码。由于Java字节码指令中操作码的长度为一个字节,也就意味着指令集的操作码总数不可能超过256

2021-10-27 22:37:11 1124

原创 JVM进阶之字节码文件解析指令

字节码文件解析指令1.javac指令2.javap指令1.javac指令使用javac命令可以将源代码文件编译成字节码文件,然后就可以查看代码中的详细结构。对于命令行的方式而言,我们可以使用javac xx.java或者javac -g xx.java进行编译,只不过后者会比前者多生成局部变量表等信息,默认情况下Eclipse、IDEA等集成开发环境在编译时都采用的后者。2.javap指令通过对生成的字节码文件进行反编译,我们可以深入的了解Java代码的工作机制,Oracle官方也提供了工

2021-10-27 22:36:45 1373

原创 设计模式之解释器模式

解释器模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景7.应用示例1.简要概述解释器模式是一种用得比较少的设计模式,属于行为型设计模式。解释器模式提供了一种解释语言的语法或表达式的方式,该模式定义了一个表达式接口,通过该接口解释一个特定的上下文。解释器模式用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计。解释器模式的核心思想就是为给定的语言创建解释器,然后对语言中的语法进行分析,定义出它的文法的一种表示,最后通过解释器来解释运行语

2021-10-27 22:32:16 1094

原创 设计模式之模板方法模式

模板方法模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景7.应用示例1.简要概述模板方法模式也叫作模板模式,属于行为型设计模式。模板方法模式定义了一个操作中的算法骨架,并将一些特殊的步骤延迟到子类中实现。模板方法模式的核心思想,就是在父类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤,以完成不同的需求。模板方法模式中,也可以定义钩子方法,钩子方法可以对其他方法进行约束,通常返回一个boolean类型的标识,用来判断是否执行某一个基本方法,钩子方

2021-10-26 20:49:44 1125

原创 设计模式之备忘录模式

备忘录模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景1.简要概述备忘录模式也可以叫做快照模式。备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并将该状态保存在另外一个对象中去,这样以后就可以随时将该对象恢复到原来保存的那个状态。备忘录模式核心就是通过保存某个对象的内部状态,然后可以实现将该对象恢复到原来的某个状态。2.模式结构????通常由一个原始对象类( 负责创建备忘录来保存自己的内部状态、使用备忘录恢复自己的内部状态 ),一个备忘录类( 负责存储

2021-10-25 19:05:34 1055

原创 设计模式之中介者模式

中介者模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景7.应用示例1.简要概述中介者模式是实现相关对象之间复杂沟通的控制方式,用一个中介对象封装一系列的对象交互,使得各个对象之间不再需要显式的互相调用。中介者模式是用来降低多个对象和类之间的通信复杂性,通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式的本质就是将多个有关联的对象进行解耦,让每个对象都持有一个相同的中介者对象的引用,然后通过这个引用完成它们之间的交互。2.模式结构????通常由一个

2021-10-24 18:37:13 1089

原创 设计模式之观察者模式

观察者模式1.简要概述2.模式结构3.实现代码4.优点好处5.缺点弊端6.应用场景7.应用示例1.简要概述观察者模式定义了对象之间的一对多关系,也就是说当一个对象的状态发生变化时,会告知其它的依赖对象也做相应的状态更新。观察者模式中,发送状态变化通知的对象称之为目标对象(Subject),接收并响应状态变化的对象称之为观察者对象(Observer)。2.模式结构????通常由一个主题接口( 负责定义管理、维护、通知观察者的一系列方法接口 ),多个具体的主题类( 负责实现对于观察者的注册、移除

2021-10-24 00:37:47 1039

简约答辩PPT模板.zip

内含三款不同主题色简约答辩PPT简约模板,您可以在答辩、工作总结等等场景下使用

2021-08-20

前端滑块验证码.zip

基于前端js和css实现的滑动验证码功能,可以方便的嵌入到网站使用

2021-08-20

数据表格导出之Blob.js和Export2Excel.js下载

内容包括数据表格导出的必须文件Blob.js和Export2Excel.js两个文件

2021-04-05

数据库JDBC驱动jar包.zip

内含mysql、oracle、sql server驱动

2021-01-29

一款响应式的登录页面模板.zip

登录页面模板

2021-01-29

MyCat相关安装包.zip

Mycat的linux版安装包、mysql5.6的linux版安装包

2021-01-28

基于H-UI的简单后台模板.zip

一个简单的基于H-ui编写的后台模板框架分享给大家练习使用,里面有登录页面、首页、用户相关、图片相关、系统相关、管理员相关、图片相关等等基础模块

2020-08-11

ssm整合Jar+配置.zip

压缩文件中有全部的ssm整合jar包,还有spring、springmvc、mybatis、web.xml等一些完整配置文件,里面重要的内容配置都加有注释,便于理解。

2020-08-11

基于BootStrap的简单后台模板.zip

比较简单的后台管理界面,里面有基础的404页面、用户管理、密码修改、链接管理、首页等内容,适合初学者练习使用,内容可以自行扩展。

2020-08-07

空空如也

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

TA关注的人

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