自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 JWT (JSON Web Token) 立即失效

使一个 JWT (JSON Web Token) 立即失效可以通过多种方式实现,取决于具体的实现和系统需求。

2024-07-11 09:27:02 1024

原创 在 docker 容器中使用 Java 诊断工具

请注意,这些命令,都通过字节码增强技术来实现的,会在指定类的方法中插入一些切面来实现数据统计和观测,因此在线上、预发使用时,请尽量明确需要观测的类、方法以及条件,诊断结束要执行 stop 或将增强过的类执行 reset 命令。这篇文章简单介绍了 Arthas 在 docker 容器的使用,主要介绍了logger和watch命令以及如何实现在线代码热更新,后续有使用到其他命令再来补充,详细信息可以查阅官方文档。

2024-06-25 16:30:36 900

转载 debezium

这么多技术框架,为什么选debezium?看起来很多。但一一排除下来就debezium和canal。sqoop,kettle,datax之类的工具,属于前大数据时代的产物,地位类似于web领域的structs2。而且,它们基于查询而非binlog日志,其实不属于CDC。首先排除。flink cdc是大数据领域的框架,一般web项目的数据量属于大材小用了。同时databus,maxwell相对比较冷门,用得比较少。最后不用canal的原因有以下几点。

2024-05-17 16:49:35 44

转载 Redis 执行 Lua

原子性需要区分具体使用的载体,在关系型数据库(比如 MySQL))和 No SQL(比如Redis)中,原子性的概念是不相同的;Redis的事务(MULTI/ESXEC)和关系型数据库(比如 MySQL)的事务(ACID)也是不相同的;ACID的原子性指:命令要么全部执行,要么全部不执行;Redis执行 Lua脚本的原子性指:Lua脚本会当作一个整体被执行且不被其他事务打断,但是 Lua 脚本里面的命令无法保证“要么全部执行,要么全部不执行”;

2024-05-17 10:57:31 65

原创 Kibana使用

Kibana 是一个开源的分析和可视化平台,Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。Kibana使用:①:导入数据文件②:预览并确认导入③:创建索引模式④:在Discover中查看数据Kibana左侧的Toolbar主要分为一下几块功能:Discovery 发现:用于查看和搜索原始数据Visualize 可视化:用来创建图表、表格和地图等。

2024-05-15 16:33:30 1725

原创 k8s详细教程

kubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器---Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整服务发现:服务可以通过自动发现的形式找到它所依赖的服务负载均衡。

2024-03-19 22:14:08 1588

原创 Oracle中序列

1.直接删除序列,然后重新创建并且设置序列的初始值为希望的数据2、修改序列的每次增加的值,然后再修改回每次自增1

2024-02-27 10:36:41 697

原创 使用typescript构建Vue2应用

script>props: {})// 初始化数据 data能够声明成类属性形式msg = 123// 使用props// 生命周期钩子声明 保留名称// computed属性能够声明成类方法形式// method方法能够声明成类方法形式greet () {复制代码。

2024-02-04 10:45:15 1382

转载 spring 七种事务传播性介绍

Spring 事务传播性是指, 在Spring的环境中,当多个含有事务的方法嵌套调用时,每个事务方法都处于自己事务的上下文中,其提交或者回滚行为应该如何处理。通俗讲,就是当一个事务方法调用另外一个事务方法时,事务如何跨上下文传播。1)当事务方法A调用事务方法B时,事务方法B是合并到事务方法A中,还是开启新事务?2)当事务方法B抛出异常时 ,在合并事务或者开启新的事务的场景中,事务的回滚是如何处理的?以上事务的处理规则,都取决于事务传播级别的设置。

2024-01-05 17:06:39 104

原创 故障排查方法与技巧

内网环境< 1ms,是较好的网络,如果跳到100多,说明网络不稳定。

2023-12-13 12:19:24 441

原创 Druid介绍

