自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈汉槟

机遇是给有准备的人

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

原创 设计模式-外观模式

文件上传为例:涉及到用户认证、文件上传、消息通知。封装多个系统交互的实现类。

2025-10-14 10:37:27 551

原创 设计模式-组合模式

上面的是针对业务(部门)抽象,组合形成部门树。、**节点生成器(TreeNodeBuilder)**就可以了,如果要定制化,就直接在其基础上修改。部门的抽象类 - 提取部门需要展示的属性,同时方便以后部门类整改不受影响,保证可维护性。部门、菜单、文件共性:标识、父标识、名称等节点属性。部门树、菜单树、文件树共性:包含自身,即节点集合。可见,有新的业务要生成树形结构,先后要继承/实现。部门树(节点树生成器,覆盖或者新增功能)部门树(节点树的子类,添加业务属性)部门类(节点的子类,添加业务属性)

2025-10-14 10:34:58 554

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

以文件为例,创建不同类型的文件(文档、图片、视频等)指导者:通过建造者,管理其依赖顺序,并创建。

2025-10-14 10:31:30 277

原创 设计模式-原型模式

以文件为例,拷贝文件及文件夹。

2025-10-13 20:47:59 890

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

多组产品接口、子类和工厂。

2025-10-13 20:46:16 659

原创 设计模式-工厂模式

以交通工具为例,根据不同类型,驾驶不同交通工具。

2025-10-13 20:45:13 937

原创 设计模式-模板模式

已发送验证码为例,验证码的流程基本是固定的。

2025-10-10 21:58:20 653

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

以云存储为例,需要兼容不同服务商API。不同云存储服务商API。

2025-10-10 21:53:17 1043

原创 设计模式-策略模式

文件存储服务为例:选择不同文件存储策略,上传文件。具体存储策略:阿里云OSS和Minio。

2025-10-10 21:51:46 361

原创 Redis基础知识

redis 简介Redis是一个基于内存的高性能key-value数据库,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。

2025-10-06 20:33:38 881

原创 为什么使用ThreadPoolExecutor创建线程池

单凡涉及到网络读取,文件读取这类都是 IO 密集型,这类任务的特点是 CPU 计算耗费时间相比于等待 IO 操作完成的时间来说很少,大部分时间都花在了等待 IO 操作完成上。【强制】线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。,丢弃队列中等待时间最长的任务,并执行当前提交的任务,如果线程池已经关闭,任务将被丢弃。方法的调用线程中运行被拒绝的任务,如果线程池已经关闭,任务将被丢弃。

2025-10-06 18:06:08 691

原创 单例模式-反射破坏

