自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

柔丽君的博客

开发,还是开发

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

原创 微服务常用日志追踪方案:Sleuth + Zipkin + ELK

摘要:微服务架构中,Sleuth+Zipkin+ELK组合提供了完整的链路追踪方案。Sleuth自动生成TraceID/SpanID并传播,Zipkin收集存储追踪数据并提供可视化,ELK集中管理业务日志。通过MDC关联日志与追踪上下文,实现全链路追踪。配置采样率和B3协议后,各服务上报数据至Zipkin,业务日志发送至ELK,通过TraceID可跨系统关联调用链路与业务日志,便于问题定位和全链路追踪。

2025-06-02 17:01:48 698

原创 面试官最爱问的接口幂等性

接口幂等性是指同一接口的多次调用与单次调用效果一致。在网络不可靠环境下,它能防止重复请求导致的数据异常,提升系统健壮性。实现方案包括Token池+Redis集群,通过唯一Token一次性验证机制确保操作原子性。典型应用场景包括支付退款、文件删除等需保证数据一致性的业务。核心实现包含Token生成/校验服务和拦截器,采用Lua脚本保证Redis操作的原子性,有效防范重复提交和恶意攻击。

2025-06-01 20:30:28 761

原创 动态规划问题案例

除了经典的(Fibonacci Numbers)和(Longest Common Subsequence, LCS)问题之外,动态规划还可以解决许多经典案例。

2024-09-12 17:31:07 625

原创 动态规划解决LCS问题

对于字符串 X 和 Y,定义 L[i][j] 为 X 的前 i 个字符(即 X[0…i-1])和 Y 的前 j 个字符(即 Y[0…j-1])之间的最长公共子序列的长度。

2024-09-12 17:05:43 502

原创 分治法和动态规划法

动态规划法是通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。与分治法不同的是,动态规划解决的子问题往往不是互相独立的,即不同的子问题之间可能共享一些子子问题的解。动态规划通过存储这些子问题的解来避免重复计算,从而提高效率。

2024-09-12 16:28:20 479

原创 单例模式解析

一种常用的软件设计模式,它确保,并提供一个全局访问点来获取这个实例。

2024-09-10 08:38:05 1040

原创 JVM工作过程

将JVM工作过程粗略分为5个阶段,包括其中,(1)加载阶段、主要由完成(2)初始化阶段是由在类加载过程的最后阶段的。(3)执行阶段主要由负责(4)回收阶段主要是(Garbage Collector)负责。

2024-09-07 11:53:26 1141 1

原创 JVM中运行时数据区