Druid首先是一个数据库连接池,并且是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。

2023-11-20 17:15:35 1329

转载 Kafka 系列的阶段性总结

Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。Kafka 的基本术语消息:Kafka 中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录。批次:为了提高效率, 消息会分批次写入 Kafka,批次就代指的是一组消息。主题:消息的种类称为 主题(Topic),可以说一个主题代表了一类消息。相当于是对消息进行分类。主题就像是数据库中的表。分区。

2023-11-16 10:57:03 119

转载 Ehcache 缓存框架详解

Ehcache 是一个广泛使用的 Java 缓存框架,能够有效提升应用性能,并减少与后端数据库的交互次数。它采用了一系列高级缓存策略,包括内存缓存、磁盘缓存、分布式缓存等,并提供了丰富的 API 和工具类,可以方便地完成缓存的读写和管理。Ehcache 主要有以下特点:快速:Ehcache 采用了一系列高效的缓存策略,能够实现快速的数据访问和读写,从而提高应用程序的性能。可扩展:Ehcache 支持分布式缓存,可以方便地扩展到多台服务器上,从而提高系统的容错性和吞吐量。

2023-11-16 09:27:55 791

转载 Java SPI详解

SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。SPI的作用就是为这些被扩展的API寻找服务实现。不需要改动源码就可以实现扩展,解耦。实现扩展对原来的代码几乎没有侵入性。只需要添加配置就可以实现扩展,符合开闭原则。

2023-10-23 15:12:54 94

转载 ElasticSearch 文档分值 score 计算&聚合搜索案例分析

bucket 就是一个聚合搜索时的数据分组。如:销售部门有员工张三和李四,开发部门有员工王五和赵六。那么根据部门分组聚合得到结果就是两个 bucket。销售部门 bucket 中有张三和李四,开发部门 bucket 中有王五和赵六。metric 就是对一个 bucket 数据执行的统计分析。如上述案例中,开发部门有 2 个员工,销售部门有 2 个员工,这就是 metric。metric 有多种统计,如:求和,最大值,最小值,平均值等。

2023-10-20 16:36:33 831

转载 elasticsearch实现基于拼音搜索

需求: 自定义一个分词器,即可以实现拼音搜索,也可以实现中文搜索。

2023-10-11 16:12:27 274

转载 Curator框架实现Zookeeper基本操作

Zookeeper是一个Apache开源的分布式的应用,为系统架构提供协调服务。从设计模式角度来审视:该组件是一个基于观察者模式设计的框架,负责存储和管理数据,接受观察者的注册,一旦数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。curator是对zookeeper原生api的封装。

2023-10-11 09:27:46 496

原创 让Spring扫描我们自定义的注解

在上述示例中,通过判断 Bean 的 Class 对象是否存在自定义注解 MyAnnotation,来实现对自定义注解的扫描。在上述示例中,@ComponentScan 注解指定了要扫描的包路径为 "com.example.demo",因此 Spring 会扫描该路径下的所有 Bean,包括自定义注解标注的 Bean。在上述示例中,@Component 注解将自定义注解标注为 Spring 的组件,使得 Spring 会扫描并注册该注解为 Bean。并加载该 Bean,从而实现对自定义注解的扫描。

2023-10-09 15:27:13 328

转载 Oracle存储过程案例详解

为了方便读者简单易懂,我将下面使用到的表复制给大家。具体表中的数据,请大家自己填写123456789101112tableEMPnot12345678createorreplaceprocedurenameinfirstP;下面我们要对刚刚写过的存储过程进行测试,我们开启Test Window这个窗口123456789我们打开DBMS Output就可以看到执行的存储过程啦。

2023-09-20 14:36:58 303

原创 sqlserver、mysql、oracle查询表和列

sys.extended_properties:系统视图。information_schema:系统视图。mysql查询所有数据库表名和表注释。查询所有表和对应的字段属性。

2023-08-15 11:01:55 1074

