Java
SpringBoot中进行elasticSearch查询,使用QueryBuilders构建各类条件查询
查询所有 //搜索全部文档 QueryBuilder queryBuilder = QueryBuilders.matchAllQuery(); 查询单个,等于/eq //单个匹配,搜索name为li的文档 QueryBuilder queryBuilder = QueryBuilders.matchQuery("name", "li"); 查询多个字段匹配某一个值 //搜索name中或
【RabbitMQ】当队列中消息数量超过最大长度的淘汰策略
【RabbitMQ】当队列中消息数量超过最大长度的淘汰策略 说明 最近在研究RabbitMQ如何实现延时队列时发现消息进入死信队列的情况之一就是当消息数量超过队列设置的最大长度时会被丢入死信队列,看到这时我就产生了一个疑问,到底是最后插入的消息还是最早插入的消息会被丢入死信队列呢?遗憾的是看了几篇博客都是模棱两可的答案,还有的说超过数量后该消息会被放入死信队列,看完之后还是对这个问题将信将疑。所以
[LeetCode] 1851. Minimum Interval to Include Each Query
You are given a 2D integer array intervals, where intervals[i] = [lefti, righti] describes the ith interval starting at lefti and ending at righti (inclusi
三级缓存---解决 Spring 循环依赖
1. 循环依赖 1.1 什么是循环依赖 首先,什么是循环依赖?这个其实好理解,就是两个 Bean 互相依赖,类似下面这样: """ """ AService 和 BService 互相依赖: 1.2 循环依赖的类型 一般来说,循环依赖有三种不同的形态,上面就是其中一种。 另外两种分别是三者依赖,如下图: 这种循环依赖一般隐藏比较深,不易发觉。 还有自我依赖,如下图: 一般来说,
Hystrix服务熔断
Hystrix的服务熔断是一种保护机制,用于防止故障和延迟的影响扩散到整个系统。当底层依赖的服务发生连续故障或错误率过高时,Hystrix将会触发服务熔断,暂时停止向该服务发送请求,并快速失败返回一个备选响应。这样可以避免对不可靠的服务进行无谓的重试,保护系统的稳定性。 一、引入依赖 pom.xml 二、
Hystrix可视化监测
Hystrix提供了一个可视化的监测工具,可以用来实时监测和查看Hystrix断路器的状态和指标。该工具称为Hystrix Dashboard。 使用Hystrix Dashboard可以将应用程序的Hystrix数据以图形化界面的形式展示,包括线程池、请求统计和熔断器等信息,从而更直观地了解和分析系统的性能和稳定性。 下面是使用Hystrix Dashboard进行可视化监测的一般步骤: 一、添
HTML入门-----初识html
HTML简介: 是一种超文本标记语言。 网页的组成: 骨架:HTML 表现层:CSS 行为层:JavaScript 网页的基本结构: <html>…</html>标签标志着HTML文档的开始与结束! HTML编写规范: 1.标签名和属性名称必须小写 2.HTML标签必须关闭 (标签存在两种:双标签,单标签,但介绍的标记都是/) 3.属性值必须用引号括起来(单引号双引
Jenkins主从架构的实现
一、概要 提到K8S环境下的CI/CD,可以使用的工具有很多,比如Jenkins、Gitlab CI、新兴的drone等,考虑到大多公司在VM环境下都采用 Jenkins 集群来搭建符合需求的 CI/CD 流程,这里先给介绍大家下Kubernetes+Jenkins的CI/CD方案。 Jenkins是一款开源 CI&CD 系统,用于自动化各种任务,包括构建、测试和部署。 Jenkins官方
Spring 6.x源码编译
环境 Windows 10 IntelliJ IDEA 2023.1.2 (Ultimate Edition) jdk-17.0.7 Spring6要求jdk17+ 创建init.grade文件 相当于maven的settings.xml,全局加速拉取依赖 导入工程,修改gradle对应的jdk版本 设置工程jdk Build 由于一开始设置过gradle依赖的全局加速,所
网络编程 p2 InetAddress
InetAddress类 相关方法: getLocalHost():获取本机InetAddress对象; getByName():根据指定主机名/域名获取IP地址对象; getHostName():获取Inet Address对象的主机名; getHostAddress():获取InerAddress对象的地址; 代码演示:
Cobalt Strike 快速入门——和MSF类似,但是操作更加无脑
Cobalt Strike简介 Cobalt Strike是一款由java编写的全平台多方协同渗透测试框架,在3.0版本之前它基于Metasploit框架工作,在3.0后的版本以独立成一个渗透测试平台。CobaltStrike集成了端口转发、端口扫描、socket代理、提权、钓鱼、远控木马等功能。该工具几乎覆盖了APT攻击链中所需要用到的各个技术环节,且其最大的
Vue的生命周期简介
Vue.js是一种流行的JavaScript框架,它采用了组件化的开发模式。在Vue组件的生命周期中,有不同的阶段和钩子函数,用于在不同的时间点执行特定的逻辑操作。下面是Vue组件的生命周期简介: 创建阶段: beforeCreate:在实例被创建之前,触发该钩子函数。 created:在实例被创建后,触发该钩子函数。此时实例已经完成了数据观测、属性和方法的初始化,但尚未挂载到DOM上。
当在js文件里引入pinia时报错:Uncaught Error: []: getActivePinia was called with no active Pinia
1、问题背景 我在一个 js 文件里需要使用 pinia 去修改状态存储里的内容,但是在引入 pinia 的时候,比如 cont store = useStore() 时发现报错:getActivePinia was called with no active Pinia. 说是实例在文件中使用的时候,pinia实例没有被挂载。发生错误的原因是因为我在js文件中 此时,pinia
springboot下使用rabbitMQ之开发配置方式(一)
springboot下使用rabbitMQ之开发配置方式(一) 距离上次发布博客已经小一年了,这次...嗯,没错,我又回来啦...😂😂😂 本次结合着B站某MQ视频以及最近在MQ上的实践聊一聊个人在使用rabbitMQ中所得。 在本章开始前,默认您已通过各种途径安装并在springboot中集成了rabbitMQ~ 一.是否需要在配置类中定义exchange、queue、routingKey及绑定关
liuwansi的SDUTACM暑期训练计划与目标
时间:2023.7.18-2023.8.27 早8点到中午11点半 下午两点到5点半下午7点到九点半 地点:9#504 liuwansi专用座位 要求: 除了最基本的时间要求外还有如下要求, 做好每天的日常规划,每日在博客记录今日所学 牛客比赛,cf,acwing,vj比赛场场都要积极参加 及时赛后补题,及时写博客总结记录 目标: 在coding方面 cf 1400 牛客不做要求
数据库连接池之c3p0-0.9.1.2,线上偶发APPARENT DEADLOCK,如何解?
前言 本篇其实是承接前面两篇的,都是讲定位线上的c3p0数据库连接池,发生连接泄露的问题。 第二篇讲到,可以配置两个参数,来找出是哪里的代码借了连接后没有归还。但是,在我这边的情况是,对于没有归还的连接,借用者的堆栈确实是打印到日志了,但是我在本地模拟的时候,发现其实这些场景是有归还连接的,所以,我开始怀疑不是代码问题。 不是业务代码问题,能是啥问题呢?我们先来看看连接是怎么归还到连接池的。 连接
React、Vue框架如何实现组件更新,原理是什么?
原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 引言 React 和 Vue 都是当今最流行的前端框架,它们都实现了组件化开发模式。为了优化性能,两者都采用了虚拟DOM技术。当组件状态发生改变时,它们会使用虚拟DOM进行局部渲染比对,只更新必要的DOM节点,从而避免重新渲染整个组件树。本文将从React和Vue的组件更新原理入手,剖析两者虚拟DOM difer算法的异同点。React通
LiteFlow — 并行编排与异步超时
本文使用的 LiteFlow 版本为 2.10.5 LiteFlow 简介 LiteFlow 是一个编排式的规则引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件。 LiteFlow 官网 https://liteflow.yomahub.com LiteFlow 使用 WHEN 关键字定义并行编排。 这样 a、b、c三个组件就是以并行方式运行() 组件定义见 htt
使用docker安装的tomcat部署activiti-app.war、activiti-admin.war失败(ClassNotFoundException)
背景 一直以来习惯用docker配置一些本地学习环境,许多教程配置activiti的方式都是通过复制activiti的war包部署在tomcat中,我尝试了一下通过docker的方式遇到了一些不易察觉的错误。 使用方式描述 使用docker安装tomcat9.0 docker run -d -p 8080:8080 --name tomcat tomcat:9.0 复制activiti的war包
Java中七七八八的各种锁
乐观锁 or 悲观锁 乐观锁即蹲坑不锁门,只会在更新的时候判断有没有其他线程去更改数据,有的话就回滚 典型: 悲观锁即进厕所立马锁门,其他线程来了即阻塞,进到阻塞队列中,等待主线程蹲坑完毕后,按顺序获取 典型:synchronized 和 ReentrantLock 独占锁 or 共享锁 顾名思义,独占锁即获取之后,既能读数据也能写数据,其他线程无法获取锁且无法加任意类型的锁,即阻塞