开发运维

深入理解SpringBoot加载FatJar原理

深入理解SpringBoot加载FatJar原理

本文将从源码角度介绍SpringBoot是如何自定义ClassLoader去加载FatJar的,以及FatJar又是如何读取jar里面嵌套jar中的类,中间会涉及到一些ClassLoader的知识。 类加载器基础知识 双亲委托机制 双亲委托指的是加载一个类的时候,先由父类加载器去加载,如果父类加载器

泡泡 泡泡 2023-09-07
0 0 0
redis底层数据结构

redis底层数据结构

Redis的简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理 它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型 内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sent

Escape Escape 2023-09-07
0 0 0
Spring Boot中的多RabbitMQ数据源配置

Spring Boot中的多RabbitMQ数据源配置

简介 在构建复杂的应用程序时,经常需要与多个数据源进行交互。这可能包括连接多个数据库、消息队列或其他数据存储系统。RabbitMQ 是一个流行的消息队列系统,它通过消息队列实现了应用程序之间的松耦合,适用于异步任务处理、解耦、削峰填谷等场景。本篇博客将介绍如何在 Spring Boot 中配置和管理

贤蛋大眼萌 贤蛋大眼萌 2023-09-07
0 0 0
探索SpringBoot和Seata中的SPI机制实现

探索SpringBoot和Seata中的SPI机制实现

本文章主要想了解一下SpringBoot,Seata组件中都是怎么使用SPI功能。如何调用SPI的接口实现类,能够提供哪些便利。 SPI (Service Provider Interface) -- 接口服务发现机制 Spring SPI SpringBoot中最方便的功能莫过于自动配置功能,

大白菜程序猿 大白菜程序猿 2023-09-07
0 0 0
极客时间Java 性能调优实战读书笔记

极客时间Java 性能调优实战读书笔记

1. 背景 主要分为多线程高并发、JVM、数据库、代码设计模式来做项目的调优,从而达到更少的CPU和内存来抗住更多的接口访问 2. 数据库性能调优 慢 SQL 语句的几种常见诱因 无索引、索引失效导致慢查询 锁等待 不恰当的 SQL 语句 行锁是基于索引加的锁,如果我们在更

共饮一杯 共饮一杯 2023-09-07
0 0 0
LeetCode第19题删除链表的倒数第 N 个结点

LeetCode第19题删除链表的倒数第 N 个结点

继续打卡算法题,今天学习的是LeetCode的19题删除链表的倒数第N个结点,这道题目是道中等题。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些帮助。 分析一波题目 这道题目比较有技巧性,单链表有个关键特性是只能从头到尾进行遍历的。如果我

三掌柜 三掌柜 2023-09-07
0 0 0
如何在Java 9中获取JShell文档?

如何在Java 9中获取JShell文档?

Java 9 引入了一种新的交互式工具,称为JShell。该工具可用于执行表达式、类、接口、枚举等。详细的文档可以在 JShell 中找到,其中包含完整信息,以及使用其内部命令和各种选项的信息。可以使用两个命令访问此文档:“/help”和“/?”。 JShell的文档不仅限于其内部控制的信息,还包括

泡泡 泡泡 2023-09-07
0 0 0
Java 9中的多版本兼容jar的用途是什么?

Java 9中的多版本兼容jar的用途是什么?

多版本兼容的JAR功能允许我们在特定版本的Java环境中运行库程序时,选择使用我们想要的类的版本。我们可以通过--release参数指定编译的版本。一个特定的变化是在META-INF目录下的MANIFEST.MF文件中有一个新的属性,如下所示Multi-Release: true登录后复制“META

三掌柜 三掌柜 2023-09-07
0 0 0
Java中的Jar文件

Java中的Jar文件

JAR 是一种文件格式,有助于将 Java 类文件及其关联的元数据和资源聚合到单个文件中。创建 JAR 文件 - jar可以使用cf命令,其中'cf'表示创建文件。jar cf jar_file_name files_to_compress登录后复制创建 jar 文件后,还会创建默认清单文件。特定存

张二河 张二河 2023-09-07
0 0 0
在Java中,关于方法覆盖,异常处理的规则是什么?

在Java中,关于方法覆盖,异常处理的规则是什么?

当覆盖超类方法时,如果该方法抛出异常,您需要遵循一定的规则。应该抛出相同的异常或者子类型如果超类方法抛出某个异常,子类中的方法应该抛出相同的异常或者它的子类型。示例在下面的示例中,超类的readFile()方法抛出了IOException异常,而子类的readFile()方法抛出了FileNotFo

宇宙之一粟 宇宙之一粟 2023-09-07
0 0 0
在Java 9中如何在JShell中实现Set接口?

在Java 9中如何在JShell中实现Set接口?

