自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MYSQL常用的JSON函数 JSON_SET,JSON_KEY

update t_json set content = JSON_SET(content,'\$.id',1);update t_json set content = JSON_SET(content,'\$.name','jack');update t_json set content = JSON_SET(content,'$.wife',JSON_OBJECT('name','zhang','age',24));

2023-05-19 21:14:10 2041

原创 Spring中有哪些扩展点?和@Import注解的使用

Spring中有哪些扩展点?和@Import注解的使用1.BeanDefinitionRegisterPostProcessor 作用实现该接口后可以注册BeanDefinition对象到Spring IOC容器,是对BeanDefinition的扩展。

2023-03-04 23:56:41 554

原创 深入理解Spring源码应用之扩展功能,扩展Spring小功能,扩展Feign接口,改为调用所有机器的服务。自己集成mybaits到Spring,实现Mapper接口注入Spring IOC容器。

深入理解Spring源码应用之扩展功能。运用一:扩展feign功能,由负载均衡调用单服务改为调用全部服务用于刷新缓存。运用二:自己集成mybaits到Spring,实现Mapper接口注入Spring IOC容器

2022-09-04 16:29:53 254

原创 Java日志框架log4j、logback、jul这么多?到底如何选择,他们之间有有什么关联?如何整合使用?

Java日志框架log4j、logback、jul这么多?到底如何选择,他们之间有有什么关联?如何整合使用?Spring使用的日志框架是Apache Common logging,而我们的项目SpringBoot使用的是logback,需要维护多套日志配置文件吗?如何整合呢?

2022-08-21 00:14:11 254

原创 你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及源码解析

你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及源码解析

2022-08-20 19:18:44 1552

原创 ThreadLocal源码解析以及常见面试题

ThreadLocal源码解析,为什么要使用Entry数组,为什么Entry要继承弱引用?

2022-08-08 18:09:12 367

原创 设计模式(基本原则)之适配器模式、委派模式、访问者模式、工厂模式、桥接模式(双维度扩展)、解释器模式

从ReentrantLock作为入口手撕AQS源码设计模式分类:适配器模式(Adapter)定义使用场景代码实现写法一:类适配器写法二:对象适配器实际应用例子代码实现(版本一)代码实现(版本二)设计模式分类:适配器模式(Adapter)定义将一个类的接口变成客户端期望的另一种接口使用场景已经存在的类,他的方法和需求不匹配,适配器模式不是软件设计阶段考虑的类,是由于随着软件的发展,不同产品,不同厂家功能类似、而接口不同的情况的解决方案。总结:适配器模式的局限性在于1.原功能与期

2022-05-29 22:13:28 441

原创 根据自动装配原理在Springboot项目中自定义starter,并实现热插拔技术,自定义@enable

Springboot中自定义starter自定义starter简单步骤使用测试优化(热插拔技术)自定义starter简单步骤创建项目,并引入autoconfigure依赖,根据自己的需要选择spring-boot的版本号maven项目:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</ar

2022-03-26 19:01:33 752

原创 mysql核心知识(一)存储引擎、索引、数据页

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-03-13 18:41:18 2134

原创 二进制、十进制、十六进制负数的转换以及位运算

2进制10进制16进制之间的转换,包含负数。前言:转换原则16进制[A-F]与10进制、2进制转义表一:2进制转16进制二: 2进制中的负数如何转换成16进制1:先写成正数的二进制2. 取反3.加一4.按照每四位合成一位转换成16进制三、16进制转10进制1.先转二进制,一位代表4位的原则,2.2进制转10进制前言:转换原则以byte为例,1byte即一个字节,1字节=8bit位,转16进制标准:每四位(bit位)取成一位。十六进制中的[0-9]与十进制中的[0-9]表示意义相同,其他数字见下表

2022-03-09 00:18:30 2243

原创 如何本地下载阅读Spring源码

