自定义博客皮肤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)
  • 收藏
  • 关注

原创 Spring Cloud Gateway 3 全局过滤器中修改响应体案例 2

【代码】Spring Cloud Gateway 3 全局过滤器中修改响应体案例。

2023-09-26 19:32:20 318

原创 Spring Cloud Gateway中配置路由和circuitBreaker

/ 默认熔断器配置.build());// 自定义熔断器配置//param1:自动定义熔断器名,使用的配置名 factory.create(MicroservicesEnum.OPENX_FOREIGN.getCircuitBreakerName(), MicroservicesEnum.OPEN_FOREIGN.getCircuitBreakerName());

2023-09-08 21:52:28 507

原创 HttpClient工具

import com.alibaba.fastjson2.JSON; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.

2023-07-25 20:31:47 206

原创 Spring Cloud Gateway 3 和 Spring WebFlux 常用操作

Spring Cloud Gateway 3 和 Spring WebFlux

2023-07-13 10:04:23 567

原创 Spring Cloud Gateway 3 全局过滤器中修改响应体案例 1

Spring Cloud Gateway 3 全局过滤器中修改响应体

2023-06-15 11:32:47 1423 1

原创 Springboot中属性文件的加载和生效顺序

Springboot中属性文件的加载和生效顺序

2022-06-14 10:12:44 724 7

原创 获取SpringBoot包的部署路径

// 包部署路径xxx/run/xxx.jar System.out.println("user.dir:" + System.getProperty("user.dir"));// xxx/run ApplicationHome applicationHome = new ApplicationHome(Application.class); System.out.println(source.getParentFile().getPath()); // xxx/run/xxx.jar System.ou

2022-05-17 19:52:40 740

原创 JavaDoc文档注释