转载 Wireshark-----抓包分析

它的创始人是Gerald Combs,前身是Ethereal,作为开源项目经过众多开发者的完善它已经成为使用量最大的安全工具之一。ICMP (Internet Control Message Protocol,网际报文控制协议)是Internet 协议族的核心协议之一,它主要用在网络计算机的操作系统中发送出错信息。在这层上工作的不止一个协议,但是最普遍的就是互联网协议(IP)。点击 捕获-->选项,取消勾选“在所有接口上使用混杂模式”,选择自己需要的网卡,例如WLAN,点击确定即可;

2023-07-13 09:19:11 19193 2

转载 linux下的find文件查找命令与grep文件内容查找命令

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),grep '[239].' data.doc #输出所有含有以2,3或9开头的,并且是两个数字的行。grep ‘\’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。

2023-06-28 10:50:07 1499

原创 使用AlarmManager 定时发送Notification

SingleTop模式和standard模式非常相似,主要区别就是当一个singleTop模式的Activity已经位于任务栈的栈顶,再去启动它时,不会再创建新的实例,如果不位于栈顶,就会创建新的实例,现在把配置文件中FirstActivity的启动模式改为SingleTop,我们的应用只有一个Activity,FirstActivity自然处于任务栈的栈顶。但Activity已经存在但不位于栈顶时,系统就会把该Activity移到栈顶,并把它上面的activity出栈。Activity启动模式详解。

2023-05-12 10:17:49 225 1

原创 Android 网络连接-重试机制

设置重连机制和异常自动恢复处理。

2023-04-29 08:27:27 365

转载 jenkins 流水线拉取 Gitee项目 打包 微服务 制作 Docker 镜像 并 push 到 harbor

安装habor的记录我整理在了另一片中 :https://blog.csdn.net/weixin_44695125/article/details/123141266?配置 jdk 和 maven 地址 以及全局配置(maven 的安装和 jdk的安装就不多少了主要说下配置)这里我们需要改一个地方 上面我们参数化构建了一个 branch 分支 这样我们就能构建自己需要构建的分支。添加两个参数化构建的插件 (第一个 Git Parameter直接在gitee获取分支用的。

2023-04-15 12:24:54 1083

转载 ZooKeeper 的应用场景

# ZooKeeper 的应用场景。

2023-04-12 17:01:15 131

转载 SpringBoot 服务接口限流-AOP令牌桶

一般来说,系统的 吞吐量是可以计算出一个阈值的,为了保证系统的稳定运行,一旦达到这个阈值,就需要限制流量并采取一些措施以完成限制流量的目的。比如:延迟处理,拒绝处理,或者部分拒绝处理等等。否则,很容易导致服务器的宕机。

2023-04-03 16:53:04 393

原创 sqlserver 查询所有表创建时间及记录数

SELECT a.name, a.crdate ,b.rowsFROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.idWHERE (a.type = 'U') AND (b.indid IN (0, 1))ORDER BY b.rows DESC

2023-03-30 11:17:07 816

原创 git commit撤销

这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作。不删除工作空间改动代码,撤销commit,不撤销git add .删除工作空间改动代码,撤销commit,撤销git add .如果你进行了2次commit,想都撤回,可以使用HEAD~2。注意,仅仅是撤回commit操作,您写的代码仍然保留。执行完commit后,想撤回commit,怎么办?

2023-03-27 16:27:31 91

原创 IntelliJ IDEA 远程调试 Tomcat

【代码】IntelliJ IDEA 远程调试 Tomcat。

2023-03-25 11:19:58 175

转载 既然有Map了,为什么还要有Redis?