(1)运行时数据区是JVM内存模型的重要组成部分(前有类加载器,后有执行引擎(2)JVM在执行Java程序时,用于存储和管理各种数据的内存区域(多块区域),这些区域共同协作以支持Java程序的运行。(3)包括方法区(旧名字叫永久代->java8换名字为元空间)、堆、虚拟机栈、本地方法栈、程序计数器等五大区域。线程共享区域:Java堆和方法区(或元空间),这些区域在JVM启动时创建,随着JVM的关闭而销毁。线程私有区域。

2024-09-07 09:37:55 1088

原创 zookeeper初识

(1)ZooKeeper是一个、开放源码的,是一个为分布式应用提供一致性服务的软件,作为Apache的顶级项目,最初是为Hadoop的分布式协调而设计,主要用来解决。(2)简单来说,ZooKeeper 可以被看作是,它维护着一些关键的数据和状态信息,使得系统中的各个组件能够协调一致地工作。(3)ZooKeeper的数据模型在结构上,每个节点(在ZooKeeper中称为)都可以,从而形成一个。

2024-09-06 16:21:33 1284

原创 redis面试题

在Redis数据库使用过程中,某个或某些key被极其频繁地访问,远远超出其他key的访问频率。(1)缓存击穿指的是缓存中某个热点数据在过期或被删除后,由于大量并发请求同时访问该数据,导致这些请求直接穿透到数据库或其他后端存储系统,从而增加了后端系统的负载,甚至可能引发数据库崩溃。(2)缓存穿透指的是查询一个数据库中不存在的数据,由于缓存中也没有这个数据,所以每次查询都会直接访问数据库,如果有大量此类请求,就会对数据库造成很大压力,这种现象被称为缓存穿透。(3)缓存雪崩指的是在。

2024-09-06 09:01:47 1167

原创 JAVA线程、线程池解析

是操作系统能够进行的最小单位,它被包含在进程之中,是进程中的实际运作单位。进程是资源分配的基本单位,它拥有自己独立的地址空间和各种资源;而线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而。线程的上下文切换速度比进程快。

2024-09-03 00:25:58 1261

原创 JAVA异常

异常是指程序执行过程中出现的不正常情况,它打断了程序的正常执行流程。在Java中,异常被当作对象来处理,这些对象都是Throwable类的实例或其子类的实例。当Java内置的异常类型不满足开发需求时,可以通过继承Exception或RuntimeException来创建自定义异常类。参考:https://blog.csdn.net/qq_43061290/article/details/124078378。

2024-09-02 08:36:55 513

原创 类加载器整理解析

Java类加载器(Class Loader)是Java运行时环境(JRE)的一部分,负责动态地将Java类加载到Java虚拟机(JVM)的运行时环境中。当一个Java程序需要使用某个类时,JVM并不会立即去加载这个类,而是等到程序真正运行时,第一次引用到这个类的时候,才会通过类加载器来加载这个类。类加载器必须实现的核心功能是通过全类名获取类的二进制字节流,并将类的二进制字节流解析并转换成JVM能够识别的数据结构(如Java类和接口的内部表示,以及类的元数据信息等),然后存储在JVM的方法区。

2024-09-01 09:24:05 1281

原创 字节码文件简单解析

字节码文件()是一种包含执行程序的二进制文件的具体体现,包含了程序的指令集,可以被解释器或虚拟机读取和执行。(1)从源代码到字节码文件的编译过程(称为“”)是跨平台的。(2)字节码文件本身并不是直接执行的机器码,需要被虚拟机进一步**“解释”或“即时编译”**(JIT编译)成机器码才能在物理硬件上执行。(视为在目标平台上进行的“”)

2024-08-31 08:02:47 520

原创 Lambda表达式解析

(1)Lambda表达式在逻辑上等同于定义了一个实现了函数式接口的匿名内部类,并且这个匿名内部类中包含了一个(且只有一个)与函数式接口抽象方法签名相匹配的方法。(2)但是,这个匿名内部类并不是以传统意义上Java匿名内部类的形式存在(即不是一个独立的.class文件),而是被编译成了一种可以让JVM理解并执行的内部表示。(3)当Lambda表达式被“调用”时(尽管这个词可能不太准确,因为Lambda表达式本身不是可调用实体),实际上是在创建一个这样的匿名内部类的实例,并调用其实现的抽象方法。

2024-08-30 23:43:39 1041

原创 CAS简单解析

Compare-And-Swap,即“比较并交换”,是一种无锁算法(一种原子操作)。算法(原子操作)过程:a)读变量为预期值b)比较这个变量的内存值(可能在从a到b这个过程中被人改了,改了内存值就是改完的值,没改内存值就是原来的值,总之内存值是b这个状态下变量的值)和预期值c)相同则更新变量,不同则自旋(自旋指的是重新从a过程开始循环尝试,直到成功更新变量值,或者达到自旋次数或时间)、或回退、或重试。CAS非阻塞。

2024-08-30 22:40:40 300

原创 ConcurrentHashmap解析

一种由hashmap演变来的存放键值对的容器,线程安全。

2024-08-30 08:56:23 391

原创 Linux终端命令写到一半不换行直接覆盖行首字符

参考:https://blog.csdn.net/m0_45805664/article/details/135508961。使用stty命令来设置行数和列数。

2024-08-23 15:19:10 439

原创 启动zookeeper成功后,查看状态显示It is propbably not running

参考:https://blog.csdn.net/JunLeon/article/details/120689889。问题原因:zookeeper集群需要节点全部启动再查看状态可以。启动所有节点后,再看状态。

2024-08-23 11:18:47 709

原创 Call From hadoop102/192.168.10.102 to hadoop102:8020 failed on connection exception: java.net.Connec

集群第一次启动需要格式化namenode

2022-09-14 16:26:14 3577

原创 volatile保证可见性,原理是什么

volatile保持可见性原理

2022-05-18 21:17:52 1902

原创 git 连接gitee时报错 Auth error: Access deined: authorize failure. fatal: Could not read from remote repos

错误记录

2021-12-26 22:58:11 15271 6

原创 Maven的常用命令

学习视频:https://www.bilibili.com/video/BV1K54y1G72s?p=5&spm_id_from=pageDriver常用命令命令描述mvn -version显示版本信息mvn clean清理项目生产的临时文件,一般是模块下的target目录mvn compile编译源代码,一般编译模块下的src/main/java目录mvn package项目打包工具,会在模块下的target目录生成jar或war等文件mvn test测试命令,或执行sr

2021-11-29 13:58:46 212

原创 AJAX请求

jquery中的ajax请求表单序列化 serialize方法

2021-11-23 12:45:17 559

原创 JSON学习

什么是JSON:JSON的访问json的两个常用方法json在java中的使用导入jar包json和Person类对象的转换List和json的转换尝试取list[0]失败转为集合toJson方法的第二个参数必须写成Type必须新建一个类继承TypeToken类实际应用中可以写成匿名内部类的形式...

2021-11-23 11:12:07 353

原创 Filter过滤器

