自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beauty-coding 的博客

充电-分享-充电-分享-... ...

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

原创 设计模式系列 - 代理模式及动态代理详解

代理模式详解jdk & cglib 动态代理 详解代理模式 & 装饰器模式 对比

2023-02-28 20:03:01 597

原创 手把手教你镜像仓库Harbor搭建 & docker镜像上传

harbor 安装使用 教程

2023-02-23 13:16:37 574

原创 设计模式系列 - 备忘录模式

备忘录模式,也叫快照(Snapshot)模式,在不违背封装原则的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便之后恢复对象为先前的状态。

2023-02-22 10:51:19 382

原创 设计模式 - 模板方法模式详解

模板方法详解模板方法 vs 回调

2023-02-17 14:19:40 492

原创 设计模式-中介者模式详解

中介模式定义了一个单独的(中介)对象,来封装一组对象之间的交互。将这组对象之间的交互委派给与中介对象交互,来避免对象之间的直接交互

2023-02-12 16:37:13 527

原创 spring-cloud-alibaba: nacos原理详解

Nacos 致力于帮助您发现、配置和管理微服务。文章主要 注册中心&配置中心的原理详解

2022-11-13 19:26:27 1118

原创 spring-cloud-alibaba - nacos配置中心&注册中心 实战

spring-cloud-alibaba nacos作为 注册中心&配置中心 实战

2022-11-13 14:55:20 156

原创 spring-cloud-alibaba : nacos安装

spring cloud alibaba 注册&配置中心 nacos 安装

2022-11-06 16:54:06 775

原创 设计模式 - 命令模式

命令模式定义命令模式:将命令封装成对象,使命令的 发送和执行分离,并且方便了命令的 传递、修改等一系列管理工作优缺点优点降低系统耦合度,将调用者和执行者分离易扩展,命令修改只修改 命令对象即可;无需修改 调用者和执行者逻辑;缺点增加系统的复杂度,增加很多中间类(这也是大多数设计模式带来的问题)主要组成结构抽象命令:命令抽象具体命令:具体的命令业务实现执行者:命令的最终执行者调用者:发出命令者案例遥控器控制家电抽象命令:控制家电命令抽象具体命令:具体的控制家电命令执

2022-02-18 19:24:14 252

原创 设计模式 - 策略模式

定义策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。优缺点优点:多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句,如 if…else 语句、switch…case 语句。策略模式提供了一系列的可供重用的算法族,恰当使用继承可以把算法族的公共代码转移到父类里面,从而避免重复的

2022-02-14 17:42:00 179

原创 2022了redis 还不了解?看这里

前言很多小伙伴对redis的学习 很零散,感觉学习了很久,但是有感觉不了解redis 是什么在此给大家整理文章 见下后期会 更新 redis 从搭建使用到底层源码解读的系列;欢迎大家点赞关注redis是什么?redis 是一款基于 内存的key-value数据库;可以将数据持久化到磁盘底层自我实现数据结构支持事务基于io多路复用模型开源使用ANSI C语言编写单线程单进程redis的优缺点优点速度快支持的数据类型丰富操作都是原子操作(单线程)特性丰富事务发

2022-02-14 16:51:21 540

原创 设计模式 - 状态模式

定义状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。优缺点优点:结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。将状态转换显示化,减少对象间的相互依赖。将不同的状态引入独立的对象中会使得状态转换变得更加明确,且减少对象间的相互依赖。状态类职责明确,有利于程序的扩展。通过定义新的子类很容易地增加新的状态和转换。缺点:状态模式的使

2022-02-05 21:12:41 123

原创 设计模式 - 抽象工厂模式

定义和工厂方法 类似;只是 每一个具体的工厂可以 创建多种“产品”优缺点优点对调用者更友好:调用者无需了解"产品"的创建细节,直接调用工厂创建即可;如果随着业务修改,新增"产品",无需修改原工厂,只需要新增具体工厂类即可;符合“开闭原则”缺点如果工厂中新增一个"产品"组成,修改修改 此抽象工厂的 所有具体实现适用场景调用者不关心 “产品” 具体的创建细节;只想要 由多种"产品"组成的结果主要组成结构抽象工厂:生产 “产品” 的 共性抽象具体工厂:包含具体的 生产 “产品

2022-01-29 21:02:24 513

原创 设计模式 - 工厂方法模式

定义工厂方法模式(FACTORY METHOD)是一种常用的类创建型设计模式,此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的优缺点优点符合开闭原则,新增加"产品"对象 只需要 新增工厂实现即可;无需修改原来的代码解耦,抽象工厂 只依赖 高层的抽象"产品",调用者 无需 了解产品细节,只要了解每个工厂 可以生产哪个 产品缺点增加了系统的复杂度每个工厂只能生产一种 产品适用场景调用者 不关系 "产品"的创

