- 博客(16)
- 收藏
- 关注
原创 K8s 各组件的作用
(Node Components):在每个节点上运行,维护运行的 Pods 并提供 Kubernetes 运行时环境。(Control Plane Components):这些组件决定了 Kubernetes 集群的整体行为。(Add-ons):这些是实现集群功能的 Pod 和 Service。
2023-08-08 16:46:02
300
原创 Java cpu飙升问题排查
1.top命令可以看到进程5192的cpu使用率最高名称代表的含义如下:PID—进程idUSER—进程所有者PR—进程优先级NI—nice值。负值表示高优先级,正值表示低优先级VIRT—进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESRES—进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATASHR—共享内存大小,单位kbS—进程状态。D=不可中断的睡眠状态R=运行S=睡眠T=跟踪/停止...
2022-03-01 13:47:56
181
原创 Springboot 启动报 Failed to start bean ‘documentationPluginsBootstrapper‘错误
错误日志如下:org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException at org.springframework.context.support.DefaultLifecycleProcessor.doStart(Default
2021-12-21 09:58:36
1045
原创 可以直接使用的DateUtil
package com.xx;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.time.LocalDate;import java.time.ZoneId;import java.time.ZonedDateTime;import java.time.format.DateTimeFormatter;import java.util.Date;import java.util.Objects;pub.
2021-12-10 10:29:53
446
原创 Java 对结果集的封装[可以直接使用]
package com.xxx;import com.xxx.Constants;import lombok.AllArgsConstructor;import lombok.Data;@Data@AllArgsConstructorpublic class ResultUtil<T> { private T data; private int code; private String message; public ResultUtil(T.
2021-12-07 14:34:50
187
原创 多模块maven install出现Unable to find main class问题
1.在一个项目下有多个模块的情况下,只需要在需要打包的模块中引入maven打包的插件即可,把不需要打包的模块中如果使用了maven的打包插件将其去除掉即可。
2021-12-06 14:36:04
1518
原创 CountDownLatch的用法
理解:体现线程的并行性和线程执行前后的关系CountDownLatch典型用法1:某一线程在开始运行前等待n个线程执行完毕。将CountDownLatch的计数器初始化为nnewCountDownLatch(n),每当一个任务线程执行完毕,就将计数器减1countdownlatch.countDown(),当计数器的值变为0时,在CountDownLatch上await()的线程就会被唤醒。一个典型应用场景就是启动一个服务时,主线程需要等待多个组件加载完毕,之后再继续执行。Cou...
2021-12-03 17:09:10
164
原创 教你如何创建spring项目【非常详细】
Idea 的设置选项安装springboot插件创建项目选中spring,和选择jdk 版本创建完点击next 即可创建项目下的模块我们创建一个maven的子模块点击next 到这个页面部分,写完finish 即可。注意事项:我们如何通过maven 来管理我们的子模块,需要在根pom.xml文件下把子模块都引入进去其他的可以结合看下我的另外的一篇文章CSDN...
2021-12-03 15:22:03
522
原创 Java 浅拷贝和深拷贝
1.关于浅拷贝和深拷贝浅拷贝和深拷贝其实就是在引用的这个基础上来做区分的,如果在拷贝的时候,只对基本数据类型进行拷贝,对引用数据类型只是进行了引用的传递,没有真正的创建一个新的对象,这种拷贝方式就认为是浅拷贝。反之,在对引用数据类型进行拷贝的时候,创建了一个新的对象,并且复制其内的成员变量,这种拷贝方式就被认为是深拷贝。2.如何选择拷贝方式如果对象的属性都是基本数据类型,那么可以使用浅拷贝。如果对象有引用类型,那就要基于具体的需求来选择浅拷贝还是深拷贝。如果对象嵌套层数比较多,推
2021-12-03 14:48:21
126
原创 关于maven 你想知道的一些知识
1.maven 中各命令的含义:clean:有问题,多清理!package:打成Jar or War包,会自动进行clean+compileinstall:将本地工程Jar上传到本地仓库deploy:上传到私服2.dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)。dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,..
2021-12-03 14:42:33
600
原创 Idea创建项目出现的问题
1.出现这个问题是因为父工程的pom文件下<modules>标签没有把子工程加进去。问题:解决方案:2.一个项目多个模块创建模块时出现pom 文件置灰的情况。问题:解决方案:把勾选的放开即可。...
2021-12-01 19:49:51
987
原创 Java 锁升级过程
java中对象锁有4种状态:(级别从低到高)1.无锁状态2.偏向锁状态3.轻量级锁状态4.重量级锁状态对象头分两部分信息,第一部分用于存储哈希码、GC分代年龄等,这部分数据被称为"Mark Word"。在32位的HotSpot虚拟机中对象未被锁定的状态下,Mark Word的32bit空间中的25bit用于存储对象哈希码,4bit用于存储对象分代年龄,2bit用于存储锁标志位,1bit固定为0,在其他状态(轻量级锁定、重量级锁定、GC标记、可偏向)下对象的存储内容见下表:锁升级的方向是:无锁——
2021-12-01 14:16:11
2046
原创 Java网关设计中限流的实现
采用redis+lua的方式实现,其中使用令牌桶的算法实现1.lua脚本redis.replicate_commands();localkey=KEYS[1]--令牌桶填充最小时间间隔localupdate_len=tonumber(ARGV[1])--记录当前key上次更新令牌桶的时间的key,这一步很关键localkey_time='ratetokenprefix'..keylocalcurr_time_arr=redis.call('TIME')...
2021-11-28 20:03:02
809
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人