自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式系列之桥接模式(Bridge)

桥接(Bridge)是用于把抽象化与实现化解耦。使得二者可以独立变化。这种类型的设计模式 属于结构型模式,它通过提供抽象化和实现化之间的桥接结构实现二者的解耦。

2023-08-23 16:54:07 125

原创 设计模式系列之代理模式(Proxy)

代理模式,顾名思义就是一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。

2023-08-23 16:51:59 102

原创 设计模式系列之装饰器模式(Decorator)

装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式

2023-08-23 16:39:43 119

原创 设计模式系列之原型模式(Prototype)

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。

2023-08-23 16:37:03 78

原创 设计模式系列之建造者模式(Builder)

建造者模式(Builder)是使用多个简单的对象一步一步构建成一个复杂的对象,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,一个Builder会一步一步构造最终的对象,该Builder类是独立于其他对象的。该模式主要解决将一个复杂的构建与其表示分离,使得同样的构建过程可以创建不同的表示。在软件系统中,有时候面对一个复杂对象的创建工作,其通常是有各个部分的子对象用一定的算法构成;由于需求的变化。这个复杂对象的各个部分经常面临剧烈的变化,但是将他们组合在一起的算法却相对稳定。

2023-06-13 17:01:12 256

原创 设计模式系列之抽象工厂模式(Abstract Factory)

抽象工厂就是一个把工厂抽象,工厂模式生产的是产品,抽象工厂生产的是工厂。这种类型的设计模式属于创建型模式。

2023-06-11 13:44:33 246

原创 设计模式系列之工厂模式(Factory)

工厂模式(Factory Pattern)是java中最常用的设计模式之一。该设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

2023-06-08 16:44:48 261

原创 设计模式系列之单例模式(Singleton)

单例模式(Singleton Pattern)是java中最简单的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

2023-06-05 15:17:29 70

原创 6.Spring Cloud构建微服务架构(六)服务网关

6.Spring Cloud构建微服务架构(六)服务网关

2023-01-31 13:18:00 146

原创 2.Spring Cloud构建微服务架构(二)分布式配置中心

2.Spring Cloud构建微服务架构(二)分布式配置中心

2023-01-31 13:04:04 252

原创 1.Spring Cloud构建微服务架构(一)服务注册与发现

1.Spring Cloud构建微服务架构(一)服务注册与发现

2023-01-31 12:42:01 335

原创 3.Spring Cloud构建微服务架构(三)分布式配置中心(动态刷新)

3.Spring Cloud构建微服务架构(三)分布式配置中心(动态刷新)

2022-08-28 17:41:26 331

原创 多线程的一些知识

线程和进程进程:一个在内存中独立运行的程序,每一个进程都有自己独立的内存空间,一个进程可以创建多个线程。是操作系统分配资源的基本单位。线程:由进程创建,用于执行任务,一个进程最少有一个线程,可以有多个线程,线程共享进程中的数据。每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在生产一条线程或者在多条线程中切换工作时开销比进程小的多,所以线程也被称为轻量级进程。是处理器任务调度和执行的基本单位线程的三种创建方式重写thread的run方法Thrad thread = new ..

2021-06-20 19:42:20 94

原创 Nginx相关面试题

什么是NginxNginx 是一个轻量级/高性能的反向代理Web服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议可以高效的反向代理、负载均衡,可以处理高并发连接。为什么要用Nginx跨平台、配置简单、方向代理、高并发连接(处理2w-3w并发连接数,官方检测能支持5w并发)、内存消耗小(开启 10 个nginx才占150M内存,nginx处理静态文件好,耗费内存少)内置健康检查功能:如果一台服务器宕机,会做一个健康检查,再发送请求就不会发送到当即的服务器上,重新将请求提交到其他

2021-06-14 16:01:17 808 1

原创 5.Spring Cloud构建微服务架构(五)Nacos

5.Spring Cloud构建微服务架构(五)Nacos

2021-05-10 00:04:25 599 1

原创 Docker的学习

Docker是什么Docker是一个遵从Apache2.0开源协议的应用容器引擎。她可以让开发者们打包他们呢的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux容器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,开销极低。Docker的应用场景Web应用的自动化打包和发布自动化测试和持续集成、发布Docker的优点提供隔离的运行环境:文件系统隔离、网络隔离、进程号隔离、进程间通信隔离。容器性能开销极低:Docker技术虽然是虚拟化技术,却几乎

