上一页 1 2 3 4 5 6 7 8 9 ··· 39 下一页
摘要: 整体架构与使用Demo Mybatis的架构整体可以分为3层: 接口层也就是和数据库进行交互,核心接口为SqlSession,一个SqlSession对应着一次数据库会话,那么其生命周期不是永久的,理论上每次访问数据库时都需要创建它。形式分为两种,一种是使用Mapper接口,一种是基于Mybatis 阅读全文
posted @ 2025-02-05 15:14 CharyGao 阅读(404) 评论(0) 推荐(0)
摘要: 前言 XML Schema 是基于XML标记语言设计的一个XML文档架构工具,它是DTD替代品,比DTD功能更强大,所以它是XML文档架构目前最佳的选择。学XMLSchema之前最好先学DTD,因为它们都是为了解决XML架构、XML数据传输检验、XML数据传输标准化的问题,DTD更为简单易学,虽然X 阅读全文
posted @ 2025-02-05 15:12 CharyGao 阅读(504) 评论(0) 推荐(0)
摘要: 参考文章:https://www.jianshu.com/p/a0a317fd8c67 在对Mybatis自动扫描配置中,使用注解配置时,@MapperScan中的配置,通常配置如下: @MapperScan(basePackages = {"com.aa.**.mapper","com.bb.** 阅读全文
posted @ 2025-02-05 14:56 CharyGao 阅读(194) 评论(0) 推荐(0)
摘要: 一、排除自动配置类的三种方式 以下三种方式可以用来排除任意的自动配置类 1.1使用@SpringBootApplication注解排除 使用exclude属性(value是Class对象数组) @SpringBootApplication(exclude = DataSourceAutoConfig 阅读全文
posted @ 2025-02-05 14:51 CharyGao 阅读(915) 评论(0) 推荐(0)
摘要: 为什么要有ThreadLocal 我们知道Java线程的出现是为了共享资源,但在线程运行的过程中,他们也希望能够独享某些资源。 ThreadLocal结构和内存泄露分析 这里其实有点难以理解。这里来说一下要点。 每个Thread有自己的属性threadLocals,是ThreadLocalMap类型 阅读全文
posted @ 2025-02-05 14:49 CharyGao 阅读(265) 评论(0) 推荐(0)
摘要: Spring Boot DevTools是Spring Boot的一个非常有用的模块,它在开发过程中可以极大地提高效率,特别是在自动重启应用程序方面。但是,在某些情况下,我们可能需要关闭这个功能。本文将介绍如何关闭Spring Boot DevTools的自动重启功能,并拓展一些相关知识。 1. 什 阅读全文
posted @ 2025-02-05 14:39 CharyGao 阅读(377) 评论(0) 推荐(0)
摘要: 本文整体结构如下: 1. 先大致说明下需求:需要在idea中调试可执行jar包的main方法, 2. 然后给出解决方法 3. 说下我之前用的其他方法 4. 说下如何使用java相关的编译命令(javac)、打包命令(jar)生成本文中的可执行jar包 一、需求说明 如图所示,比如我有一个java项目 阅读全文
posted @ 2025-02-05 14:37 CharyGao 阅读(1265) 评论(0) 推荐(0)
摘要: Rancher 和 Portainer 是两款广泛使用的容器管理平台,主要用于管理 Docker 和 Kubernetes 环境。以下是它们在功能、适用场景和技术特点等方面的对比: 1. 功能范围 特性 Rancher Portainer 支持的容器编排工具 主要用于 Kubernetes 集群的部 阅读全文
posted @ 2025-02-05 14:33 CharyGao 阅读(713) 评论(0) 推荐(0)
摘要: 什么是东西向流量 通常在数据中心中,我们将其网络流量分为两种类型,一种是数据中心外部用户和内部服务器之间交互的流量,这样的流量称作南北向流量或者纵向流量;另外一种就是数据中心内部服务器之间交互的流量,也叫东西向流量或者横向流量。 早期数据中心的流量,80%为南北向流量,现在已经转变成80%为东西向流 阅读全文
posted @ 2025-02-05 14:31 CharyGao 阅读(360) 评论(0) 推荐(0)
摘要: 1、什么是 Dataway? 官网地址:https://www.hasor.net/docs/guides/quickstart Dataway 是依托 DataQL 服务聚合能力,为应用提供一个 UI 界面。并以 jar 包的方式集成到应用中。 通过 Dataway 可以直接在界面上配置和发布接口 阅读全文
posted @ 2025-02-05 14:24 CharyGao 阅读(247) 评论(0) 推荐(0)
摘要: 如果你脱口而出说添加 @Order 注解或者是实现 Ordered 接口,那么恭喜,你掉坑了。 一 @Order 注解和 Ordered 接口 在 Spring 框架中,@Order 是一个非常实用的元注解,它位于 spring-core 包下,主要用于控制某些特定上下文中组件的执行顺序或排序,但它 阅读全文
posted @ 2025-02-05 13:38 CharyGao 阅读(582) 评论(0) 推荐(0)
摘要: 在 Java 中,有一些有序的 Map 实现类,主要包括 `LinkedHashMap` 和 `TreeMap`。 1.LinkedHashMap:`LinkedHashMap` 继承自 `HashMap`,底层采用哈希表实现,同时使用双向链表维护插入顺序或访问顺序。通过维护一个双向链表,可以按照插 阅读全文
posted @ 2025-02-05 13:37 CharyGao 阅读(474) 评论(0) 推荐(0)
摘要: MySQL Binlog 日志监听与 Spring 集成实战 binlog的三种模式 MySQL 的二进制日志(binlog)有三种常见的格式:Statement 模式、Row 模式和Mixed 模式。每种模式的设计目标不同,适用于不同的场景,以下是它们的详细对比和应用: 1. Statement 阅读全文
posted @ 2025-02-05 13:32 CharyGao 阅读(122) 评论(0) 推荐(0)
摘要: Prometheus添加邮件告警和企业微信机器人告警_alertmanager对接企业微信机器人-CSDN博客 我们将在 Prometheus 服务器上编写警报规则 ,这些规则将使用我们收集的指标并在指定的阈值或标准上触发警报,收到警报后, Alertmanager 会处理警报并根据其标签进行路由。 阅读全文
posted @ 2025-02-05 13:31 CharyGao 阅读(414) 评论(0) 推荐(0)
摘要: 一、🌞前言 本文讲解如何获取mysql、postgresql数据库当前数据量的大小,可作为是否分库的指标之一。希望能帮助到您。 二、🌞数据量查询 1、🌙mysql 数据库数据量查询 SELECT SUM(table_rows) FROM TABLES WHERE TABLE_SCHEMA = 阅读全文
posted @ 2025-02-05 12:37 CharyGao 阅读(272) 评论(0) 推荐(0)
摘要: micrometer自定义metrics micrometer提供了基于Java的monitor facade,其与springboot应用和prometheus的集成方式如下图展示 上图中展示的很清楚,应用通过micrometer采集和暴露监控端点给prometheus,prometheus通过p 阅读全文
posted @ 2025-02-05 12:29 CharyGao 阅读(257) 评论(0) 推荐(0)
摘要: Java基础 集合 Java的集合类被定义在Java.util包中,主要有4种集合,分别为List、Queue、Set和Map。(有整理思维导图在另一篇博客Java中的collection思维导图) List List是非常常用的数据类型,是有序的Collection,一共有三个实现类,分别是Arr 阅读全文
posted @ 2025-02-05 12:27 CharyGao 阅读(42) 评论(0) 推荐(0)
摘要: 前言 用到HTTP协议的各方面知识:网络爬虫程序、分析抓包数据、实现HTTP服务器、提供网站REST API、修改后端定制框架等方面。本书前半部分由HTTP的成长发展史娓娓道来,基于HTTP 1.1标准讲解通信过程,包括HTTP方法、协议格式、报文结构、首部字段、状态码等的具体含义,还分别讲解HTT 阅读全文
posted @ 2025-02-05 12:26 CharyGao 阅读(180) 评论(0) 推荐(0)
摘要: 第一章 并发编程的挑战 并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编程的挑战以 阅读全文
posted @ 2025-02-05 12:25 CharyGao 阅读(141) 评论(0) 推荐(0)
摘要: 过滤器 Filter 是 Web 三大组件之一,也是项目常用到的工具,本文主要介绍一下 Filter的概念以及常见的使用方式。 过滤器Filter 过滤器 Filter 由 Servlet 提供,基于函数回调实现链式对网络请求与响应的拦截与修改。由于基于 Servlet ,其可以对web服务器管理的 阅读全文
posted @ 2025-02-05 12:22 CharyGao 阅读(2063) 评论(0) 推荐(0)
摘要: Chrome DevTools 提供了很多实用功能来调试源代码、捕获元素状态、更新和测试元素属性、模拟各种设备环境等。今天就来学习几个超实用的调试技巧! 1、选择和检查 DOM 元素 在 Chrome DevTools 的 Console 面板中,可以输入一些带 $ 的命令来选择和检查 DOM 元素 阅读全文
posted @ 2025-02-05 12:13 CharyGao 阅读(2571) 评论(0) 推荐(0)
摘要: How to add a docker health check to test a tcp port is open? printf "GET / HTTP/1.1\n\n" > /dev/tcp/127.0.0.1/9083 service: build: ./service ... healt 阅读全文
posted @ 2025-02-05 10:06 CharyGao 阅读(330) 评论(0) 推荐(0)
摘要: 在 OpenJDK 21 升级指南 中,给大家分享了一下升级到 OpenJDK 21 中遇到的一些问题。文末留了一个小问题:生产环境的 Java 21 启动参数怎么配置?这篇文章将给出 D瓜哥的答案。 先说明一下生产环境的机器配置:4C8G,四个内核,8G 内存。 启动参数 鉴于 JVM GC 性能 阅读全文
posted @ 2025-02-05 09:13 CharyGao 阅读(915) 评论(0) 推荐(0)
摘要: 开发时,遇到这样一个问题。项目使用springboot框架,项目中的task基于quartz实现,其中有个BaseTask代码实现quartz的Job接口,关键代码如下: import org.quartz.Job; import org.quartz.JobExecutionContext; im 阅读全文
posted @ 2025-02-05 08:54 CharyGao 阅读(359) 评论(0) 推荐(0)
摘要: 本文从本人博客搬运,原文格式更加美观,可以移步原文阅读:swagger文档增强工具knife4j使用详解 使用原生的swagger作为接口文档,功能不够强大,并且默认的ui比较简陋,不符合大众审美。所以实际开发中推荐使用knife4j对swagger进行增强。knife4j的地址:https://g 阅读全文
posted @ 2025-02-05 08:47 CharyGao 阅读(4448) 评论(0) 推荐(0)
摘要: @Configuration注释中的proxyBeanMethods参数是springboot1.0,升级到springboot2.0之后新增的比较重要的内容,该参数是用来代理bean的。 理论 首先引出两个概念:Full 全模式,Lite 轻量级模式 Full(proxyBeanMethods = 阅读全文
posted @ 2025-01-25 16:43 CharyGao 阅读(518) 评论(0) 推荐(0)
摘要: 一、前期准备 (1)实体对象 @Data @AllArgsConstructor @NoArgsConstructor public class User { private Long id; private String name; private String createTime; priva 阅读全文
posted @ 2025-01-25 16:24 CharyGao 阅读(98) 评论(0) 推荐(0)
摘要: 1. Maven 1.1. Maven是什么 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。一个 Maven 工程有约定的目录结构,约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环,就拿自动编译来说,Maven 必须 能找 阅读全文
posted @ 2025-01-25 15:44 CharyGao 阅读(541) 评论(0) 推荐(0)
摘要: 如果你是一名优秀的应用系统开发人员,想必应该非常清楚在应用系统运行期间,打印日志有多么重要。它不但能够记录应用系统运行情况及轨迹,还有助于提升故障排查及定位问题的效率,甚至还可以对其进行分析及监控,洞察系统隐患,提前预警防范。 但并不是说只要打印尽可能多的日志,就能轻松获得这些能力。设想一下,如果你 阅读全文
posted @ 2025-01-25 15:05 CharyGao 阅读(148) 评论(0) 推荐(0)
摘要: 在Java的并发编程领域中,ThreadLocal被广泛运用来解决线程安全困境,它巧妙地为每个线程提供独立的变量副本,有效规避了线程间数据共享的问题。 不过,在使用线程池时,传递线程局部变量在父子线程之间并非易事。这是因为ThreadLocal的设计初衷仅在于线程内的数据隔离,无法支持跨线程间的数据 阅读全文
posted @ 2025-01-25 14:58 CharyGao 阅读(329) 评论(0) 推荐(0)
摘要: 运行原理探究 我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起; 1、父依赖 pom.xml spring-boot-dependencies:核心依赖在父工程中! 我们在写或者引入一些Springboot依赖的时候,不需要指定版本, 阅读全文
posted @ 2025-01-24 16:22 CharyGao 阅读(218) 评论(0) 推荐(0)
摘要: 背景说明 在我们使用Spring Boot进行项目开发时,偶尔会遇到在Spring Boot项目启动完成后需要执行一些初始化的逻辑,比如缓存预加载,数据库初始化等。 那么这种需求我们需要怎么实现呢?本文将提供3种方法供大家参考。 一、入门级:启动main方法中添加初始化逻辑 在Spring Boot 阅读全文
posted @ 2025-01-24 15:00 CharyGao 阅读(445) 评论(0) 推荐(0)
摘要: https://www.oreilly.com/content/software-architecture-patterns/ 介绍 开发人员在没有正式架构的情况下开始编写应用程序是很常见的。如果没有明确且定义良好的架构,大多数开发人员和架构师将诉诸事实上的标准传统分层架构模式(也称为 n 层架构) 阅读全文
posted @ 2025-01-24 14:56 CharyGao 阅读(88) 评论(0) 推荐(0)
摘要: 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 相关文章:史上最全Vim快捷键键位图 — 入门到进阶 什么是 vim? Vim 阅读全文
posted @ 2025-01-24 12:54 CharyGao 阅读(46) 评论(0) 推荐(0)
摘要: /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。 /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。 /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 阅读全文
posted @ 2025-01-24 12:53 CharyGao 阅读(103) 评论(0) 推荐(0)
摘要: java启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取 阅读全文
posted @ 2025-01-24 10:54 CharyGao 阅读(289) 评论(0) 推荐(0)
摘要: map忽略Key大小写敏感度 在面试时被问到一个问题,map如何使key忽略大小写,需要重写些什么方法之类的问题?当时有点懵,一下没反应过来。不区分大小写,简单来说就是put数据进map的时候,最终map中该类型的key只能有一个(比如AAA,aaa,AaA),在取值的时候,可以get所有该类型(由 阅读全文
posted @ 2025-01-24 10:51 CharyGao 阅读(348) 评论(0) 推荐(0)
摘要: 权限简介 Linux系统上对文件的权限有着严格的控制,如果想对某个文件执行某种操作,必须具有对应的权限方可执行成功。 Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。 Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写 阅读全文
posted @ 2025-01-24 10:49 CharyGao 阅读(890) 评论(0) 推荐(0)
摘要: 解决OpenJDK 64-Bit Server VM warning 解决OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath h 阅读全文
posted @ 2025-01-21 16:20 CharyGao 阅读(2288) 评论(0) 推荐(0)
摘要: Servlet解析 Servlet是Server + Applet的缩写,表示一个服务器应用。(Servlet其实就是一套规范,我们按照这套规范写的代码就可以直接在Java的服务器上面运行。) 0. Servlet 3.1 中的Servlet结构图 1. Servlet接口 针对Servlet接口内 阅读全文
posted @ 2025-01-18 11:15 CharyGao 阅读(84) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 39 下一页