2022-01-29 17:42:57 208

原创 设计模式 - 简单工厂模式

定义原始社会自给自足(没有工厂),农耕社会小作坊(简单工厂,民间酒坊),工业革命流水线(工厂方法,自产自销),现代产业链代工厂(抽象工厂,富士康)​工厂模式:定义创建 对象的 工厂接口,具体的工厂实现来实现 产品对象的创建简单工厂模式中创建实例的方法通常为静态(static)方法优缺点优点产品的 创建和 使用 分离;调用者可以免除 创建 "产品"对象的职责工厂类可以通过指定类型,生成不同的"产品"对象实例,调用者 无需知道"产品"对象的 具体内容可以结合 配置中心 ;在无需修改代

2022-01-27 22:07:19 347

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

定义建造者模式:将一个复杂的对象的 生成,拆解成 多个 小的对象的构造,从而达到 由于各个小部件的构造不同最终生成的对象 灵活可变的效果;(对象的组成是不变的,具体的组成部分内部可以灵活变化)优缺点优点对象的构建和展示 分离不同的业务场景 使用的 建造者 不一样,独立 解耦;扩展性好调用者 不需要了解 对象的具体建造过程,交给具体的建造者就行;对调用者更友好缺点对象的内部构成必须一样;有一定的局限性如果 随着 业务逻辑的迭代,对象组成有变化;所有的 关联建造者实现 都需要进行修改,成

2022-01-27 15:59:23 496

原创 设计模式 - 原型模式

定义原型模式(Prototype):通过已经实例好的对象实例,通过复制的方式 获取 内容相同或者类似的 对象;特点获取对象不通过直接调用构造方法 的形式获取获取的对象本身就可以包含一些属性可节省资源优缺点优点通过深拷贝 获取 一个包含原内容的新对象,简化了对象的创建过程,且少了部分内容的重复赋值缺点需要为类配置 clone 方法clone 方法在 对象内部,修改 逻辑 必须修改类;不符合"开闭原则"深拷贝实现 比较复杂,尤其 多层嵌套的对象 需要每一层都实现深拷贝主

2022-01-27 15:55:06 575

原创 设计模式 - 单例模式

定义单例模式(Singleton):一个类 只会创建一个对象实例,且由此类自行创建此类;特点一个类只会存在一个实例对象该实例对象只能由此类自行创建(构造方法是私有方法)对外提供全局 对象访问方式优缺点优点一个类只有一个实例对象,大大节省了内存占用提供对象访问的方式单一,简单已维护实例中资源共享缺点如果业务逻辑修改,只能通过修改 单例对象代码,扩展困难;不符合”开闭原则“涉及此类的 业务代码一般会在一个类中;容易导致类臃肿主要组成结构单例类:包含创建实例,提供对

2022-01-27 15:52:27 429

原创 设计模式 - 七大原则

开闭原则对扩展开放,对修改关闭;再不修改原业务代码的前提下,扩展新功能。 ;描述:开闭原则 是 面向对象设计的目的。应该尽量面向 抽象层(接口、抽象类等)开发单一职责原则主要针对功能提供方;根据业务将每一个类或者接口 提供尽可能小的粒度 的功能,最好一个或者一种 功能There should never be more than one reason for a class to change应该有且仅有一个原因引起类的变化接口隔离原则主要为功能使用方考虑,提供给他的接口 只是 他需要的接

2022-01-23 16:24:37 1975

原创 设计模式 - UML类图 看这一篇就够了

1. 类图的作用UML是一种通用的面向对象建模语言;大家都知道面向对象的思想和类有不可分割的联系,但是类在 不同的语言下的表现形式又是不尽相同;但是,实际工作之前的设计建模工作又至关重要(越复杂的系统越重要),UML类图完全 跨越语言,为人们所接受;2 类图模型**UML类图的模型 **主要 包括 类、接口、类之间的关系;类图说明类图说明可见性说明:+、#、-分别表示public、protected、private 类属性说明:抽象类或抽象方法用斜体表示如果是接口,则在类名上方加 <

2022-01-23 12:54:19 1039

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

**责任链模式:**为了避免请求发送者与多个请求处理者耦合在一起,此模式会创建一个请求处理的”链“,当”链“ 中的 当前节点不能处理此请求时,会传递给”链“中的下一个对象处理,以此类推直到能处理/到达”链“结尾为止。

2022-01-21 00:57:17 441