JShell 是 Java 9 中的一个命令行工具,用于执行表达式、类、接口、方法等简单语句。 Set是 Java 中的一个接口,它指定具有唯一元素的集合的契约。如果object1.equals(object2)返回true,那么object1和object2中只有一个在Set实现中占有一席之地。在

共饮一杯 共饮一杯 2023-09-07
0 0 0
Java中ArrayList和LinkedList的区别

Java中ArrayList和LinkedList的区别

ArrayList和LinkedList都是Java中List接口的实现。两个类都是非同步的。但也存在一定的差异。以下是 ArrayList 和 LinkedList 方法之间的重要差异。先生。号键ArrayListLinkedList1内部实现ArrayList内部使用动态数组来存储其元素。Lin

大树 大树 2023-09-07
0 0 0
如何使用Java中的StackWalker API打印不同的堆栈帧?

如何使用Java中的StackWalker API打印不同的堆栈帧?

Java 9 定义了一个StackWalkerAPI,它提供惰性和帧过滤。 StackWalker对象允许我们遍历和访问堆栈,并包含一个有用的方法:walk()。此方法为当前线程打开一个StackFrame流,然后将该函数应用于该StackFrame流。我们需要获取StackWalker对象,然后使

LOVEHL^ˇ^ LOVEHL^ˇ^ 2023-09-07
0 0 0
在Java中从列表中随机选择项目

在Java中从列表中随机选择项目

List是Java Collection接口的子接口。它是一种线性结构,按照顺序存储和访问每个元素。为了使用list的特性,我们使用实现了list接口的ArrayList和LinkedList类。在本文中,我们将创建一个ArrayList,并尝试随机选择该列表中的项目。 在Java中随机选择列表中的

共饮一杯 共饮一杯 2023-09-07
0 0 0
在Java 9中,我们如何创建一个不可修改的Map?

在Java 9中,我们如何创建一个不可修改的Map?

不可修改的地图是指其键和值无法添加、删除的地图,或在创建不可修改的地图实例后更新。 Map 中的静态工厂方法:Map.of() 和 Map.ofEntries(),提供了在 Java 9 中创建不可修改地图的便捷方法>.使用Map.of()和Map.ofEntries()方法创建的地图实例具有

向阳逐梦 向阳逐梦 2023-09-07
0 0 0
Java程序输入数字,并以文字形式显示

Java程序输入数字,并以文字形式显示

数字基本上以数字格式表示,或者是整数值。但为了发音,我们使用的是单词。每个数字都有独特的单词格式。 例如,1的单词格式是“One”。就像 2 的单词格式是“二”,3 的单词格式是“三”......等等。对于两位数字,数字格式略有不同。 21 代表“二十一”,45 代表“四十五”......等等。因此

大树 大树 2023-09-07
0 0 0
在Java 9中,我们可以在接口中定义私有方法或私有静态方法吗?

在Java 9中,我们可以在接口中定义私有方法或私有静态方法吗?

是的,我们可以在 Java 9 的接口中拥有私有方法或私有静态方法。可以使用这些方法来去除代码冗余。 私有方法只能在该界面中有用或可访问。我们无法从一个接口访问或继承私有方法到另一个接口或类。语法interface { private static void methodName() {

法医 法医 2023-09-07
0 0 0
Java程序用于拆分和连接字符串

Java程序用于拆分和连接字符串

要在Java中拆分和连接字符串,请使用split()和join()方法,如下面的示例所示 −示例public class Demo{ public static void main(String args[]){ String my_str = "This_is_a_sample"

向阳逐梦 向阳逐梦 2023-09-07
0 0 0
Java 9中私有方法的@SafeVarargs注解?

Java 9中私有方法的@SafeVarargs注解?

@SafeVarargs 注解是在 Java 7 中引入的。该注解适用于final和static方法或采用可变参数的构造函数。此注释用于确保方法不会对其可变参数执行不安全的操作。从 Java 9 开始,@SafeVarargs 注解也适用于私有实例方法。语法@SafeVarargs private

贤蛋大眼萌 贤蛋大眼萌 2023-09-07
0 0 0
在Java中,我们什么时候可以调用@JsonAnyGetter和@JsonAnySetter注解?

在Java中,我们什么时候可以调用@JsonAnyGetter和@JsonAnySetter注解?

@JsonAnyGetter 注释允许使用Map作为我们想要序列化为 JSON 和 @JsonAnySetter 的属性的容器 annotation 指示Jackson在JSON对象中的所有未识别字段上调用相同的setter方法,这意味着所有未映射到Java对象中的属性或setter方法的字段。语法

宇宙之一粟 宇宙之一粟 2023-09-07
0 0 0
1 1,076 1,077 1,078 1,079 1,080 1,703