- 博客(46)
- 收藏
- 关注
原创 docker部署springboot(eureka server)项目
打开idea右侧的 Maven 工具窗口(View → Tool Windows → Maven)双击 package 目标。
2025-04-18 23:08:49
288
原创 ubuntu离线安装docker
可以浏览器访问Docker下载目录进行下载(各个目录对应版本关系):也可以通过命令行方式(以下是在 Ubuntu 20.04 LTS(Focal Fossa) 上离线安装 Docker 的详细步骤:):下载 Docker CE 的核心包(适配 Ubuntu 20.04)下载时遇到“无法建立 SSL 连接”:1.检查系统时间和时区2.更新 CA 证书,证书链过期或缺失会导致 SSL 验证失败下载所有依赖包打包所有文件最终文件如下:如果文件名包含特殊字符%3a:Docker 24.
2025-04-13 16:30:10
450
原创 docker部署minio
MinIO 的官方 Docker 镜像托管在(而非 Docker Hub),以下是其版本分类及常见标签说明:环境对应信息:amd: 32位X86amd64: 64位X86arm: 32位ARMarm64: 64位ARM。
2025-04-05 17:24:31
395
原创 docker部署kkfileview
修改 /opt/kkfileview/config/application.properties 后重启容器生效。
2025-04-04 22:50:12
250
原创 Docker部署MySQL
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘密码’;#更新用户加密方式,mysql8默认的加密方式为caching_sha2_password 与mysql5的加密方式mysql_native_password 不同。–privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限。-v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录。创建容器,并后台启动。
2025-04-04 22:18:01
210
原创 【服务日志链路追踪】
在微服务架构中,日志链路追踪(Logback + Distributed Tracing) 是一个关键需求,主要用于跟踪请求在不同服务间的调用链路,便于排查问题。支持 HTTP(Feign/RestTemplate)、MQ(Kafka/RabbitMQ)、gRPC 等自动传播。Logback 提供的线程本地存储,用于存放日志变量(如 traceId)。日志输出时自动携带 MDC 中的字段(需配置 %X{traceId})。(2) Logback 配置(自动携带 traceId)
2025-04-03 20:13:07
759
原创 springcloud Hystrix
Hystrix的内部处理逻辑1构建Hystrix的Command对象, 调用执行方法.2Hystrix检查当前服务的熔断器开关是否开启, 若开启, 则执行降级服务getFallback方法.3若熔断器开关关闭, 则Hystrix检查当前服务的线程池是否能接收新的请求, 若超过线程池已满, 则执行降级服务getFallback方法.4若线程池接受请求, 则Hystrix开始执行服务调用具体逻辑run方法.5若服务执行失败, 则执行降级服务getFallback方法, 并将执行结果上报Metrics
2021-02-26 16:58:37
183
原创 事务 (数据库、Spring)
事务的四大特性(ACID)原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结
2021-02-26 15:03:33
198
原创 SpringBoot 启动类 @SpringBootApplication 注解
@SpringBootApplication : 是Sprnig Boot项目的核心注解,目的是开启自动配置@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan( excludeFilters = {@Filter( type = Filte
2021-02-26 14:45:51
352
原创 springboot+druid
Druid是一个数据库连接池,是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。引入依赖包<dependency> <groupId>com.alibaba</groupId> <artifact...
2020-01-16 14:04:46
402
原创 线程的5种状态
线程的状态图新建(NEW):新创建了一个线程对象1.实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权1.可运行状态只是说你资格运行,调度程序没有挑选到你,...
2020-01-14 14:30:25
320
原创 springboot日志配置
引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope></depend...
2020-01-14 13:33:45
1616
原创 synchronized
使用方法修饰一个方法,被修饰的方法称为同步方法,其作用范围是整个方法修饰一个代码块,被修饰的代码块称为同步代码块,作用范围是大括号{}括起来的代码修改一个静态方法,作用范围是整个静态方法修改一个类,作用范围是synchronized后面括号括起来的部分修饰代码块class SynchronizedTest implements Runnable{ private static ...
2020-01-14 11:10:10
159
原创 java线程基础
进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。线程线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级...
2020-01-14 10:14:26
151
原创 ThreadPoolExecutor
ThreadPoolExecutorpackage com.zhw.learning.thread;import java.util.concurrent.*;/** * @author zhw */public class ThreadPoolExecutorTest { public static void main(String[] args) { ...
2020-01-08 15:07:32
159
原创 定时线程池(newScheduledThreadPool)
定时线程池(newScheduledThreadPool)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledEx...
2020-01-08 14:02:24
7354
原创 单例线程池(newSingleThreadExecutor)
单例线程池(newSingleThreadExecutor)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Exec...
2020-01-08 13:48:49
2923
原创 固定数量线程池(newFixedThreadPool)
固定数量线程池(newFixedThreadPool)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executo...
2020-01-08 13:41:51
3982
原创 缓存线程池(newCachedThreadPool)
缓存线程池(newCachedThreadPool)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executor...
2020-01-08 13:33:47
1159
原创 线程池
优点:1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率例如:记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了T1+T3带来的系统开销2.线程并发数量过多,抢占系统资源从而导致阻塞我们知道线程能共...
2020-01-08 10:37:05
179
原创 常见排序
冒泡排序:/** * @author zhw *比较相邻的元素。如果第一个比第二个大,就交换他们两个。 *对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 *针对所有的元素重复以上的步骤,除了最后一个。 *持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 * */public class BubbleSort...
2019-12-31 11:20:47
154
原创 Rabbitmq
AMQPAMQP,即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦和通讯。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。RabbitMQ是一个开源的AMQP实现,服务器端用 Erlang 语言编写,支持多种客户端,如:Python、...
2019-12-10 10:55:57
213
原创 堆、栈和队列
堆:堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。堆是指程序运行时申请的动态内存,而栈只是指一种使用堆的方法(即先进后出)。**栈(stack):**先进后出,删除与加入均在栈顶操作堆栈的特性: 最先放入堆栈中的内容最后被拿出来,最后放入堆栈中的内容最先被拿出来, 被称为先进后出、后进先出。堆栈中两个最重要的操作是PUSH...
2019-11-18 11:26:34
158
原创 RestTemplate
getForEntity()/** * 参数1: String类型 或 URI类型的请求地址 * 参数2: 指定返回的实体类型,class对象 * 参数3: uri参数,可以是变长数组或map * 返回值:ResponseEntity<T>是Spring对HTTP响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、response ...
2019-11-14 16:21:33
203
原创 springboot+quartz
pom.xml:<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-quartz --><dependency> <groupId>org.springframework.boot</groupId> <ar...
2019-11-07 09:49:06
178
原创 springboot发送邮件
pom.xml:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>配...
2019-11-06 17:11:54
353
原创 MongoTemplate
配置:<!--mongo--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>spr...
2019-10-29 15:17:28
1082
原创 RedisTemplate
通用操作工具:分布式锁加强版 /** * 最终加强分布式锁 * @param key key值 * @return 是否获取到 */public boolean lock(String key) { String lock = LOCK_PREFIX + key; // 利用lambda表达式 re...
2019-10-23 15:23:44
457
原创 POI
pom:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.0</version></depen...
2019-10-23 14:25:30
122
原创 二叉树
二叉树:是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。2)左子树和右子树是有顺序的,次序不能任意颠倒。3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。斜树:所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右...
2019-10-22 16:59:30
646
原创 树
树:树(tree)是包含n(n>=0)个结点的有穷集,其中:(1)每个元素称为结点(node);(2)有一个特定的结点被称为根结点或树根(root)。(3)除根结点之外的其余数据元素被分为m(m≥0)个互不相交的集合T1,T2,……Tm-1,其中每一个集合 Ti(1<=i<=m)本身也是一棵树,被称作原树的子树(subtree)。二叉树:每个节...
2019-10-22 16:21:31
107
原创 java递归算法
递归:就是在方法内部调用方法自己本身斐波那契数列:菲波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89,144…分析:这个数列从第三项开始,每一项都等于前两项之和public class FibonacciSequence { public static int fibonacci(int n){ if(n == 1){ ...
2019-10-22 15:09:02
149
原创 代理模式(Proxy pattern)
代理模式:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修改委托类,符合代码设计的开闭原则。代理类主要负责为委托类预处...
2019-09-29 15:29:51
146
原创 策略模式(Strategy pagttern)
策略模式:策略模式定义了一组算法,并将每一个算法封装起来,让它们可以相互替换。 策略模式让算法的变化独立于使用算法的客户。策略类超过四个,可以考虑混合模式。组成部分:1.抽象策略角色:策略类,通常由一个接口或者抽象类实现。2.具体策略角色:包装了相关的算法和行为。3.环境角色:持有一个策略类引用,给客户端调用。缺点:1.客户端自行决定用哪个策略类。只适用于客户端知道所有的算法或行为的...
2019-09-29 11:27:54
140
原创 springboot+mybatis plus
pom.xml: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.2</ve...
2019-08-29 18:15:01
171
原创 swagger 注解
@Api:用在类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源属性名称 备注value url的路径值tags 设置这个值、value的值会被覆盖description 对api资源的描述basePath ...
2019-08-29 17:51:09
237
原创 SpringBoot+Swagger2
pom.xml<!--整合Swagger2--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <v...
2019-08-29 17:42:50
162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人