优点:反射创建实例中,有针对枚举单例做处理,避免多实例化 {@link Constructor#newInstance(java.lang.Object…双重检测锁(优缺点跟懒加载一样)只针对具体问题列举代码,请结合。枚举能避免反射的原因,源码如下。

2025-10-05 21:27:03 589 1

原创 Java8 Lambda语法、函数接口、方法引用

接口中的方法必须是唯一的(在相同参数的前提下,如果有一个参数和两个参数的抽象方法还是可以的,因为可以通过参数个数来识别Lembda表达式到底是在实现哪个方法)!Lambda 表达式的基础语法:Java8中引入了一个新的操作符 “->” 该操作符称为箭头操作符或 Lambda 操作符。可以标明此接口为函数式接口,这样在编译的时候如果在写接口的时候不符合函数式接口的条件,就会发生编译错误了。通常并不自己去写一个函数式接口供自己使用,java已经提供了内置的。四大内置函数式接口还有许多子接口,如下图。

2025-10-05 11:57:11 889

原创 Java反射

反射实在程序时动态加载类并获取类的详细信息,从而操作类或对象属性和方法。本质在JVM中获取class对象,在对class对象反编译,从而获取对象的各种信息类加载与反射原理图。

2025-10-05 11:21:54 653

原创 IDEA Debug调试

在一个循环中有一个数据报错,想在报错的时候断点,无法使用条件断点,而且循环次数很多,一次一次断掉放过非常麻烦。场景:查看某个对象的某个属性,总是使用表达式很不方便,是否可以将表达式计算的结果总是显示在变量区域呢?要求:远程调试要求本地代码和远程服务器的代码一致,如果使用 git ,切换到同一个分支的同一次提。场景:在测试环境中,如果设置普通断点,这样会对所有的请求暂停,影响其他功能调试。场景:我们实际调试代码时,会有这样的场景,调用的参数传错了。场景:设置或获取额外的信息,这对排查问题有很大帮助。

2025-10-04 18:27:34 905

原创 final关键字详解

被 final 修饰的变量不可以被改变,这里有两种情况。(因此 final 不能修饰抽象类)被 final 修饰的。被 final修饰的。

2025-10-04 18:24:13 296

原创 Exception与Error的区别

指的是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。指的是正常情况下,不太可能出现的问题。绝大多问题往往导致程序处于。JDK1.7 之前,采用try-catch-finally处理。JDK1.7 之后,try-with-resources处理。类,在Java中只有Throwable类型的实例才可以被。状态,因此无需捕获。

2025-10-04 18:20:19 662

原创 Java重写与重载区分

Java重写与重载区分. 个人博客 http://blog.deschen.cn/文章目录Java重写与重载区分一、什么是重写和重载二、要点说明一、什么是重写和重载重写:子类继承父类方法,不改变原有的参数类型、参数数量及参数排列顺序和方法响应类型,覆盖父类的方法重载:同一个类中,方法名相同,根据参数类型、参数数量及参数排序位置的不同,做出不同的处理区别区分点重写重载发生阶段运行期编译期发生范围子类同一个类参数列表跟原有的一样可修改原

2022-02-13 18:35:02 323

原创 docker-compose + jenkins搭建部署

docker-compose + jenkins搭建部署个人网站 https://blog.deschen.cn/文章目录docker-compose + jenkins搭建部署一、docker的下载安装二、docker-compose安装三、docker-compose+jenkins部署四、异常处理一、docker的下载安装docker安装环境条件# Docker安装环境条件# 1、Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。# 2

2022-02-12 23:08:38 1899

原创 SpringBoot部署-Centos7.X

个人博客 https://blog.deschen.cn/SpringBoot部署-Centos7.X一、pom文件引入插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifa.

2022-02-12 22:57:58 359

原创 Maven生命周期

Maven生命周期个人网站 https://blog.deschen.cn/文章目录Maven生命周期一、Maven生命周期的定义二、Maven三套独立的生命周期三、Maven的插件一、Maven生命周期的定义Maven的生命周期就是为了对所有的构建过程进行抽象和统一。包括项目的清理,初始化,编译,测试,打包,集成测试,验证,部署和生成站点等构建步骤。二、Maven三套独立的生命周期Maven提供了三套独立的生命周期:clean, default 和 siteclean生命周期:清理项目

2022-02-12 22:34:12 7609 1

原创 Redis部署-CentOS7.X

Redis部署-CentOS7.X文章目录Redis部署-CentOS7.X一、安装gcc依赖二、下载安装Reds三、Redis设置四、启动Redis五、关闭Redis六、开机自启动一、安装gcc依赖因为Redis是用C语言:yum -y install gcc二、下载安装Reds下载:wget http://download.redis.io/releases/redis-3.2.9.tar.gz安装到指定目录:tar -zxvf redis-3.2.9.tar.gz -C /usr/lo

2020-12-30 17:06:28 144

原创 MySQL部署-CentOS7.X

MySQL部署-CentOS7.X文章目录MySQL部署-CentOS7.X一、下载和安装MySQL二、MySQL配置三、关闭防火墙问题及处理一、下载和安装MySQLps:必须处在 /root 目录中操作下载:wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm安装repo:yum -y install mysql57-community-release-el7-10.noarch.rpm安

2020-12-30 17:05:51 245

原创 ELK部署——CentOS7.X

ELK部署——CentOS7.X文章目录ELK部署——CentOS7.X一、创建用户角色二、下载和安装三、配置四、启动一、创建用户角色创建用户组:groupadd es创建用户加入用户组:useradd es -g es二、下载和安装下载: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz wget https://artifacts.elastic.co/d

2020-12-29 16:24:43 284

原创 Mongodb部署——CentOS7.X

Mongodb部署文章目录Mongodb部署一、下载和安装Mongodb二、创建配置文件及日志文件三、mongodb开机启动四、测试一、下载和安装Mongodb下载网址[外链图片转存失败安装解压:tar -zxvf mongodb-linux-x86_64-rhel70-4.4.2.tgz -C /usr/local重命名mongodb解压文件夹: cd /usr/local/mongodb-linux-x86_64-rhel70-4.4.2 mv mongodb-linux-x8

2020-12-28 15:46:50 299

原创 深入理解JVM( 一 )--类加载过程详解

深入理解JVM( 一 )–类加载过程详解文章目录深入理解JVM( 一 )--类加载过程详解一、Java文件从编码完成到最终执行过程二、类加载过程详解1、类加载的过程2、类加载五个阶段:2.1 加载:2.2 链接:包含验证、准备、解析三个过程2.21 验证2.22 准备2.23 解析2.3 初始化如果向学习和理解JVM的话,《深入理解JVM虚拟机》这本圣经必不可少的,我也是你们其中一份子,这本...

2020-02-05 14:31:25 492

原创 分库分表理论篇—— 以MySQL为例

分库分表理论篇—— 以MySQL为例文章目录分库分表理论篇—— 以MySQL为例一、背景二、如何优化三、什么是分库分表三、优势和弊端一、背景当今互联网大爆炸的时代,业务越来越多和大,单库单表数据超出数据库支持容量,数据库I/O操作次数会越来越多和慢,数据库的整体性能就会急剧下降。二、如何优化这里我想到几种优化的方法减少数据库访问压力使用缓存技术,对数据库的信息进行缓存,减少数据库...

2020-01-19 16:52:13 3742

原创 设计模式-单例模式

详解五种单例模式文章目录详解五种单例模式一、什么是单例模式二、单例模式应用的场景三、单例模式的优缺点四、单例模式四种模式0、idea 多线程debug调试1、懒汉模式2、饿汉模式3、双重检测锁4、静态内部类5、枚举单例5.1 反射攻击双重检查锁单例模式5.2 如何防止反射破坏5.3 枚举单例的出现5.4 枚举单例抵制反射分析一、什么是单例模式单例模式,属于创建类型的一种常用的软件设计模...

2020-01-15 21:37:09 4233 2

原创 Spring Security笔记---基本原理及认证流程

Spring Security笔记—基本原理及认证流程文章目录Spring Security笔记---基本原理及认证流程1. 基本原理2.认证流程2.1 流程图2.2 认证源码大致方向2.2 源码详解1. 基本原理黄色模块:SecurityContextPersistenceFilter是承接容器的session与spring security的重要filter,主要工作是从sessi...

2019-08-20 00:47:25 657

原创 Restful风格设计

Restful风格设计文章目录Restful风格设计1.简介Restful 其实不是什么新技术或服务,而是一种对web进行一些标准和约束,是目前最流行的 API 设计规范,用于 Web 数据接口的设计2. 为什么使用Restful风格1. 普通http请求,没有一种规范去约束,开发不只是一个人的事,无规律的http请求,时间一久连你自己都可能忘记何况拿给别人看呢2.,Restful请求具有自描述...

2019-08-12 22:56:30 669

空空如也

空空如也

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

TA关注的人

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