自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈Sir的博客

一个精致的程序员

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

原创 MySQL 查询版本控制表中存在多个版本记录但只取最大版本号对应记录

在一些版本控制表中会存在多个版本的信息如图1,在这个版本控制表中存在3个版本的节假日参数,但是我们在取数据时一般只取最新版本的数据,也就是版本号最大且启用时间已经到的数据。

2019-02-14 12:37:03 11382 9

原创 在Spring Boot中实现关键配置的热加载(无需改业务代码)——实战与完整代码

本文提出了一种实现Spring配置热更新的解决方案。通过创建SpringValueRefresher核心类,在启动时扫描所有@Value注解字段并建立映射缓存,定时拉取远程配置后,对允许热更新的非敏感配置项(自动排除数据库连接、密码等关键信息)进行内存级别的值更新。系统采用双重安全机制(框架黑名单+敏感关键字过滤)确保安全性,并对.properties文件中的转义字符进行规范化处理以避免误判。该方案无需修改现有业务代码,通过反射机制实现对@Value注入字段的动态更新,同时支持基本类型转换。文中提供了可直接

2025-10-15 15:32:39 829

原创 一款好用的SSH连接工具-Tabby Terminal 使用教程

本文主要介绍了一款好用的终端连接工具,Tabby(原名 Terminus)是一款现代、功能强大的终端模拟器,支持多种操作系统,包括Windows、macOS和Linux。它提供了丰富的插件系统、主题支持以及高度自定义的界面,旨在为用户提供极佳的终端使用体验。

2024-05-24 09:39:15 17675 1

原创 使用大模型结合Mermaid实现业务流程图快速生成

本文档主要介绍使用ChatGPT结合Mermaid实现业务流程简单快速生成,满足一些为了凑页数对作图要求不高的文档。置于那些对图片和文档质量要求很高的,此方案不太行了,需要大家手工画了。

2024-05-23 17:43:37 9992

原创 程序员必备画图工具Draw.io使用教程

Draw.io 是一款免费且开源的在线绘图工具,支持多平台使用,并与多种云存储服务无缝集成。它提供丰富的模板和图形库,强大的编辑功能,实时协作,以及多种导出和导入选项。无论是流程图、网络图、还是组织结构图,Draw.io 都能帮助你快速高效地创建专业图表。其易用性和功能性使其成为个人和团队绘图的不二选择。

2024-05-22 16:31:11 7710 3

原创 阿里云服务器+Frp+Proxifier工具进行内网穿透

frp+Proxifier当我们想把内网的一些资源暴露在公网上时,可以使用内网穿透功能。比如公司的内网服务器,部署了平时需要开发的项目,但是回到家中无法访问,就可以使用内网穿透,将公司内网的接口映射到一台公网的服务器上,用这台公网服务器做转发即可实现在家中也能外网访问。

2023-09-21 17:06:00 4205

原创 如何在不重装系统情况下换个硬盘

直接硬盘克隆无需重装系统,之前所有的用户数据,系统数据,开发工具,开发环境,开发软件都不需要再重新一个一个安装,省时又省心。

2023-03-13 18:50:36 4878

原创 Linux 离线环境下安装RabbitMQ

Linux 离线环境下安装RabbitMQ

2022-11-08 16:58:24 5882 12

原创 java 日志打印实体类时隐藏敏感字段不打印

在日常开发过程中经常会遇到一些实体类中定义的字段是敏感字段,例如密码,手机号等敏感信息,有需要将实体信息打印到日志中的情况。所以需要在调用日志打印框架时想将敏感字段隐藏掉,不要输出到日志中。

2022-11-07 10:43:36 4265

原创 Mysql 增加或修改表中指定字段名称以及类型

Mysql 增加或修改表中指定字段名称以及类型

2022-10-21 10:53:39 1795

原创 Mysql 自增主键设置以及重置自增值

Mysql 自增主键设置以及重置自增值

2022-10-21 10:37:20 19001 1

原创 Android 常用布局介绍

Android 常用布局简单介绍

2022-08-04 10:19:32 4000

