自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

demon7552003的小本本

每天学一点,滴水聚成小水沟

  • 博客(427)
  • 资源 (14)
  • 收藏
  • 关注

原创 开发Sonar的Java规则插件--最详细完整的教程

本文介绍了如何实现一个SonarQube插件来检测slf4j的log.info滥用问题。主要内容包括:1) 使用Maven创建项目结构,配置pom.xml引入SonarQube Plugin API和SonarJava API等必要依赖;2) 通过sonar-packaging-maven-plugin打包插件,配置插件基本信息如插件键、名称、类路径等;3) 支持Java语言分析,插件将被归类为代码异味,严重级别设为info。该插件有助于识别和改善日志记录实践。

2025-08-30 22:55:47 708

原创 深入理解Linux网络--读书笔记(三)

本文探讨了TCP连接数的限制与优化。

2025-07-27 10:31:08 766

原创 深入理解Linux网络--读书笔记(二)

➥ 127.0.0.1本机网络10需要经过网卡吗?不需要➥ 数据包在内核中是什么走向,和外网发送相比流程上有什么差别?总的来说,本机网络O和跨机网络口比较起来,确实是节约了驱动上的一些开销。发送数据不需要进RingBuffer的驱动队列,直接把skb传给接收协议栈(经过软中断)。但是在内核其他组件上,可是一点儿都没少,系统调用、协议栈(传输层、网络层等)、设备子系统整个走了一遍。连“驱动”程序都走了(虽然对于回环设备来说只是一个纯软件的虚拟出来的东西)。所以即使是本机网络口,切忌误以为没啥开销就滥用。

2025-07-27 10:29:59 685

原创 深入理解Linux网络-读书笔记(一)

本章深入剖析了Linux内核接收网络数据包的完整流程

2025-07-27 10:28:33 1108

原创 SSE实现消息推送

摘要:本文介绍了使用Java开发SSE(Server-Sent Events)流式接口的实现方法。SSE是一种基于HTTP的单向服务器推送技术,适合服务器主动推送数据的场景。

2025-06-22 16:02:18 1219

原创 Mybatis-Plus支持多种数据库

MyBatis-Plus多数据库适配方案有两种实现方式:数据库ID方式和Mapper路径方式。

2025-06-22 16:00:52 1340

原创 各种数据库产品的细节比较

本文介绍了MySQL和PostgreSQL的JDBC连接配置方法。MySQL配置包括驱动类名、用户名、密码以及包含时区、SSL等参数的URL格式,并提供了官方文档参考链接。

2025-06-22 15:59:27 916

原创 Feign针对每个接口单独设置超时

Feign可以通过配置文件来定义调用服务器端REST API的超时设置,可以指定全局超时,也可以指定声明`@FeignClient`的单个Client,但是不可以设置Client中的每个接口方法的超时。由于项目中部分接口需要较大的超时,如果通过单独定义一个额外的Client,则需要调整大量代码,那能否通过底层框架解决呢。

2025-06-22 15:58:05 683

原创 pgsql等号不区分大小写

示例展示了在PostgreSQL中创建和使用不区分大小写的排序规则(case_insensitive)。

2025-06-22 15:55:32 403

原创 Python 使用Gitlab Api

本文介绍了GitLab的API使用方法,主要包括:1)REST API基础接入指南;2)Python-gitlab包的安装和基本配置(匿名/Token/OAuth认证);3)提供了删除过期流水线的完整Python代码示例,包含项目遍历、流水线查询和时间判断逻辑。代码展示了如何通过python-gitlab库操作GitLab,包括获取项目列表、删除指定项目和清理3天前的流水线。附录提供了官方API文档参考链接和所需依赖包安装说明。

2025-06-22 15:49:02 417

原创 rt.jar文件类说明

rt.jar是Java运行时环境的核心库,包含标准类库和JVM所需类/接口

2025-06-22 15:45:21 662

原创 linux jq命令详解

jq是一个功能强大的命令行JSON处理工具,提供丰富的查询、过滤和修改功能。jq强大的正则表达式支持和内置运算符使其成为处理JSON数据的理想工具。

2025-06-22 15:42:23 410

原创 GPU机器安装docker

Docker与Nvidia-Docker离线安装指南 本文介绍了在Ubuntu系统上离线安装Docker和Nvidia-Docker的完整流程。文章详细说明了组件版本匹配关系和安装验证方法。该指南适用于需要在内网或离线环

2025-06-22 15:39:16 1975

原创 Netty Eventloop详解

Netty提供三种线程模型:单线程模型(所有I/O操作在一个线程处理,适用于小并发场景)、多线程模型(单独线程组处理I/O操作,适用于多数场景)、主从多线程模型(独立线程池处理连接,适合百万级并发)。Netty通过配置可以灵活切换模型,并采用无锁化设计和串行化处理优化性能。NioEventLoop作为核心线程,不仅处理I/O读写,还执行系统Task和定时任务,避免锁竞争。源码分析揭示了其高效的事件循环机制。

2025-06-22 15:32:46 1038