如何本地下载阅读Spring源码环境准备gradle安装与idea集成idea创建gradle项目使用阿里云镜像下载Spring源码并启动运行项目下载spring源码到idea调整Repositories的本地仓库以及阿里云镜像创建自己的测试module在项目中创建xml,配置bean编写java代码并测试环境准备由于spring源码使用GRADLE工具构建,所以本地必须要安装好gradle环境gradle安装与idea集成官网下载即可,配置环境变量与java的配置相同,详情请百度。集成到

2022-02-04 11:24:39 534

原创 Spring中事务失效@Transaction 注解失效的原理以及解决方案

Spring中事务失效@Transaction 注解失效的原理以及解决方案失效场景场景一失效原理解决方案场景二场景三失效场景场景一1.在一个没有@transaction方法上调用另外一个有该注解的方法,那么另外一个方法的注解将会是无效的,如下面代码中的insertUserNoTrans()方法调用有注解的insertOrder()方法。public void insertUserNoTrans(User user){ userMapper.insertSelective(user

2021-11-28 15:22:14 510

原创 JVM常用参数设置以及排查工具jstat,jmap介绍

常用的参数设置参数解释备注-Xms最小的heap内存如:-Xms215m,建议最小值与最大值-Xmx设置相同,避免自动扩展-Xmx最大的heap内存-Xmx215m-XX:+HeapDumpOnOutOfMemoryError当虚拟机出现内存溢出时Dump当前的heap内存快照存储的默认位置在哪里?-Xss内存栈的容量,当出现栈内存溢出时抛出:StackOverflowError异常 ,一般不用设置如:-Xss128m-XX:PermSize=

2021-11-14 18:51:21 143

原创 redis-学习-由入门到精通、常见的面试题目,redis分布式锁、一篇就够了

修订日期内容2021-3-27初稿redis-学习-由入门到精通、常见的面试题目、一篇就够了安装下载安装(linux)安装下载官方下载地址:http://download.redis.io/releases/github下载:https://github.com/redis/redis/tagsWindows版本:https://github.com/microsoftarchive/redis/tags官网网速估计难以下载,建议在github下载安装...

2021-11-14 18:41:36 379 1

原创 RabbitMQ工作模式介绍,交换机Exchange,不同工作模式的代码实现与Springboot整合

RabbitMQ工作模式介绍,交换机Exchange,不同工作模式的代码实现与Springboot整合工作模式介绍1.工作队列模式2.发部订阅模式(广播模式)3.路由全匹配模式4. 路由模糊匹配模式各种工作模式的代码实现- 原生客户端实现1.工作队列模式生产者消费者2.发布订阅模式(广播模式)生产者消费者3.路由全匹配模式生产者消费者4.路由模糊配模式生产者消费者各种工作模式的代码实现- SpringBoot整合与实现一. 引入maven依赖二.项目配置三.队列配置1.工作队列模式2.发布订阅模式(广播模式

2021-11-07 21:43:40 1153

原创 Linux中命令awk、sed,cut/sort/uniq/less/head

awk1.是liunx 下的文本处理工具,命名也是以三位作者的首字母命名。例子:输出本机IP语法: awk ‘{}’ifconfig | grep 'inet' | head -n1 | awk '{print $2}'192.168.1.13运算符的使用echo "1 3 5 7 9" | awk '{print $1+10}'11取最后一列echo "1 3 5 7 9" | awk '{print $NF}'9取倒数第二列echo "1 3 5 7 9 11 13"

2021-10-10 01:05:26 290

原创 Shell 编程基础,实战:编写curl小工具,发送post请求,合并数据库两张表、数据库备份脚本

shell 编程基础监听输入编写curl工具

2021-09-22 00:22:57 1524

原创 还在用postman?用这个简单的命令curl也能实现,逼格瞬间提升,windows也能用

curl简单介绍curl 简单理解为client url,用于发送网络请求的工具。几乎涵盖了所有的请求,如FTP,SMTP,HTTP,HTTPS,这里我们只讲http(s)。一般GET请求可以直接在浏览器输入即可,如果是POST呢?现在一般用的较多的是一款优秀的工具postman,看看我们如何替代它吧!!!使用简单使用在windows的dos命令行或linux命令行中执行命令curl www.baidu.comPOST请求,postman例一:发送json数据格式的post请求cur

2021-07-25 01:19:35 787

原创 Nginx 常用知识-rewrite,根据url路径名匹配并重写url路径

URL 重写 rewrite语法:rewrite regex replacement [flag];rewrite :固定写法regex:正则表达式,replacement:替换重写后的url[flag]:break :跳出,不会执行到下一个locateredirect :重定向,前端返回302,将重写后的url返回给客户端(也可以方便用来检测自己的重写是否正确)permanent :返回301状态码,重写url返回客户端与,redirect相似last :终止请求在该location匹

2021-07-18 19:52:54 870

原创 centos7虚拟机无法开启网络的解决方案

问题centos7 突然无法连接网络,使用命令service start network 启动失败错误信息:Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged)[croot@root ~]$ systemctl -l status network● network.servic

2021-06-17 23:40:03 451

原创 通过parentId父节点对树形结构数据排序,类似部门层级排序,同级别遍历,附java实现代码

背景现有公司部门数据,通过parentId进行存储,类似与树形结构,现有业务单据中的某个属性,匹配到部门中有该属性的部门内的员工处理,但由于部门中该属性可能重复,按照业务要求,需要等级高的部门优先处理,所以涉及到对部门进行排序。该文章仅为自己记录,各位如果有类似的需求也可以参考。基础数据部门图部门图如上所示,红色为一级部门,一级部门有3个(其实也可以在上面建议一个公司,这样就是一棵完整的树,现在我们不这样做,难度会稍稍大那么一丢丢),黄色是二级部门,绿色是三级部门,蓝色是四级部门。需求

2021-06-05 21:53:25 2381 1

原创 linux 中使用rpm 安装jdk配置环境变量JAVA_HOME

官网下载rpm对应版本的安装包即可1.查看本地已有rpm -qa |grep java2.卸载原有jdk卸载已有的openjdkrpm -e --nodeps java-1.8.0-openjdkrpm -e --nodeps java-1.8.0-openjdk-headless3.安装创建文件夹并进入/usr/javarpm -ivh jdk-8u261-linux-x64.rpm4.验证jdk是否安装成功5.配置环境变量vim /etc/profile在末尾处添加如下

2021-05-16 22:43:53 2170

原创 快速了解设计模式(装饰器模式,责任链模式)

模式 目的 包含内容 简介 创建型模式 隐式创建对象,而不是简单的使用new 一个对象。 工厂模式(Factory Pattern) 实用 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) ...

2021-05-01 11:55:03 131

原创 Vmware 安装centos7图解

完成

2021-03-28 01:25:59 71

原创 手写spring mvc-了解spring bean,ioc 容器,spring mvc原理,超级简单(附源码)

修订日期内容2021-3-7初稿手写spring mvc-简单了解spring bean,ioc 容器,spring mvc原理,超级简单(附源码)简介简单实现(手撸一个简单的mvc)`DispatcherServlet `核心实现思路实现0. 初始化1. 扫描所有的包2. 为`Controller`、`@Service`创建实列对象,并存入Bean容器3. 对使用的`@Autowire`添加依赖4.添加映射请求转发(完成)优化简介本章目的:了解spring mv...

2021-03-07 10:38:26 100

原创 git-提交代码等命令基本操作,本地项目如何提交到远程github,修改用户名密码

git 常用操作, rebase 命令用法

2021-03-05 01:02:28 536 1

原创 1-Spring Cloud微服务快速搭建-总体服务

修订日期内容2021-2-17初稿1-Spring Cloud微服务快速搭建-总体服务服务技术总览构建步骤1.创建总体项目服务技术总览技术与工具说明IntelliJ IDEA 2020.1.1 x64开发工具maven项目构建Spring Cloud版本:Hoxton.SR10spring cloud后续的版本以伦敦地铁站名命名,以首写字母顺序升级版本Spring boot版本:2.3.8.RELEASEjdk版本...

2021-02-28 15:36:38 89

原创 6-Spring Cloud微服务快速搭建-分布式链路追踪-sleuth-zipkin

修订日期内容2021-2-28初稿6-Spring Cloud微服务快速搭建-分布式链路追踪-sleuth-zipkin分布式链路追踪-sleuth简介初体验zipkin 服务端web整合分布式链路追踪-sleuth简介spring cloud sleuth主要功能就是在分布式系统中提供链路追踪方案,内部集成了Twitter的Zipkin开源组件,直接引入依赖即可使用。初体验在每一个需要记录链路日志的子项目module添加依赖与记录日志配置文件<de...

2021-02-28 15:34:26 88

原创 5-Spring Cloud微服务快速搭建-网关-(zuul、gateway-路由配置,过滤器,路径重写,限流-未完善)

修订日期内容2021-2-22初稿5-Spring Cloud微服务快速搭建-网关-springcloud-gatewayzuul网关简介搭建zuul网关zuul网关简介zuul网关由netflix开发的开源的微服务网关,zuul网关的核心是一系列的过滤器,这些过滤器注意有以下功能动态路由:将不同的请求分发到不同的服务器压力测试:逐渐增加流量负载设置:为每一种负载类型增加对应的容器,并放弃超出限定的请求静态响应处理:如css,js的文件避免服务转发到内部身...

2021-02-28 15:31:36 243

原创 4-Spring Cloud微服务快速搭建-Hystrix&Sentinel熔断降级(解决熔断雪崩)

修订日期内容2021-2-19初稿4-Spring Cloud微服务快速搭建-Hystrix熔断降级(解决熔断雪崩)简述什么是雪崩?什么时熔断降级?Hystrix如何实现熔断降级?代码实现整合RestTemplate简述什么是雪崩?在微服务架构中服务之间会相互调用,如果一个服务不能及时响应,将会导致其他服务阻塞,若此时大量请求涌入将会导致容器的线程资源耗尽,导致服务瘫痪。服务与服务之前的依赖性将会造成连锁反应,造成严重后果,这种故障称之为”雪崩“。什么时熔断降...

2021-02-28 15:27:46 209 1

原创 3-Spring Cloud微服务快速搭建-Feign<OpenFeign>,本地开发调试指定URL路径,服务乱跳解决方案

修订日期内容2021-2-17初稿2-Spring Cloud微服务快速搭建-eureka注册中心简述配置实现1.引入maven依赖2.创建feign客户端(暴露接口)3.在启动类中添加激活Feign调用简述我们都知道各个微服务会分开部署,那么服务之间如何通信呢?(比如:订单微服务需要查询物流微服务的物流信息),一般我们可以使用httpclient调用接口返回数据(比如json)就可以实现了。feign也是在这个基础上更进一步,实现了①各微服务直接的通信看起来像是本...

2021-02-28 15:10:26 672

原创 2-Spring Cloud微服务快速搭建-注册中心-eureka

修订日期内容2021-2-17初稿2-Spring Cloud微服务快速搭建-eureka注册中心注册中心简述搭建Eureka服务(高可用)将服务注册到eureka关闭Eureka自我保护机制注册中心简述Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务。目前大多使用Eureka作为Spring Cloud的注册中心,另外有一个部分可能使用alibaba nacos,本章先介绍Eureka。注册中心作用:负载均衡中间层服务故障转移...

2021-02-28 15:00:24 98

原创 13.python基础学习-精度计算(类似java中的BigDecimal)、四舍五入,取整、datetime、time日期与字符串转换的常见操作

修订日期内容2021-2-26初稿13.python基础学习-精度计算(类似java中的BigDecimal)、四舍五入,取整、datetime、time日期与字符串转换的常见操作高精度计算(类似java中的BigDecimal对象)四舍五入,向上/向下取整日期时间字符串转换的常用操作高精度计算(类似java中的BigDecimal对象)float类型计算时可能会出现小数位不确定的情况,推荐使用decimal# 高精度计算from decimal import Decim...

2021-02-26 01:01:46 761

原创 12.python基础学习-文件读写IO操作、json序列号与反序列化,json写入文件

修订日期内容2021-2-15初稿12.python基础学习-文件相关IO操作文件相关操作打开文件模式(open mode)API读写文件(文本)with open() as f 自动关闭IO流复制图片(测试mode=rb,wb)测试mode = x读取文件read的多种方式APIread(size) 例子readlines()代码例子文件相关操作打开文件模式(open mode)API模式说明r只读,默认a文件不存在新建、存在则追加内...

2021-02-16 17:02:05 170 2

原创 11.python基础学习-模块与包、目录与包的区别,导入内置模块、导入自定义模块

修订日期内容2021-2-15初稿11.python基础学习-模块与包的使用模块简述模块简述什么时模块呢?

2021-02-15 16:06:11 169 1

原创 10.python基础学习-开发命名规范

修订日期内容2021-2-15初稿10.python基础学习-开发命名规范简述命名规范编程建议简述在java中有许多的开发规范,如字段名、类名、方法名都是驼峰结果,包名全小写等等。在Python也有一套开发规范叫做PEP8,这些开发规范有许多与java的区别非常大,对于习惯了开发java项目的来说有必要去了解一些常用的开发规范。命名规范名称建议举例模块名1.尽可能短,2.所有字母小写,3.可以使用下划线_包名1.尽可能短,2....

2021-02-15 01:18:43 79 1

原创 9.python基础学习-小程序演练-99乘法表、字符串去空格、判断字符串是否有空格、字符串以xx开头/结尾

修订日期内容2021-2-14① 99乘法表 ②判断字符串是否有空格③字符串去空格④字符串以xx开头/结尾判断9.python基础学习-小程序演练-99乘法表、字符串去空格、判断字符串是否有空格、字符串以xx开头/结尾判断99乘法表判断字符串是否有空格字符串去空格字符串是否以xx开始字符串是否以xx结尾99乘法表# 实现一个9*9乘法表for i in range(1, 10): for j in range(1, i+1): print(...

2021-02-14 16:24:07 307

原创 8-python基础学习-面向对象-类class的创建,定义,封装、继承、多态的实现

Python中也有 类似java中的超类`Object`,不同之处在于java中不支持的多基础在Python中可以支持

2021-02-13 01:09:06 167 2

原创 7-python基础学习-数据结构-str字符串的常用操作(空字符判断,大小写转换,拆分,字符内容查询,分割、截取,替换,字符串频繁拼接高效处理)

修订日期内容2021-2-9初稿7-python基础学习-数据结构-str字符串的常用操作API查询索引大小写转换截取所有的keys或values示例遍历字典生成式API查询索引方法说明index(s)查找第一个子串出现的索引,不存在抛出异常rindex(s)查找第一个子串出现的索引,不存在抛出异常find(s)查找第一个子串出现的索引,不存在返回-1rfind(s)查找最后一个子串出现的索引,不存在返回-1s =...

2021-02-09 01:13:08 180 1

原创 6-python基础学习-数据结构-元组tuple&集合set的常用操作(获取差集、子集,并集)

修订日期内容2021-2-7初稿6-python基础学习-数据结构-元组tuple的常用操作初始化获取、遍历元组数据结构可以看作是列表-list结构的不可变类型,在确认不可修改的场景下优先使用tuple初始化# 元组数据结构# 空元组leve0 = ()level = ('Java', 'Python', 2021)print(type(level), level) # <class 'tuple'> ('Java', 'Python', 2...

2021-02-07 22:11:48 380

JAVA高级知识,JVM篇

自己用,JVM篇,垃圾回收器介绍,JVM调优。

2024-03-06

VMware中Centos磁盘扩容

VMware中Centos磁盘扩容

2022-09-05

空空如也

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

TA关注的人

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