Filter是JavaWeb的三大组件之一,是JavaEE的规范,也就是接口。作用:拦截请求,过滤相应

2021-11-23 10:17:45 105

原创 Session学习

视频资源:https://www.bilibili.com/video/BV1Y7411K7zz?p=2651.Session会话:2.3.Session域数据的存取4.Session生命周期控制5.浏览器和服务器Session之间关联的技术内幕

2021-11-22 23:05:32 280

原创 Cookie

1.Cookie是服务器通知客户端保存键值对的一种技术。2.每个Cookie的大小不能超过4KB3.创建CookieCookie一次可以创建多个4.服务器如何获取Cookie5.查找指定名称的Cookie对象6.Cookie值的修改方案二7.Cookie的生命控制8.Cookie有效路径Path的设置免用户名登录...

2021-11-22 22:23:15 580

原创 MVC解析

视频资源:https://www.bilibili.com/video/BV1Y7411K7zz?p=232&spm_id_from=pageDriverModel模型,View视图,Controller控制 器View视图:只负责数据和界面的显示,不接受任何与显示数据无关的代码Controller控制器:只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个调度者的角色Model模型:将与业务逻辑相关的数据封装为对象的JavaBean类,其中不参杂任何与数据处理相关的代码MVC是

2021-11-22 21:20:35 186

原创 JSTL标签库

学习视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=205core核心库的使用<c:set/>的使用可以向域中保存数据<c:if />的使用用来做if的判断<c:choose><c:otherwise><c:when>标签没有break机制,满足一种情况后,其他情况就失效了<c:forEach/>标签作用:遍历使用遍历map...

2021-11-22 11:18:56 87

原创 Centos7 Nat模式静态ip配置

2021-11-21 18:14:08 400

原创 EL表达式

EL表达式输出Bean的普通属性,数组属性,List集合属性,map集合属性EL表达式获取属性时,其实是通过调用get方法进行调用关系运算逻辑运算算术运算empty运算三元运算EL表达式的11个隐含对象其他六个隐含对象的介绍paramparamValuesheaderheaderValuescodkieinitParam在web.xml里配置然后测试...

2021-11-20 23:20:26 225

原创 jsp学习

视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=174&spm_id_from=pageDriverjsp头部的page指令jsp中的常用脚本

2021-11-20 21:37:25 241

原创 JavaEE三层架构

学习视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=161&spm_id_from=pageDriver

2021-11-19 21:56:00 87

原创 Servlet学习

介绍手动实现Servlet接口新建测试类实现Servlet接口import javax.servlet.*;import java.io.IOException;/** * @version 1.0 * @auther Albedo */public class HelloServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws Servlet

2021-11-19 21:48:14 582

原创 Tomcat了解+基础环境部署

学习视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=101&spm_id_from=pageDriver常用的服务器常用版本的tomcatTomcat服务器的目录文件启动tomcat服务器的方式(1) 双击startup.bat(2)使用命令行停止tomcat服务器修改端口号如何部署web工程到tomcat服务器中(1)(2)安装目录下的conf\Catalina\localhost下建立配置文件如

2021-11-16 19:00:33 904

原创 xml学习笔记

xml是可扩展的标记性语言。注释:与html一模一样元素(标签)XML属性,必须用引号引起来语法规则(1)所有的XML元素必须有关闭标签(闭合)(2)XML对大小写敏感(3)标签必须正确的嵌套(4)XML文档必须有根元素没有父标签的元素称为顶级元素,根元素就是顶级元素,且是唯一一个。(5)XML特殊字符同样需要转义多次转义可以使用CDATAdom4j解析技术books.xml内容<?xml version="1.0" encoding="UTF-8"?>&l

2021-11-16 16:07:01 282

原创 jQuery学习

j即javaScript,Query即查询,jQuery是辅助javaScript开发的一个js类库

2021-11-16 13:08:23 971

原创 冒泡排序优化、鸡尾酒排序

参考书籍:《漫画算法小灰的算法之旅》(1)冒泡排序中,当数组后半部分的元素逐渐变得有序后,仍然会进行多次比较,从这一点进行优化。设置变量记录有序区域,每次比较时仅仅比较无序区域的元素即可。public class PubblesortTo { public static void main(String []args){ int array[] = {1,2,6,3,16,4,3,11,5}; pubbleSort03(array); for (

2021-11-15 15:19:45 923

原创 JavaScript学习01

学习视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=43&spm_id_from=pageDriver1.关系运算符==表示数值的比较===表示全等号,不仅比较数值,还会比较类型2.逻辑运算符0,null,underfined,""都认为是false&&运算符如果表达式全为真,返回最后一个表达式的值有一个为假时,返回第一个为假的表达式的值||或运算全为假时,返回最后一个表达式的值只要存在为真的表达式,就会返回第一

2021-11-15 12:53:54 965

空空如也

空空如也

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

TA关注的人

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