原创 Android 项目工程目录简单介绍

Android 项目目录结构简单介绍。

2022-07-22 14:51:24 2520 1

原创 Android Service组件实现后台音乐播放

Android Service以及Activity学习时实现的一个简单的后台音乐播放器。

2022-07-22 14:40:12 11057 5

原创 Android App如何隐藏标题栏并修改状态栏样式

我们在Android开发过程中,在创建APP界面时都会存在默认的样式,大多数时候我们的APP页面都是不需要标题栏的,同时状态栏保持全透明状态直接显示主界面背景风格。

2022-07-22 11:25:17 1607

原创 Android 四大开发组件

Android 四大开发组件的学习使用分享。

2022-07-22 10:23:47 5645 1

原创 浪潮服务器安装CentOS 7 教程

服务器安装Linux CentOS7

2022-06-23 17:04:18 10822 1

原创 SQL 调优之二索引调优

一、什么是索引SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了系统的性能,加快数据的查询速度,减少系统的响应时间。聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续。就像字段,聚集索引是连续的,a后面肯定是b,非聚集索引就不连续了,就像图书馆的某个作者的书,有可能在第1个货架上和第10个货架上。还有一个小知识点就是:聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。二 、索引的原理...

2021-09-22 16:44:40 288

原创 SQL 调优之一Select调优

一、概述SQL语句当中最常用的分别是 SELECT,INSERT,UPDATE,DELETE以及MERGE,里面最重要的还是SELECT语句。SELECT语句用来从一个或多个表中或者其他数据库对象中提取数据,SELECT语句查询的效率也决定了系统的性能,所以加快SELECT的查询速度是十分必要的,下面简单介绍下如何提高SELECT效率。二、SELECT调优技巧1、尽量避免使用select *,返回无用的字段会降低查询效率。如:SELECT ...

2021-09-22 15:32:23 2788

原创 Rabbitmq在win10下安装和配置

一、Rabbitmq简介RabbitMQ(Rabbit Message Queue)的简写,但不能仅仅理解其为消息队列,消息代理更合适。RabbitMQ 是一个由Erlang语言开发的 AMQP(Advanced Message Queuing Protocol)(高级消息队列协议)的开源实现。支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX,最重要的是也支持 O...

2021-08-15 10:58:51 701

原创 Linux HaProxy安装/启动/简单配置教程

Linux HaProxy安装/启动/简单配置教程简介Haproxy 虽然带着ha,但它做的确是负载均衡。haproxy是工作在四层之上的,这也就意味着它可以代理的服务要比nginx更广泛,性能比nginx也要更高一些。相比较lvs,可配置性又比较好,需要的机器没有lvs那么多。因此haproxy在一定需求下使用还是不错的。比如使用haproxy来对mysql的从节点进行负载均衡。下面我们就来简单的使用haproxy来进行MySQL的负载均衡。环境准备在开发测试环境中我们通过在186服务器上安装

2021-06-02 09:04:27 7596

原创 通过私有Docker仓库在K8S环境上部署应用程序教程

通过私有Docker仓库在K8S环境上部署应用程序教程需求描述最近项目组在做了一个自助缴费相关的车道项目,根据前期架构设计、部署安装模式设计、自动升级设计、负载均衡设计相关思路。最终敲定的需求是要在一个无外网的内部局域网服务器群上进行K8S(Kubernetes)环境部署,然后在这个K8S环境上通过构建私有的Docker镜像仓库来进行业务程序的部署升级负载均衡。目前主要以在公司的kubeedge测试环境上进行部署操作的演示。 Host Name IP

2021-06-01 18:09:51 868

原创 分布式消息队列之二---消息消费模型

一、消息队列的消费模型先来看一下消息队列的两种基础模型,也就是点对点和发布订阅方式。这两种模型来源于消息队列的 JMS 实现标准,消息队列有不同的实现标准,比如 AMQP 和 JMS,其中 JMS(Java Message Service)是 Java 语言平台的一个消息队列规范,上一课时中讲过的 ActiveMQ 就是其典型实现。AMQP 和 JMS 的区别是,AMQP 额外引入了 Exchange 的 Binding 的角色,生产者首先将消息发送给 Exchange,经过 Binding 分发给不同