转载 再见 BeanUtils 对比 12 种 Bean 自动映射工具,就它性能最拉跨

一、前言为哈么,你的代码也就仅仅是能用而已?没有技术深度、短缺知识储备、匮乏经验积累的前提下,怎么写代码?百度呀,遇到问题这搜一点,那查一块,不管它是什么原理还是适合哪种场景,先粘贴到自己的工程里,看,能跑了,能跑就行。那这样的代码也就仅仅是能用程度的交付,根本没有一定的质量保证,也更别提数据结构、算法逻辑和设计模式了,那看的编程资料刷的LeetCode,全歇菜了。当你感觉看了很多资料又不会用的时候,会说什么,真卷,都学到这样了。但其实我并不觉对技术的深度挖掘、梳理全套的知识体系,一点点耕耘一点点收

2022-01-14 12:14:20 888

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

多个对象间存在 一对多的 依赖关系,对象状态发生变化时,所有依赖于它的 对象收到通知,并自动更新;也叫:发布订阅模式

2021-11-14 16:42:17 418

原创 redis 安装-就是这么简单

一、直接安装1、单节点安装略2、分布式-高可用redis集群搭建(此处模拟单机多进程,多服务器同理)环境信息redis版本 :5.0.8集群搭建修改配置文件pidfile /var/run/redis_6000.piddir /home/beauty/soft/app/redis/redis6000port 6000port 6000# Normal Redis instances can't be part of a Redis Cluster; only nodes th

2021-11-10 20:55:47 1300

原创 微信服务号开发 避坑指南(2121/11/14更)

微信服务号开发 避坑指南-持续更新中

2021-11-08 20:18:58 537

原创 后端鉴权-不用网关也可以很优雅