原创 Netty ChannelPipeline和ChannelHandler详解

Netty的ChannelPipeline采用职责链模式管理ChannelHandler,支持事件的拦截和处理。事件分为inbound(如连接建立、读事件)和outbound(如连接操作、消息发送)两类。Pipeline通过链表结构维护Handler,用户只需继承ChannelHandlerAdapter并覆盖关心的方法即可实现自定义拦截。Netty在创建Channel时会自动初始化Pipeline,开发者只需添加自定义Handler。源码分析显示Pipeline继承ChannelInboundInvoke

2025-06-22 15:31:33 1062

原创 Netty Channel 详解

Netty没有使用JDK原生的NIO Channel,而是自定义实现了Channel接口,主要原因包括:1) JDK原生的SocketChannel和ServerSocketChannel缺乏统一接口,不便于使用;2) 继承扩展原生Channel难度大;3) 需要与Netty架构深度整合;4) 自定义实现更灵活。Netty的Channel采用Facade模式统一封装网络I/O操作,通过聚合而非继承的方式整合功能类,提供了更完整的操作视图。核心实现包括AbstractChannel、AbstractNioCh

2025-06-22 15:30:18 836

原创 mysql主从复制

本文介绍了MySQL主从复制的配置方法,主要包括主从复制的功能优势(数据备份和读写分离)、docker-compose部署方案、主从服务器的配置

2025-05-24 08:06:53 1032

原创 K8S-statefulset-mysql-ha

本文介绍了在Kubernetes上部署MySQL高可用集群的方案

2025-05-24 08:03:58 805

原创 swagger详解

通过合理配置这些注解可以生成完善的API文档

2025-05-24 07:59:53 776

原创 Maven插件之docker-maven-plugin

本文介绍了使用docker-maven-plugin插件实现Maven工程自动化构建Docker镜像的方法

2025-05-24 07:56:12 1861

原创 Gitlab-Runner安装

本文介绍了通过Helm在Kubernetes上部署GitLab Runner的完整流程

2025-05-24 07:52:22 1975

原创 tcpdump命令详解

2024-09-15 10:54:49 1937

原创 GitLab CI_CD 从入门到实战笔记

本书主要介绍GitLabCI/CD的相关内容。首先介绍GitLabCI/CD的基础知识,包括CI/CD的几个基本概念(pipeline、stages、job、GitLabRunner和.gitlab-ci.yml文件);然后介绍GitLabCI/CD的35个关键词、每个关键词的语法及其使用场景,并给出一些示例;最后介绍CI/CD的实践,通过3种不同的项目详细讲解各种部署方式,包括微服务架构项目流水线开发、GitLabCI/CD与Kubernetes的集成,以及如何将项目部署到Kubernetes集群中等。

2024-09-15 10:53:05 3065

原创 Mybatis技术内幕-基础支撑层

MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层。基础支持层包含整个MyBatis 的基础模块,这些模块为核心处理层的功能提供了良好的支撑。

2024-05-12 12:10:09 845

原创 JVM字节码指令清单

Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令。

2024-05-12 12:06:17 926

转载 修改Java class文件

Java 字节码修改

2024-05-12 12:04:51 6196

原创 typora支持的流程图的语法

/

2024-04-14 19:42:22 3624

原创 MAT工具详解

可以用来分析Java堆内存,可以用来排查内存泄漏和内存浪费的问题,但是功能不是特别强大, MAT(Memory Aanlysis Tool)是一款更优的工具。

2024-04-14 19:39:40 827

原创 log4j2配置详解

配置自动配置log4j2支持4种格式的配置:json、yaml、xml、peroperties。加载顺序为:切分文件策略,是基于filePattern中的来决定到底采用哪种时间单位(天、小时、分钟、秒等)。日期格式精确到哪一位,interval 也精确到哪一个单位。注意中配置的文件重命名规则是 ,最小的时间粒度是 ,即秒钟。 默认的 是 1,结合起来就是每 1 秒钟生成一个新文件。如果改成 ,最小粒度为小时,则每一个小时生成一个文件,说明是否对封存时间进行调制。若 , 则封存时间将以 为边界进行偏移

2024-04-05 11:07:46 4357

原创 sentinel与nacos集成

sentinel与nacos集成实战

2024-04-05 11:06:04 2863

原创 Groovy语言学习

Groovy 是一种基于 JVM 的敏捷开发语言,它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性。

2024-01-27 08:50:14 1260

原创 Spring Retry机制详解

Spring框架提供了Spring Retry能让在项目工程中很方便的使用重试。

2024-01-27 08:48:05 2847

原创 protobuf-Java使用.md

protobuf 环境配置1、安装编译器下载地址直接解压缩。2、配置环境变量环境变量Path 中增加安装目录的路径3、检查是否配置成功protocUsage: protoc [OPTION] PROTO_FILESParse PROTO_FILES and generate output based on the options given: -IPATH, --proto_path=PATH Specify the directory in which to search for

2024-01-21 12:55:29 1423

原创 jdbc源码研究

