- 博客(65)
- 资源 (7)
- 收藏
- 关注
原创 设计模式(三)- 结构型模式
一、适配器模式 ✔适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。例如:读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。二、桥接模式 ✔ 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的
2022-02-08 17:10:32
342
原创 设计模式(二)- 创建型模式
文章目录前言一、五种常用模式1、单例模式2、工厂模式3、抽象工厂模式 ( 工厂的工厂模式 )4、建造者模式5、原型模式二、参考前言这里单独总结创建型模式。这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。一、五种常用模式1、单例模式这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象
2022-01-26 09:32:57
360
原创 设计模式(一)
文章目录一、简介二、六大原则1、单一职责原则2、里氏替换原则3、依赖倒转原则4、接口隔离原则5、迪米特法则(最少知道原则)6、合成复用原则三、分类1、创建型模式2、结构型模式3、行为模式4、J2EE模式四、参考链接一、简介设计模式是一种为了解决特定环境下特定问题的一种编程思想,也是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。二、六大原则1、单一职责原则 简而言之,就是每个类实现单一职责2、里氏替换原则 基类出现的地方,子类及其衍生类也可以出现,注意,子类尽量不要重.
2022-01-26 09:16:16
157
原创 Equals、== 、HashCode
文章目录前言一、==二、equals三、HashCode前言本文主要介绍对 Equals、==、HashCode 的理解一、==比较两端对象,当相等时,返回true,否则返回false1、对于基本数据类型而言, == 是比较值的大小int a = 2;int b = 2;System.out.println(a==b); // true2、对于引用类型的对象而言,== 是比较内存地址的大小Object ao = new Object();Object bo = ne.
2022-01-24 16:18:29
158
原创 javaScript Excel 导出 - 设置列宽,居中,样式
使用 Lay-Excel插件,原本使用 xlsx.js 实现的,但是后来发现xlsx.js 中样式实现存在bug无法解决,于是改用lay-excel,lay-excel其实也是对xlsx.js 的封装,而本文则是对其进一步封装!!!
2022-01-17 15:25:25
5910
原创 Java docx4j 操作word 1.0
本工具类复制即可使用,内附测试代码,包含以下操作: -- word 中 属性值替换 -- word 中 列表动态插入数据 -- word 转 pdf
2021-12-16 15:45:40
1965
原创 Docker + Nginx 部署springCloud
一、Docker 安装Windows Docker 安装 | 菜鸟教程Windows Docker 安装 Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。 因此,Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。 在 Windows 上部署 Docker 的方法都是
2021-11-30 10:47:46
1104
原创 Vue + RTP 视频实时监控
一、环境// Vue: 2.6.10// kurento-utils: 6.15.0// 安装kurento-utilsnpm install kurento-utils二、代码 1、JS封装// Time: 2021/11/17 11:16// Author: Dily// Remark:import kurentoUtils from 'kurento-utils'let websocket = nulllet webRtcPeer = nulllet..
2021-11-18 16:36:21
3798
7
原创 SpringBoot WebSocket RTP 视频实时监控
一、环境springboot 1、pom.xml<!-- Kurento --><dependency> <groupId>org.kurento</groupId> <artifactId>kurento-client</artifactId> <version>6.16.1</version></dependency><dependency> <...
2021-11-18 16:33:41
3680
原创 Echarts 数据导入方式汇总
一、坐标轴数据 1、横坐标-X轴// 不写data,此时更据数据自适应xAxis: { name: 'weekTime', // 名称 type: 'time', // 类型,category-类目,value-数值,time-时间},xAxis: { name: 'weekTime', // 名称 type: 'category', // 类型,category-类目,value-数值,time-时间 // 数据,最高级显示,不会被改变 da..
2021-11-12 09:43:38
6562
原创 Echarts自定义tooltip
一、效果二、代码tooltip: { show: true, axisPointer: { type: 'cross', lineStyle: { type: 'dashed' // 虚线 } }, // 自定义 formatter: p => { console.log(p) const pre = p.name const start = '<ul type="none" style="ma..
2021-11-11 17:04:39
4716
原创 Echarts使用 - Vue
一、Echarts安装 项目目录下控制台使用如下命令,下载安装依赖npm install echarts --save二、项目引入 main.js 中引入以下代码import * as echarts from 'echarts'Vue.prototype.$echarts = echarts三、Vue中使用<template> <div id="bar" style="width: 100%;height: 800p...
2021-11-09 14:45:23
442
原创 Spring AOP
一、简介 面向切面编程,刨解开封装的对象内部,将影响多个类的公共行为封装到一个可用模块,即为切面。将系统服务与业务分离,减少重复代码,降低模块间的耦合度,方便后期维护和操作。 AOP运用的主要场景有:权限控制、错误处理、缓存、调试等二、核心概念Aspect 切面:由pointcount和advice组成,包含连接点和横向逻辑的定义,通过 pointcut 和 advice 定位到特定的 joinpoint ,在 advice 中编写切面代码. advice 通知:将 aspect 添...
2021-10-26 15:56:55
154
原创 Spring IOC
一、概念 Spring 通过配置文件描述Bean之间的依赖关系,利用Java的反射实例化Bean,并建立Bean的依赖关系。二、Spring 容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配号Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。可见图片。三、生命周期 1、实例化 2、IOC注入 按Spring Conte...
2021-10-26 15:49:54
102
原创 Stream 流 - Java 8 特性
一、简介Stream(流)是一个来自数据源的元素队列并支持聚合操作元素:特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。 数据源:流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。 聚合操作:类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。和以前的Collection操作不同, Stream操作还有两个基础的特征:...
2021-10-25 15:21:23
129
原创 Servlet原理
一、简介 Servlet 运行于 Web 或 应用服务器上 的程序,是 HTTP请求 和 服务器上的数据库 或 应用程序之间的中间层。 用于收集网页表单的用户输入,呈现来自数据库或者其他源的记录,动态创建网页。二、优点性能更好 在Web服务器地址空间内执行,则无需再创建线程处理用户请求 独立于平台(Java编写) 可信(服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源) Java所有类库均可对其使用三、架构...
2021-10-25 14:19:04
105
原创 Lambda 表达式 - Java 8 特性
一、特性 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中),使用 Lambda 表达式可以使代码变的更加简洁紧凑。二、语法 // 第一中写法: 一个参数时 x 的小括号可以省略GreetingService demo0 = (x, z) -> { System.out.println(x + y);};// 第二种写法: 省略花括号, 一个参数时 x 的小括号可以省略GreetingService demo1 = (x, z) ->...
2021-10-25 13:28:57
96
原创 注解-Annotation解析
一、概念 注解是一种关联元程序中元素信息与元数据的方法和途径。Annatation是一个接口,程序可以通过Java的反射机制来获取程序中元素的Annatation对象,通过Annatation对象则可以获取到注解中的元数据信息。二、元注解 元注解用于注解其他注解,以下是四种标准元注解:...
2021-10-22 09:26:45
257
原创 字典树-Trie实现
一、字典树Trie,又称前缀树或字典树,是一棵有根树。该数据结构中,将Trie[26] 与英文26个字母一一对应,即Trie[0]代表字符a。 特点:字符串内存消耗小,字符串查询快// 子节点private Trie[] children;// 是否结束private boolean isEnd;二、API 1、初始化 Trie /** * 初始化 */public Trie() { // 英文字母26个,创建...
2021-10-19 15:45:34
230
原创 队列-Queue源码解析
一、Queue 队列 特点:先进先出(FIFO) 继承:Collection接口 实现类:linkedList、priorityQueue、ArrayDeque、DelayQueue等二、API 1、进队// 容量充足时入队,插入成功返回true,反之false,继承Collection的add方法boolean add(E e);// 容量充足时入队,插入成功返回true,反之false,容量受限的队列时,通常使用该方法bo...
2021-10-14 14:01:55
320
原创 栈-Stack源码解析
一、Stack 栈 特点:后进先出(LIFO -> last-in-fisrt-out) 继承:Vector,底层使用动态数组实现二、API 1、压栈
2021-10-14 11:15:09
334
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