鉴权-不用网关也可以很优雅目录鉴权-不用网关也可以很优雅前言不废话直接上代码自定义注解注解属性赋值 类型枚举注解的具体切面逻辑使用示例代码前言​ 关于鉴权,程序猿/程序媛 或多或少肯定遇到过;最基础的方式就是,我们在每个需要鉴权的地方,手写代码;然后需要的地方 copy 或者 引用使用。有些伙伴可能 想说:”网关就可以很优雅的实现“(此处我们在不依赖网关的情况 更轻量的实现)不废话直接上代码基于spring AOP 实现(关于AOP的使用可以参考我前边文章https://blog.csd

2021-10-31 15:48:30 3154

原创 不清楚各个元注解的意思,看这篇就够了

不清楚各个元注解的意思,看这篇就够了

2021-10-31 15:29:08 108

原创 简述 接口幂等性

简述 幂等性什么是幂等性​ 幂等性:对于用户的同一个操作,一次调用接口和多次调用接口产生的效果 是一样的,不会因为多次调用出现 不一致的情况;为什么要保证幂等性​ 为什么要保证幂等性呢?(大家可以 自问一下),带着问题往下阅读,效果更好;​ 我们有一个 作业系统;针对一个题目学生 学生应该只有一个 未批改 的 答案信息,但是 由于 网络问题,学生点击提交后 无任何反应,学生就在此点击了”提交“按钮​ 这时候 我们发现 两个 不同时间的相同请求,都发送到了 服务端,请求接口;如果没有 幂等性处理

2021-09-27 23:27:31 73

原创 程序员的痛(文档): 在线文档神器-swagger3.0 接入

@[TOC](程序员的痛(文档): 在线文档神器-swagger3.0 接入)前言​ 作为一名攻城狮,工作过程文档的单独维护,其实一直是一个很让人 头疼的问题;于是就出现很多的插件工具帮助我们来自动的维护文档,提高生产力;其中 swagger就是一个 被 广泛使用的工具;他的升级版本 swagger3.0 也来了;这解决了多少人的 痛啊;但是,他也不是没有缺陷,如果编码 不够规范,入参/结果封装类维护不好,swagger的文档会让人看起来很头疼。废话不说直接开干。接入过程maven依赖<!-

2021-04-14 00:00:30 293 1

原创 算法-链表倒数第K个节点

1024,一个多么特殊的日子;程序员的节日;问大家一个问题:“作为一个程序员,最重要的素质是什么呢?”欢迎大家留言以下时今天博客的内容:题目说明返回链表的 倒数第 K 个数例如:1->2->6->9->4k = 2result: 9解题思路:1. 使用 双指针 pre,aft 两个指针 间隔 k ,aft到最后一个节点时,pre 这个节点即为 要求的 节点源码:public int kthToLast(ListNode head,int k){ Lis

2020-10-24 23:45:42 229 1

原创 idea 生成 javadoc

idea 生成 javadoc程序员最不喜欢的是?写文档程序员最讨厌的是?别人不写文档这个老生常谈的问题idea 的javadoc 可完美解决前提配置必须 将代码注释格式 书写规范例如: @author 1214 @version 0.1.0 @date 2020/8/25 17:42 @since v0.1.0.0工具位置编码设置(如果出现一下错误:(生成javadoc编码 GBK 的不可映射字符 (0xAF) )配置编

2020-08-28 12:35:51 286

原创 Python 处理大数据量(百万行)csv文件(已封装API)

Python 处理大数据量(百万行)csv文件(已封装API)前言python 一门神奇的语言,前几年一直流传一句话“人生苦短,我用python”;确实有一个神奇现象,1991年出现的 python 语法居然比后来出现的java 语法更简单。公司最近有一个处理,大数据 量csv文件的需求,用python 写了一个demo(此demo 基于pandas实现)1. pandas1.1 简介:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大

2020-08-18 19:59:03 4558

原创 大数据时代-你需要了解的大数据处理神器-Hadoop

hadoop1.1 hadoop 介绍1.2 hadoop 组件介绍Hadoop的核心生态架构核心组件2.1 hadoop 搭建2.1.1 hadoop 下载2.1.2 准备环境2.1.3 安装 方式2.1.4 配置2.1.5 测试1.1 hadoop 介绍官网介绍:​ The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets acr

2020-08-04 17:23:51 1611 1

原创 mysql-事务隔离级别超级详细 解读

mysql-事务隔离级别超级详细 解读1、事务1.1百科定义:​ 数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位1.2事务性质(ACID)...

2020-06-09 19:43:13 3731

原创 线程池超级详解 吐血整理

线程池 详解 吐血整理数哥:你们用多线程吗?我:用啊数哥:我们根本不需要,厉害吧我:。。。。。。厉害数哥:你们怎么用的啊?我:一般都是用线程池,不会直接创建线程数哥:线程池??? 干什么的?我:。。。。。。 !!!!!!1、使用线程池的好处我们知道创建减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下2、线程池创建、执行2.1线程池的执行流程

2020-05-30 14:14:21 6495 16

原创 JVM-GC算法及垃圾收集器超级详细解读(520 是什么? 不存在)

数哥:今天 05-20 据说这是一个节日?我:不知道数哥:那你今天怎么过?我:撸起袖子-撸代码一、GC算法1、标记-清除算法描述:标记。从根结点(GC root)出发遍历对象,对访问过的对象打上标记,表示该对象可达。清除。对那些没有标记的对象进行回收,这样使得不能利用的空间能够重新被利用。优点:实现简单不移动对象,缺点:清理出来的空闲内存是不连续的效率比较低(递归与全堆对象遍历),而且在进行GC的时候,需要停止应用程序[外链图片转存失败,源站可能有防盗链机制,建议

2020-05-20 20:06:19 3087

原创 正确配置JVM参数-附JVM参数详解

一、内存配置参数1、参数详解JVM参数类型标准参数(-)所有的JVM实现都必须实现这些参数的功能,而且向后兼容。非标准参数(-X)默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容。非Stable参数(-XX)此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用JVMc参数几种类型说明:布尔型参数选项:-XX:+ 打开, -XX:- 关闭。数字型参数选项通过-XX:=设定。字符行参数选项通过-XX:=设定,通常用来指定一个文件,路径,

2020-05-19 21:28:00 8211 1

原创 JVM内存模型详细解析

JVM内存模型详情解析一、结构图NOTE: string常量池 存在 堆内存中二、各部分详情解析1、堆1)老年代对象年龄(经过一次 monitor GC 年龄加1) >15 的会存到 老年代2)年轻代eden内存分配默认是 年轻代 80%survivor内存分配默认是 年轻代20%(from 和 to 区分别占10%)3)常量池:​ String常量 存储在堆中2、虚拟机栈1)局部变量表存储的数据:存放方法参数和方法内定义的局部变量note:局部

2020-05-19 21:20:15 3939

转载 35 个 Java 代码优化魔鬼细节

前言代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每...

2020-05-07 19:56:22 161

原创 分布式-高可用redis集群搭建(此处模拟单机多进程,多服务器同理)

分布式大环境下你还在用单机redis?手把手教你高可用redis集群搭建(此处模拟单机多进程,多服务器同理)环境信息redis版本 :5.0.8集群搭建修改配置文件pidfile /var/run/redis_6000.piddir /home/beauty/soft/app/redis/redis6000port 6000port 6000# Normal Redis ...

2020-05-07 19:49:19 889

空空如也

空空如也

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

TA关注的人

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