@link和@see /** * * @Deprecated * {@link 类名} 跳转到类 * {@link 类名#方法名} 跳转到方法 * {@link 类名#属性名} 跳转到属性名 * {@link #方法名} 跳转到本类的方法 * {@link #属性名} 跳转到本类的属性 * {@link <a href="https://knife.blog.csdn.net/"></a>} 跳转到网址 * {@link <a href="

2022-05-12 14:25:46 286

原创 Java线程方法

Thread下的方法 setPriority() static final int MAX_PRIORITY :值为10,代表最高优先级。 static final int MIN_PRIORITY :值为1,代表最低优先级。 static final int NORM_PRIORITY:值为5,代表默认优先级。 join() 在当前线程中调用另一个线程的join方法,则当前线程转入阻塞状态,直到另一个进程运行结束,当 前线程再由阻塞转为可运行状态。如果调用此方法时,另一个线程已经运行完毕,那就接着运行当前

2022-02-18 14:40:22 291

原创 内容中转帖

2022-02-09 11:00:48 273

原创 万用总结关键词

全面推进,统筹兼顾,综合治理,融入其中,贯穿始终,切实抓好,扎实推进,加快发展,持续增收,积极稳妥,狠抓落实,从严控制, 严格执行,坚决制止,明确职责,高举旗帜,坚定不移,牢牢把握,积极争取,深入开展,注重强化,规范程序,改进作风,积极发展,努力建设,依法实行,良性 互动,优势互补,率先发展,互惠互利,做深、做细、做实、全面分析,全面贯彻,持续推进,全面落实、全面实施,逐步扭转,基本形成,普遍增加,基本建立, 更加完备,逐步完善,明显提高,逐渐好转,逐步形成,不断加强,持续增效,巩固深化,大幅提高,显著改.

2022-02-08 17:26:58 373

原创 <? extends B>和<? super B>

public class Demo1 { public static void main(String[] args) throws Exception { // 给出上限,只能get() ArrayList<? extends B> exObject = new ArrayList<>(); B b = exObject.get(0); // 给出下限,只能add B及B的子类,get出的都是Object

2022-02-08 15:36:16 633

原创 Java虚拟机类加载器

Java虚拟机类加载器 JVM三种预定义类型类加载器,当JVM启动的时候,Java开始使用如下三种类型的类加载器: 启动(Bootstrap)类加载器:启动类加载器是用本地代码实现的类加载器,它负责将JAVA_HOME/lib下面的核心类库或-Xbootclasspath选项指定的jar包等虚拟机识别的类库加载到内存中。由于启动类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用。具体可由启动类加载器加载到的路径可通过System.getProperty(“sun.boot.class.

2022-01-29 17:26:01 1329

原创 Java线程池ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> wor

2022-01-05 16:57:57 321

原创 Docker入门

1 Docker安装与启动 1.1 docker安装(centos7) # 1、yum 包更新到最新 sudo yum update # 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 # 方案一:使用ustc的(推荐) sudo yum-config-mana

2021-12-20 18:29:21 307

原创 前缀、中缀、后缀表达式

​ ​ 前缀(波兰)、中缀(逆波兰)、后缀表达式都是对表达式的记法。它们之间的区别在于运算符相对于操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。 举例: (3 + 4) × 5 - 6 中缀表达式 × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式 中缀表达式(中缀记法) ​ 中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间。中缀表达式是人们常用的算术表示方法。虽然人的大脑很容易理解与分析中缀表达式,但对计算机来说

2021-10-12 16:37:20 332 1

原创 Linux中top命令详解

2021-10-11 23:23:35 311

原创 MySQL新增数据,存在就更新,不存在就添加以及主键冲突忽略异常

insert 语句可以加入ignore 避免唯一索引报错,并且正确插入唯一索引不冲突的数据,唯一索引冲突则不插入不报错 INSERT IGNORE INTO t_user_info ( id, NAME, age ) VALUES ( 1, '张三', 19 ), ( 2, '张三', 19 ), ( 2, '张三', 19 ); /* id为主键,仅能插入两条数据但是不会报错 输出 INSERT IGNORE INTO t_user_info ( id, NAME, age ) VALU..

2021-08-28 15:49:02 1582

原创 Linux防火墙配置

iptables方式 禁止IP10.58.203.180访问 iptables -A INPUT -p all -s 10.58.203.180 -j DROP 禁用22端口 iptables -A INPUT -p tcp --dport 22 -j DROP 允许IP10.58.203.180访问 iptables -A INPUT -p all -s 10.58.203.180 -j ACCEPT 允许IP10.58.203.180访问22端口 iptables -A INPUT

2021-08-28 11:04:02 217

原创 &和nohup的区别

& java -jar web-1.0.0-SNAPSHOT.jar & 结果会输出到控制台 使用Ctrl+C发送SIGINT信号,程序免疫 关闭session(ssh连接),发送SIGUP信号,程序关闭 nohup nohup java -jar web-1.0.0-SNAPSHOT.jar 默认输出到当前文件夹的nohup.out文件,不会输出到控制台 使用Ctrl + C发送SIGINT信号,程序关闭 关闭session(ssh连接)发送SIGHUP信号,程序免疫 日常使用

2021-08-18 15:43:28 347

原创 Java中的常量

System.lineSeparator(); // 换行 File.separator // 文件分割符(\) File.pathSeparator // 多个路径分割符(;)

2021-08-17 09:49:39 315

原创 redis持久化方式以及AOF持久化文件过大重写

redis持久化方式 RDB方式 在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot) RDB优点: 1.RDB 是一个非常紧凑(compact)的文件,它保存了 Redis 在某个时间点上的数据集。 这种文件非常适合用于进行备份: 比如说,你可以在最近的 24 小时内,每小时备份一次 RDB 文件,并且在每个月的每一天,也备份一个 RDB 文件。 这样的话,即使遇上问题,也可以随时将数据集还原到不同的版本。 ​ 2.RDB 非常适用于灾难恢复(disaster re

2021-04-20 09:20:20 734

原创 MySQL SQL优化案例

1 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2 应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。 3 应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE。 4 应尽量避免在

2021-04-07 14:03:22 211

原创 MySQL创建新用户并分配权限

​ 在mysql中用户权限是一个很重要的参数,因为台mysql服务器中会有大量的用户,每个用户的权限需要不一样的,下面我来介绍如何给mysql用户分配权限吧,有需要了解的朋友可参考。 1、Mysql下创建新的用户并分配权限 创建用户 语法:mysql> create user 用户名 identified by ‘密码’; 给用户分配权限 语法:mysql> grant 权限 on 数据库.数据表 to ‘用户’ @ ‘主机名’; mysql> create user ywli

2021-03-19 13:53:24 4405

原创 idea中git回退本地仓库版本

场景:代码commit到本地仓库,还没有push到远程仓库,这时要回退代码。 介绍下Reset Head中三种Reset Type类型: 1.Mixed(默认):它回退到某个版本,本地会保留源码,回退commit和index信息,若要提交重新commit。 2.soft: 回退到某个版本,只回退了commit的信息,不会恢复到index file一级,若要提交重新commit。 3.Hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。 操作如下: 拿ConfigServerApplicatio

2021-03-11 16:44:37 1271 1

原创 POM标签大全详解

POM标签大全详解 父(Super) POM Copy<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

2021-02-26 14:54:55 352

原创 Redis内存淘汰策略

Redis内存淘汰策略 作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当 Redis 服务器的内存耗尽后,如果继续执行请求命令,Redis 会如何处理呢? 设置过期时间 使用Redis 服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis 中可以通过 4 个独立的命令来给一个键设置过期时间: expire key ttl:将 key 值的过期时间设置为 ttl 秒。 pexpire key ttl:将 key

2021-02-24 14:57:23 222

原创 java中for循环的执行顺序

for(初始化表达式①;布尔表达式②;步进表达式(循环变量)④){ 循环体③} 执行流程 执行顺序:①②③④>②③④>②③④…②不满足为止。

2019-11-16 21:41:54 500

原创 Java中基本数据类型长度和取值范围

Java中的基本数据类型: 数据类型 关键字 内存占用(位) 取值范围 整数 byte 1 负的2的7次方 ~ 2的7次方-1(-128~127) short 2 负的2的15次方 ~ 2的15次方-1(-32768~32767) int 4 负的2的31次方 ~ 2的31次方-1 long 8 负的2的63次方 ~ 2的63次方-1 浮点数 float 4 ...

2019-11-15 16:45:02 873

原创 Java中的多层循环,教你跳出指定循环

废话不多说,先上代码 public class Demo { public static void main(String[] args) { it://循环一 for (int i = 0; i < 1; i++) { is://循环二 for (int i1 = 0; i1 < 1; i1...

2019-11-15 16:35:26 626

空空如也

空空如也

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

TA关注的人

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