自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于Arrays.copyOfRange()方法的使用

此方法是 java.util.Arrays下的一个方法源码: public static int[] copyOfRange(int[] original, int from, int to) { int newLength = to - from; if (newLength < 0) throw new IllegalArgum...

2019-09-04 09:49:37 17065 3

原创 如何解决多线程环境下“指针碰撞”带来的并发问题

指针碰撞是一种在情况下进行对象内存分配的高效方式,但在多线程环境下使用指针碰撞会引发并发问题。

2025-05-11 09:35:03 406

原创 说说Java对象的创建过程

在 Java 中对象的创建方式有多种,最常见的就是通过 new 关键字,但是无论用什么方式,JVM 底层都是一样的。

2025-05-11 09:31:34 644

原创 RabbitMQ事务机制

在RabbitMQ中,生产者为了确保消息发送成功,一种是使用 confirm 确认机制,另一种就是使用事务机制,事务机制就是允许生产者在发送消息时,将多个消息操作作为一个原子单元进行处理,要么所有操作都成功执行,要么都不执行。

2025-05-09 14:25:49 486

原创 RabbitMQ消息的重复消费问题如何解决?

在RabbitMQ中,消息重复消费是一个常见问题,它通常发生在消费者处理消息时出现网络波动、节点故障或消费者自身处理逻辑异常,ACK 失败等情况,都会导致RabbitMQ 不能够正确感知消息已被成功处理,从而重新投递消息。

2025-05-09 14:12:41 850

原创 什么是延迟队列?RabbitMQ 如何实现延迟队列?

定义:延迟队列是一种特殊的队列,队列中的元素(消息)并不会立即被消费者获取并处理,而是在经过一段指定的延迟时间后,才会被消费者消费。它主要用于需要在特定时间点或经过一定时间间隔后执行的任务场景。// 延迟队列// 延迟交换机// 延迟路由键// 死信队列// 死信交换机// 死信路由键// 创建连接// 设置RabbitMQ服务器地址// 设置RabbitMQ服务器端口// 设置用户名// 设置密码// 初始化队列和交换机// 声明死信交换机。

2025-05-08 14:55:30 1851

原创 什么是死信队列?死信队列是如何导致的?

从结果可以看出,第一条消息 ttl 为 28301ms,被普通消费者进行消费,而产生的第二条消息得到 ttl 为 4332ms,由于第一条消息在消费时耗时较久,在此期间 第二条消息已经过期,不得不进入死信队列,由死信消费者进行处理,从前面的日志时间也可以看出,刚好间隔 4s 左右。下面将用代码举例,由于消息过期而进入死信队列。接收从其他队列中因特定原因变成死信的消息。

2025-05-08 14:53:31 808

原创 RabbitMQ中Exchange交换器的类型

在RabbitMQ中,Exchange(交换器)是消息路由的核心组件,它接收生产者发送的消息,并根据不同的规则将消息转发到一个或多个队列。

2025-05-07 11:19:57 1129

原创 RabbitMQ如何保证消息不丢失?

在RabbitMQ中,消息丢失可能发生在三个阶段:生产者发送消息时、消息在RabbitMQ服务器内部传递时、消费者接收消息时。

2025-05-07 11:17:41 771

原创 说下RabbitMQ的整体架构

RabbitMQ 是一个基于协议的开源消息中间件,RabbitMQ的整体架构围绕消息的生产、路由、存储和消费设计,旨在实现高效、可靠的消息传递,它由多个核心组件协同工作。

2025-05-06 15:13:13 979

原创 项目中为什么选择RabbitMQ

当被问及为什么选择某种技术时,应该结合开发中的实际情况以及类似的技术进行分析,适合的技术才是最好的。

2025-05-06 15:08:57 1028

原创 面试官:解释下JDK动态代理为什么要基于接口?

我们知道,扩展一个类,要么继承,要么实现接口,这两种方式都可以对方法进行增强。JDK 动态代理使用的是类和接口。在动态代理机制中,Proxy类通过实现代理类的接口来生成代理对象,并将方法调用委托给。因此,JDK 动态代理的工作原理也决定了它只能代理接口,而不能直接代理具体类。那么可以有其他方式不代理接口吗,有,就是CGLIB动态代理!

2024-11-30 10:25:28 917

原创 一文搞定LocalDate、LocalTime、LocalDateTime

使用自定义日期时间格式化类型,日期时间对象使用format()方法进行格式化输出为字符串使用parse()方法解析字符串为时间日期对象System.out.println("当前日期时间:" + dateTime);// 设置格式化样式DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");// 格式化。

2024-11-30 10:14:12 2962

原创 京东二面:说说Java序列化和反序列化

无论是传输数据、存储对象状态,还是在网络通信、缓存、分布式系统等场景中,序列化与反序列化的理解与应用至关重要。因此,序列化一个对象时,不会包含其类变量的值,因为类变量的值在JVM中是全局的,与特定的序列化实例无关。变量的值依然是类级别的当前状态,而不是从序列化的数据中获取。接口,在实际开发中,还有多种方式可以实现对象的序列化和反序列化,具体选择取决于应用场景、性能需求和数据格式的需求。:在Java中,可以通过序列化将对象保存到磁盘中,比如将一个Java对象保存到文件中,然后在需要时恢复该对象。

2024-11-29 17:27:11 994

原创 String中的substring()方法详解

substring()方法是 Java 中 String 类的一个常用方法,用于从一个字符串中提取其中的子串。

2024-05-21 13:47:43 6710

原创 String中的charAt()方法详解

String.charAt(int index) 方法是用于获取字符串中指定位置索引处的字符。

2024-05-21 13:44:46 2330

原创 LeetCode - 0088 合并两个有序数组

合并两个有序数组

2024-05-11 17:19:10 958

原创 LeetCode - 0001 两数之和

LeetCode 巧解两数之和

2024-05-11 17:15:03 759

原创 Spring Cloud Gateway详解

Spring Cloud Gatewya 详解,路由,断言,过滤器

2024-05-11 13:31:07 989

原创 @ControllerAdvice全局异常处理详解

@ControllerAdvice是Spring框架提供的一个注解,它可以用来集中处理应用程序中的异常情况,并且在一个地方进行全局的数据绑定和预处理。通常结合和注解来实现全局的异常处理全局数据绑定和全局数据预处理。

2024-05-11 11:10:27 1000

原创 JDK各版本下载地址

Jdk 8-22各个版本Windows,mac,Linux的下载地址

2024-04-30 17:28:14 5127 2

原创 Tomcat各版本下载地址

Tomcat 8-11的各个版本的软件及其源码下载

2024-04-30 14:37:41 1346

转载 openFeign,我的时间呢?

最近公司的项目需要从单体架构变为微服务架构,于是乎对项目的代码进行了重构,在处理服务之间的调用问题时,我们使用了openFeign组件,开发的时候都很顺利,但是当传递的参数使用的是Date类型的时候,却出现了意想不到的问题。

2024-04-11 09:57:00 255 2

原创 Java中的四种引用详解

java四种引用类型详解

2022-08-12 16:20:11 249

原创 String、StringBuffer、StringBuilder 的区别?

String、StringBuffer、StringBuilder 的区别

2022-08-03 15:22:24 205 1

原创 CentOS7中命令 ip addr 不显示IP地址的解决办法之一

文章目录问题重现解决办法进入目录`ect/sysconfig/network-scripts`编辑文件`ifcfg-ens33`重启网络服务问题重现当我们使用命令ip addr时,看不到虚拟机的ip地址,如何解决呢?消除它的办法就是面对它????解决办法这是因为我们的虚拟机网络服务没有设置为开机自启动,现在我们来一步步设置下进入目录ect/sysconfig/network-scriptsc......

2020-01-06 16:29:55 8360 2

原创 在CentOS 7 上安装jdk8、tomcat8.5、mysql-8.0.17-linux-glibc2.12-x86_64.tar

文章目录1、准备工作2、安装jdk82.1 配置环境变量3、安装tomcat8.54、安装mysql84.1 创建用户和用户组并授权4.2 创建data文件夹4.3 初始化数据库4.4 配置my.cnf4.5 设置开机自启动4.6 注册服务4.7 配置环境变量4.8 登陆mysql4.9 修改密码4.10 使用Navicat进行远程连接1、准备工作首先在centos中,cd /usr 进入us...

2019-09-26 12:24:01 1038

原创 LeetCode_1 两数之和[java版]解法

文章目录题目描述1、Java解法1.1 暴力法(双重循环)1.2 一遍哈希表法题目描述给定一个整数数组 numsnumsnums 和一个目标值 targettargettarget,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。网址链接:leetcode 两数之和1、Java解法1.1 暴力...

2019-09-18 14:38:11 604

Tomcat 8 软件及源码

版本:apache-tomcat-8.5.100 以下是一些 Tomcat 8 中新增的主要功能: 1. Servlet 3.1规范支持:Tomcat 8 支持最新的Servlet 3.1规范,包括支持非阻塞I/O、HTTP升级和注解等特性。 2. WebSocket支持:Tomcat 8 提供了对WebSocket协议的原生支持,允许在服务器和客户端之间建立双向通信的连接。 3. 并发性改进:Tomcat 8 对并发性进行了改进,包括更好的线程管理、请求处理和响应处理等方面的优化。 4. EL 3.0支持:Tomcat 8 支持最新的EL(表达式语言)3.0规范,提供了更多的表达式功能和语言特性。 5. JSP 2.3支持:Tomcat 8 支持最新的JSP 2.3规范,包括对新特性和改进的支持,如EL 3.0、标签文件的静态引入等。 6. HTTP/2支持:Tomcat 8 支持HTTP/2协议,可以提供更快的页面加载速度和更高的性能。 7. NIO2支持:Tomcat 8 使用了Java 7中引入的NIO2 API,提供了更好的异步I/O支持。

2024-04-30

Tomcat 10 软件及其源码

版本:apache-tomcat-10.1.23 Tomcat 10 是 Apache Tomcat 的一个版本,它引入了一些新的功能和改进。以下是一些关键的新增功能: 1. JDK 11 支持:Tomcat 10 支持 JDK 11,这意味着它可以用于 JDK 11 的项目中。 2. HTTP/2:Tomcat 10 支持 HTTP/2,这是一个重大的性能提升,因为它可以更好地利用多路复用特性。 3. Jakarta EE 9 支持:Tomcat 10 支持 Jakarta EE 9 规范。 4. WebSocket 1.1 支持:Tomcat 10 支持 WebSocket 1.1 规范。 5. 改进的安全性:包括对 OAuth 2.0 的支持和其他安全相关的改进。 6. 模块化设计:Tomcat 10 采用了模块化设计,这使得它可以更容易地进行定制和配置。 7. 异步 IO:Tomcat 10 使用了新的异步 IO 支持,这提高了性能和资源效率。 8. 改进的 Metrics 支持:提供了更好的方式来监控和分析应用性能。

2024-04-30

Tomcat 9 软件及其源码

版本:apache-tomcat-9.0.88 以下是一些 Tomcat 9 中新增的主要功能: 1. Servlet 4.0支持:Tomcat 9 支持最新的 Servlet 4.0 规范,包括对 HTTP/2 和 HTTP/2 Server Push 的支持,以及对 HTTP 请求方法的扩展等。 2. WebSocket 1.1支持:Tomcat 9 支持最新的 WebSocket 1.1 规范,包括对二进制数据的支持和对扩展的更好的支持。 3. HTTP/2支持改进:Tomcat 9 对 HTTP/2 的支持进行了改进,包括更好的性能和更稳定的连接管理。 4. SSL/TLS配置改进:Tomcat 9 对 SSL/TLS 配置进行了改进,包括对密码套件、协议版本和证书管理等方面的增强。 5. JSP 2.3和EL 3.0的改进:Tomcat 9 继续支持 JSP 2.3 和 EL 3.0 规范,并对其进行了一些改进和优化。 6. WebSocket子协议支持:Tomcat 9 支持对 WebSocket 子协议的处理,允许服务器和客户端之间传输更多类型的数据。

2024-04-30

Tomcat 11软件及其源码

版本:apache-tomcat-11.0.0-M19 1. 引入了 Launcher 框架,支持在 Tomcat 中运行多个实例。 2. 支持 Java EE 8 和 Jakarta EE 9 规范。 3. 引入了新的 HTTP/2 支持,默认启用。 4. 提供了更好的安全性,例如通过 JKD 的 TLS 1.3 支持增强。 5. 提供了更好的 JASPIC (Java Authentication Service Provider Interface for Containers) 支持。 6. 提供了对 WebSocket 的更好的性能和安全性。 7. 提供了对 Metrics 的改进,可以更容易地监控和管理 Tomcat。 8. 提供了对 Access Log 的改进,可以更方便地定制和管理日志。 9. 提供了更好的 JSP 支持,包括 JSP 文件的热加载。

2024-04-30

空空如也

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

TA关注的人

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