2021-03-27 13:03:27 1123

转载 分布式消息队列之一---应用场景

分布式系统不同模块之间的通信,除了远程服务调用以外,消息中间件是另一个重要的手段。一、什么是消息队列 消息队列就是传递消息的队列。参与传递消息的双方成为生产者和消费者,生产者和消费者可以只有一个实例,也可以集群部署。消息格式既可以是简单的字符串,也可以是序列化后的复杂文档信息。队列是消息的载体,用于传输和保存消息,它和数据结构中的队列一样,可以支持先进先出、优先级队列等不同的特性。二、消息队列的应用场景消息队列可以用于系统内部组件之间的通信,也可以用于系统跟其他服务之间的交互...

2021-03-27 12:36:33 479

原创 字符串相似度比较工具

字符串相似度比较工具

2021-01-27 10:21:30 3716

原创 金额转换算法

金额转换算法在我们日常开发过程中,在和金额相关的业务打交道的时候经常需要把阿拉伯数字金额装换为大写的金额(例如:壹佰圆整)。本人最经也正好也有这个需求,故整理了一个简单的转换算法。/** * 金额转为大写金额工具类 * * @date: 2020/12/2 09:08 */public class MoneyChangeUtil { private static final String digit_single = "零壹贰叁肆伍陆柒捌玖"; private stati

2020-12-14 10:17:05 648 1

原创 Java8 LocalDateTime转换工具类

import java.time.Duration;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;/** * LocalDateTime时间转换工具 * * @author: wuChen * @date: 2020/9/3 09:06 */public final class LocalDateTimeUtil { /** * 指定样式的时间字符串转LocalDateT..

2020-09-03 15:04:37 736

原创 Java之BigDecimal 使用说明

一、BigDecimal产生​ Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigD.

2020-08-12 15:23:08 1337

原创 计算机网络基础知识笔记

计算机网络的类别1、按照网络的作用范围来分类:广域网 WAN(Wide Area Network)广域网的作用范围通常几十到几千公里,是互联网的核心部分,其任务是长距离运送主机所发送的数据。 城域网 MAN(Metropolitan Area Network)城域网的作用范围一般是一个城市。 局域网 LAN(Local Area Network)局域网一般用微型计算机或工作站通过高速通信线路相连,但范围较小。 个人区域网 PAN(Personal Area Network)个人区域...

2020-08-07 16:41:33 1097

原创 Netty学习笔记--简介篇

一 、Netty简介Netty 是基于 Java NIO 的异步事件驱动的网络应用框架,使用 Netty 可以快速开发网络应用,Netty 提供了高层次的抽象来简化 TCP 和 UDP 服务器的编程,但是你仍然可以使用底层的 API。Netty 的内部实现是很复杂的,但是 Netty 提供了简单易用的API从网络处理代码中解耦业务逻辑。Netty 是完全基于 NIO 实现的,所以整个 Netty 都是异步的。Netty 是最流行的 NIO 框架,它已经得到成百上千的商业、商用项目验证,许多框架.

2020-07-08 08:55:00 236

原创 Activity 初识

一 、Activity简介1、工作流(WorkFlow)是什么?工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。常见的工作流框架有Activity、JBPM、OSWorkFlow、WorkFlow。本系列使用activiti5.13版本。工作流框架底层需要有数据库提供支持,activiti5.13版本,有23张表。..

2020-06-29 16:32:09 302

原创 第三节 线性表的顺序存储

一、顺序表 1、顺序表的定义线性表的顺序存储又称为顺序表,它是用一组地址连续的存储单元,依次存储线性表中的数据元素。从而使得逻辑上相连的两个元素在物理上也是相邻的。表中元素的逻辑顺序与物理顺序相同。2、线性表的顺序存储表示3、线性表顺序存储类型描述4、顺序表的特点 顺序表的主要特点是随机访问,即通过首地址和元素序号可以在O(1)的时间内找到指定元素。 顺序表的存储密度高,每个节点只存储数据元素。 顺序表逻辑上相邻的元素物理上也相邻,所以插入和删除...

2020-06-24 14:36:47 2895

原创 第二节 线性表的基本概念与实现

一、线性表的定义和基本操作1、定义:线性表是具有相同数据类型的n个数据元素的有限序列。该序列中所含元素的个数叫作线性表的长度,用n表示。当n=0时线性表是一个空表。(1)线性表一般表示 : L = (a1 , a2 , a3 , ......,an)其中,a1是唯一的“第一个”数据元素,又称表头元素;an是唯一的“最后一个”数据元素,又称表尾元素。除第一个元素外每一个元素都有且仅有一个直接前驱元素。除最后一个元素外每一个元素都有且只有一个直接后继元素。2、线性表的特点..

2020-06-22 10:52:28 297

原创 第一节 数据结构和算法基本概念

一、数据结构的基本概念1、数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并且被计算机程序处理的符号的总称。2、数据元素:数据元素是数据的基本单位。一个数据元素可由若干个数据项组成。3、数据项:数据项是构成数据元素不可分割的最小单位。4、数据对象:性质相同数据元素的集合。5、数据结构:在任何人问题中数据元素都是不可孤立存在的,而是他们之间存在着某种关系,这种数据元素之间的某种关系称之为数据结构。数据结构包括了3个方面的内容:逻辑结构、存储结构、数据的运算。6、数据

2020-06-22 10:49:05 311

原创 Redis 的一见钟情

一、redis 简介Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的、非关系型,键值对存储数据库。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

2020-06-19 10:06:35 308

原创 CPU卡技术学习笔记1

COS(Chip Operating System片内操作系统)COS 出现背景随着IC卡从简单的同步卡发展到异步卡,从简单的EPROM卡发展到内带微处理器的智能卡(又称CPU卡),对IC卡的各种要求越来越高。而卡本身所需要的各种管理工作也越来越复杂,因此就迫切地需要有一种工具来解决这一矛盾,而内部带有微处理器的智能卡的出现,使得这种工具的实现变成了现实。COS的出现不仅大大地改善了智能卡的交...

2019-07-31 18:22:56 1295

原创 Nginx 反向代理 Windows安装部署教程

一、Nginx简介Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。先下载直接去官网http://nginx.org/en/download.html。我们选择windows 1.16.0稳定版。二、安装部署1、下载完成后,...

2019-07-16 16:56:50 6742

原创 常用设计模式学习总结

常用设计模式学习分享设计模式概述设计模式定义设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 2、设计模式分类(1)根据其目的(模式是用来做什么的)可分为创建型,结构型和行为型三种:创建型模式主要用于创...

2019-03-06 11:10:51 640

原创 Java 异常 过坑大全

Java常见异常处理异常是Java程序中经常遇到的问题,一个异常就是一个Bug,就要花很多时间来定位异常。Java异常(1)Throwable是Java异常的顶级类,所有的异常都继承于这个类。(2)Error,Exception是异常类的两个大分类。(3)Error是非程序异常,即程序...

2019-03-01 16:07:11 617

原创 Linux 如何快速 安装 MySql

一、安装步骤 第一步:linux指令查看mysql是否安装。1、rpm -qa|grep mysql 第二步:如果mysql的版本不是想要的版本。需要把mysql卸载 1、yum remove mysql mysql-server mysql-libs mysql-common 2、rm -rf /var/lib/mysql/ 3、rm ...

2019-02-21 14:49:54 439

Android Service组件实现后台音乐播放项目源码

简单实现了一些Android初学者快速熟悉了解Android四大开发组件的源码。

2022-11-24

Linux 离线安装Rabbit MQ所需环境及安装包

Linux 离线安装Rabbit MQ所需环境及安装包, 主要包含ncurses,perl(perl-5.36.0.tar.gz),OpenSSL(openssl-1.1.1i.tar.gz),erlang(otp_src_23.2.tar.gz),rabbitmq(rabbitmq-server-generic-unix-3.8.11.tar)

2022-11-08

空空如也

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

TA关注的人

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