自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BUG-制造机

旨在学习交流

  • 博客(16)
  • 收藏
  • 关注

原创 程序、进程、线程的区别与联系:以及并发请求是如何互不冲突的?

理解程序、进程、线程的关系,是走向高性能编程的第一步。而掌握多线程的安全处理,是成为一名优秀后端开发者的必修课。

2025-07-09 21:19:07 581

原创 在Java中常量池、堆和栈分别是什么,它们之间的区别和联系

在 Java 或类似的编程语言中,常量池(Constant Pool)、堆(Heap) 和 栈(Stack) 是内存中的三个不同区域,它们承担着不同的职责。下面我们来详细讲解它们的定义、用途、区别和相互关系。常量池是一种特殊的内存区域,用于存储程序运行中使用的各种常量和符号引用。包括两个层次:类文件常量池(Class Constant Pool):编译期间生成,存储在 .class 文件中。

2025-07-02 20:47:05 705

原创 RabbitMQ的安装与使用详解(RabbitMQ与springboot整合)

RabbitMQ是一款支持AMQP协议的开源消息中间件,广泛应用于微服务解耦和异步任务处理。本文介绍了RabbitMQ的安装部署方法,涵盖Linux、macOS和Windows系统,并提供了详细的配置步骤及常见问题解决方案。通过SpringBoot整合示例,演示了Direct模式下的消息生产与消费流程,包括队列、交换机和路由的配置。文章适合初学者快速入门RabbitMQ的基础使用,从环境搭建到消息收发实现一站式指导。

2025-06-16 21:55:32 1124

原创 java 8 中的stream流里面的->和::是什么意思

.....

2025-06-11 21:25:43 275 1

原创 在Java中接口(interface)和抽象类(abstract class)的区别及相同点和不同点

摘要:接口和抽象类都是Java中实现抽象的机制,但存在关键差异。抽象类支持单继承,可包含构造器、成员变量和具体方法,适合提供部分实现的模板;接口支持多实现,默认方法为抽象,Java 8后加入默认和静态方法,适合定义纯行为规范。接口强调解耦和多态,抽象类侧重代码复用。选择时,若需严格规范或多继承用接口,若有共享逻辑或属性则用抽象类。

2025-06-11 21:19:13 1034

原创 Java 异步编程 CompletableFuture的详解及使用 代码示例

CompletableFuture是Java 8引入的一个类,用于在异步编程中处理异步任务的结果。它提供了一组强大的方法,可以轻松地管理和组合多个异步操作。下面是对CompletableFuture的使用和分析解释。使用CompletableFuture的基本步骤如下:1.创建一个CompletableFuture对象,并使用supplyAsync()或runAsync()方法定义异步任务。supplyAsync()用于返回一个带有结果的异步任务。

2023-09-08 11:00:36 515 1

原创 Java 线程池的创建及使用

Java 线程池的创建及使用

2023-09-07 14:49:45 308 1

原创 Java SpringBoot项目使用org.apache.poi 实现Excel导出功能

Excel导出功能

2023-08-25 14:58:17 618 3

原创 阿里云OSS对象存储 Java实现OSS文件上传(代码示例)

阿里云OSS对象存储

2023-07-24 18:18:02 7585

原创 阿里云短信服务 Java实现发送短信功能(代码示例)

阿里云短信功能实现

2023-07-22 21:31:36 6050 2

原创 java.util.List.toArray()的简单使用

我们传递了一个大小与列表相同的字符串数组作为参数,这样会返回具有相同运行时类型的新数组,并将列表中的元素复制到新数组中。最后,我们遍历新数组并打印每个元素。如果传递的数组大小小于列表的大小,则会创建一个新数组来容纳所有元素。方法的数组大小大于列表的大小,则剩余位置将设置为。接口的一个方法,用于将列表中的元素转换为数组。方法将列表中的元素存储在一个指定类型的数组。在上述示例中,我们创建了一个字符串类型的。,并向其中添加了几个元素。类型的数组,并遍历打印出来。方法将列表中的元素转换为。是Java集合框架中。

2023-07-06 10:28:37 572 1

原创 Java AtomicReference的用法

类进行原子引用的操作。根据实际需求,您可以调用适当的方法来完成您想要实现的原子操作。对象可以实现对引用类型对象的原子性操作,包括读取、设置和比较交换等操作。是Java中的原子引用类,用于实现对对象的原子操作。这是一个简单的示例,展示了如何使用。下面是一个简单的示例,展示了。

2023-07-03 15:56:17 870 1

原创 localStorage和sessionStorage之间的区别?

适用于需要在不同页面之间共享数据且持久保存的场景,而。适用于仅在当前会话期间有效并且不需要长期保存的数据。是用于在Web浏览器中存储数据的两个API。

2023-07-03 10:04:23 246 1

原创 java InitializingBean的用法

但请注意,在实际应用中,可以根据需要选择适合的初始化方式,如使用构造函数、通过注解或使用其他的初始化回调方法。接口可以方便地在 Spring 容器中对 Bean 进行初始化操作,而无需手动编写初始化代码或配置额外的初始化方法。是 Spring 框架提供的一个接口,用于在 Bean 实例化后执行初始化逻辑。这样,可以确保在属性设置完成后执行所需的初始化操作。注解可以在方法上标记要执行的初始化逻辑,而无需实现。,该方法会在 Bean 的属性设置完成后自动调用。在该方法中,可以编写自定义的初始化逻辑。

2023-06-30 17:21:37 940

原创 AtomicInteger.getAndIncrement()的用法示例

类中的一个原子操作方法,用于获取当前值并自增。它会以原子方式获取当前值,并将该值自增1。返回的是自增前的值。方法保证了多个线程同时调用时的原子性,避免了竞态条件(race condition)和数据不一致的问题。在上述示例中,我们首先创建了一个初始值为 0 的。方法获取当前值并自增,将结果赋给。方法获取自增后的值,并将结果赋给。获取到的是自增之前的值 0,而。获取到的是自增后的值 1。

2023-06-30 15:21:03 2617

原创 ImmutableSet.of()的用法示例

是 Google Guava 库中的一个静态方法,用于创建不可变的集合(Immutable Set)。它接受可变数量的参数,并返回一个包含这些元素的不可变集合。方法创建了几个不可变集合,并打印输出它们的内容。请注意,由于不可变集合是不可更改的,因此我们不能向其添加或删除元素。如果尝试修改不可变集合,将抛出。在上述示例中,我们使用。

2023-06-30 10:53:24 720

空空如也

空空如也

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

TA关注的人

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