2021-02-27 16:56:25 199

原创 cos相似度算法 余弦距离计算

cos相似度算法 余弦距离计算定义余弦距离,也称余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体之间差异大小的度量。我们知道在数学领域内,cosθ 的值越接近 1,此时两个向量的夹角 θ 越接近 0度,表明这两个向量越相似,在极端情况下,当夹角为0度时 表示2个向量完全重合,这就叫“余弦相似性”。公式在平面直角三角形中余弦定值公式为cos(θ) = a / c但是在非直角三角形中,并不能用余弦定理求出cos(θ),在任意三角形中cos(θ)的求解公式为:[外链图片转存失败,源

2021-01-23 12:53:33 4854

原创 Editdistance 编辑距离算法

定义编辑距离又称Leveinshtein距离,是由俄罗斯科学家Vladimir Levenshtein在1965年提出。将源字符串转化为目标字符串所需要付出的代价,代价越低相似度越高,代价越高相似度越低。通常可以选择的方式为插入、替换、删除。公式如下:其中LDa,b(i,j)表示长度为 i 的字符串 a 和长度为 j 的字符串 b 之间距离编辑所需要付出的代价。举例这里以Meng和man 2个字符串为例,进行相似度计算,根据公式,来推演以下是如何计算的。1、初始化在矩阵的第一行的时候表示 b

2021-01-16 00:34:40 302

原创 spring-cloud-oauth2 实现用户认证及单点登录

spring-cloud-oauth2 实现用户认证及单点登录需求​ 在微服务架构中,我们有很多业务模块,每个模块都需要有用户认证,权限校验。有时候也会接入来自第三方厂商的应用。要求是只登录一次,即可在各个服务的授权范围内进行操作。看到这个需求,立马就想到了这不就是单点登录吗?于是基于这样的需求,作者使用spring-cloud-oauth2去简单的实现了下用户认证和单点登录。相关介绍OAuth2OAuth2是一个关于授权的网络标准,他定制了设计思路和执行流程。OAuth2一共有四种授权模式:授

2020-10-26 23:05:49 967

原创 4.Spring Cloud构建微服务架构(四)服务消费者

4.Spring Cloud构建微服务架构(四)服务消费者

2020-08-02 15:07:05 716

原创 ubuntu16.04下chrome安装flash插件

最近自己的ubuntu安装了最新的chrome54版本,发现视频无法播放,提示flash版本过期,原来最新的chrome已经不内置flash插件了,需要自己安装。方法/步骤1、安装chrome打开视频窗口会出现“flash不是最新版本的提示”2、在用户目录下创建文件夹23.0.0.185,在终端命令行输入下列命令。$sudo mkdir -p ~/.confi

2020-07-29 21:18:26 281

原创 HashMap的学习

学习目的(基于JDK8):什么是HashMap以及它的特性Hashcode,equals,==的区别HashMap的数据结构hashMap的工作原理HashMap的扩容HashMap是否线程安全?如果不是怎么使HashMap变得线程安全1.什么是HashMap以及它的特性HashMap首先是一个map,所以它和map一样用于存储键值对(key-value)的集合类,也可以说是一组键...

2020-04-02 08:11:08 144

原创 hexo+github搭建自己的技术博客

很多人都想搭建自己的技术博客,但是奈何技术有限,服务器不熟、域名解析等等,一大堆东西会搞得自己头昏脑涨,也会因此失去兴趣。 当时也是费了半天功夫才搭建好,在这篇文章中会详细记录自己搭建的整个流程,尽量避免入坑吧,但要是真是你自己给自己挖坑那就没办法了。 搭建的时候也是看着别人的教程一点点跟进,但是都有缺陷。比如分支的创建,和私人域名的解析,有这方面的教程但是都不是太完善,有些只是教你搭建但是后...

2018-05-17 10:25:17 406

翻译 ubuntu16.04下chrome安装flash插件

最近自己的ubuntu安装了最新的chrome54版本,发现视频无法播放,提示flash版本过期,原来最新的chrome已经不内置flash插件了,需要自己安装。方法/步骤1、安装chrome打开视频窗口会出现“flash不是最新版本的提示” 2、在用户目录下创建文件夹23.0.0.185,在终端命令行输入下列命令。$sudo mkdir -p ~/.confi

2017-05-03 21:03:20 407

空空如也

空空如也

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

TA关注的人

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