JDBC(`Java Data Base Connectivity`,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用`Java`语言编写的类和接口组成。

2024-01-06 16:11:04 782

原创 Flink学习-处理函数

处理函数是Flink底层的函数,工作中通常用来做一些更复杂的业务处理,处理函数分好几种,主要包括基本处理函数,keyed处理函数,window处理函数。

2024-01-01 12:50:02 1815

原创 Flink学习-时间和窗口

在流数据处理应用中,一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”,一 般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的 窗口计算。所以窗口和时间往往是分不开的。

2024-01-01 10:15:19 2104

原创 Java Bean Validation API

Java Bean Validation API

2024-01-01 10:11:37 1472

原创 Java Bean Validation规范

约束是一系列约束注解与约束校验实现的组合。约束注解可以应用在types, fields, methods,constructors, parameters, container elements 或其他约束注解。Bean校验API的默认包名为。在指定一个注解应用于Java Bean的同时,需要指定属性,这些属性映射为注解元素。messagegroups和payload,为保留名称,注解元素命名不能以valid开头,constraint 可以使用其他元素名称作为其属性。

2024-01-01 10:06:00 1291

原创 人大金仓数据库与mysql比较

人大金仓数据库与mysql语法比较

2024-01-01 10:03:46 5614

转载 QLExpress详解

QLExpression用于动态解析语句

2023-12-30 08:45:12 3630

Spring 5 开发大全-第2部分.pdf(11章以后)

自 Spring 诞生以来,以 Spring 技术栈为核心的企业级应用开发方式深入人心,已经成为 Java EE 开发的最佳实践。随着 Spring 5 版本的发布,Spring 自身也发生了巨大的变革。本书力求全面介绍 Spring 框架,涵盖了 Spring 核心、测试、数据访问、Web 开发、响应式编程、系统集成及微服务等方面在内的共26 章的内容,可以说是 Spring 技术的“百科全书”。 同时,本书基于 Spring 5 版本来编写,除了涉及 Spring 5 版本的新特性外,还介绍了 REST 服务、响应式 Web 开发、微服务设计、Spring Boot、Spring Cloud 等方面的前瞻技术。而且除了讲解 Spring 的理论知识外,还 在每个知识点上辅以大量的代码案例,使理论可以联系实际,具备更强的可操作性。

2019-06-16

深入理解Kafka:核心设计与实践原理_朱忠华著_带目录.rar

本书秉承能用文字表述的就不贴源码、能用图形辅助的就不乏味陈述;既要让新手能够快速入门,也要让老手有所启发,从基础概念入手,再到原理深入,让读者能够由浅入深地理解 Kafka

2019-06-12

Netty进阶之路--跟着案例学part1

在《Netty进阶之路:跟着案例学Netty》中,作者将在过去几年实践中遇到的问题,以及Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过对案例进行剖析,讲解问题背后的原理,并结合Netty源码分析,让读者能够真正掌握Netty,在实际工作中少犯错

2019-02-27

aspectj开发包

AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。

2019-01-05

Hadoop技术内幕:深入解析MapReduce架构设计与实现原理

Hadoop技术内幕:深入解析MapReduce架构设计与实现原理.pdf

2018-08-22

Java测试驱动开发.pdf

《Java测试驱动发》介绍如何将各种TDDzui佳实践应用于Java发,主要内容包括:用Java语言行TDD会用到的各种工具和框架,所需环境搭建;通过实际应用程序,展示TDD优及发中应注意的主要问题;TDD是如何通过模拟内部和外部依赖来提升速度的;如何重构既有应用程序;详细介绍所有TDDzui佳实践。 《Java测试驱动发》适合所有Java发人员,也适合用其他语言编程的程序员了解TDD。 《Java测试驱动发》介绍如何将各种TDDzui佳实践应用于Java发,主要内容包括:用Java语言行TDD会用到的各种工具和框架,所需环境搭建;通过实际应用程序,展示TDD优及发中应注意的主要问题;TDD是如何通过模拟内部和外部依赖来提升速度的;如何重构既有应用程序;详细介绍所有TDDzui佳实践。 《Java测试驱动发》适合所有Java发人员,也适合用其他语言编程的程序员了解TDD。

2019-06-11

java编程思想第4版清晰pdf中文完整版.pdf

ava编程思想第4版本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。

2018-12-25

Hadoop YARN权威指南

Hadoop YARN权威指南_(美)默西著_北京:机械工业出版社 , 2015.03_P242

2018-08-22

从Paxos到Zookeeper 分布式一致性原理与实践

《Paxos到Zookeeper:分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解ZooKeeper,并更好地使用和运维ZooKeeper。

2018-04-05

Netty进阶之路--跟着案例学part2

在《Netty进阶之路:跟着案例学Netty》中,作者将在过去几年实践中遇到的问题,以及Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过对案例进行剖析,讲解问题背后的原理,并结合Netty源码分析,让读者能够真正掌握Netty,在实际工作中少犯错

2019-02-27

空空如也

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

TA关注的人

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