代码更清晰,处理逻辑更简单;不用考虑各种锁的问题,不存在加锁和释放锁的操作,没有因为可能出现死锁而导致的性能问题;不存在多线程切换而消耗CPU;无法发挥多核CPU的优势,但可以采用多开几个Redis实例来完善;Redis是一个key-value存储系统,支持10种数据类型,总结了为何要用Redis替代map作为程序缓存、Redis为什么是单线程的、Redis的优缺点、Redis的常用场景,做了一次Redis的快速入门。作者:哪吒编程。

2023-03-12 11:25:26 112

转载 spring整合rocketmq

消息生产者就是把生产者 DefaultMQProducer 对象的生命周期分成构造函数、init、destroy 三个方法,构造函数中将生产者组名、NameServer 地址作为变量由 Spring 容器在配置时提供,init 方法中实例化 DefaultMQProducer 对象、设置 NameServer 地址、初始化生产者对象,destroy 方法用于生产者对象销毁时清理资源。logger.info("监听到消息 : " + new String(ext.getBody(), "UTF-8"));

2023-03-09 18:10:12 767

转载 消息队列常见的 5 个应用场景

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。

2023-03-02 19:35:49 581

转载 ​解析oracle对select加锁的方法以及锁的查询_oracle

SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='过程的所属用户' AND LOCKS!SELECT * FROM V$ACCESS WHERE OWNER='过程的所属用户' AND NAME='刚才查到的过程名';SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID'SELECT SPID FROM V$PROCESS WHERE ADDR='刚才查到的PADDR';

2023-02-02 14:24:56 989

转载 Oracle 慢查询排查步骤

记录一次 Oracle 慢查询的排查过程 , 便于以后直接使用.基准测试(吞吐量) : 包括 Oracle 本身吞吐量和磁盘 I/O 吞吐量硬件分析(资源情况) : 包括查看服务器 CPU , 硬盘的使用情况SQL分析: 分析 SQL 中是否存在慢查询 , 是否命中索引配置优化: 分析是否可以通过环境配置提高性能以上几个方面 , 基本上就能将问题定位了 , 通过问题再考虑解决的方法。

2023-02-02 14:17:16 7258

原创 CENTOS下安装JDK

下载地址:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html。#如果下载不下来,手动下载后放到/usr/java目录下,并解压。

2023-02-02 09:05:07 758

原创 CentOS 7 - 安装MySQL 5.7

(2)查看临时密码:grep password /var/log/mysqld.log。一开始的时候我们安装的yum,每次yum操作都会更新一次,耗费时间,我们把他卸载掉。使用临时密码登录后,不能进行其他的操作,否则会报错,这时候我们进行修改密码操作。(1)查看mysql是否启动:service mysqld status。重启mysql:service mysqld restart。启动mysql:service mysqld start。停止mysql:service mysqld stop。

2023-02-01 16:54:24 247 1

转载 Docker安装

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、、插件等。社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

2023-02-01 15:48:14 116

转载 SpringMVC详解

前面的转换,都是系统自动转换的,这种转换仅限于基本数据类型。特殊的数据类型,系统无法自动转换,例如日期。例如前端传一个日期到后端,后端不是用字符串接收,而是使用一个 Date 对象接收,这个时候就会出现参数类型转换失败。这个时候,需要我们手动定义参数类型转换器,将日期字符串手动转为一个 Date 对象。@Componenttry {复制代码在自定义的参数类型转换器中,将一个 String 转为 Date 对象,同时,将这个转换器注册为一个 Bean。

2023-01-30 15:37:53 259

转载 CompletableFuture异步编程

CompletableFuture是Java 8新增的一个类,用于异步编程,继承了Future和CompletionStage这个Future主要具备对请求结果独立处理的功能,CompletionStage用于实现流式处理,实现异步请求的各个阶段组合或链式处理,因此completableFuture能实现整个异步调用接口的扁平化和流式处理,解决原有Future处理一系列链式异步请求时的复杂编码1、Future 的结果在非阻塞的情况下,不能执行更进一步的操作。

2023-01-30 15:26:24 314

空空如也

空空如也

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

TA关注的人

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