自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM调优

JVM(Java虚拟机)调优是提升Java应用程序性能的关键步骤。它涉及对JVM的内存管理、垃圾回收、编译等多个方面的参数进行调整,以适应不同的应用场景和性能需求。

2025-03-13 19:15:09 565

原创 Java Stream 流的常见用法和场景,以及注意事项

Java Stream 是 Java 8 引入的一个重要的功能,它允许你以声明性的方式对集合或其他数据源进行操作。Stream 流提供了一种高效、易读且功能强大的方式来处理数据集合,支持顺序和并行两种处理方式。Java Stream 流提供了一种高效、易读且功能强大的方式来处理数据集合。通过筛选过滤、映射转换、聚合操作、排序、去重、限制和跳过、匹配和查找、流的扁平化以及转换为其他集合形式等常见用法,可以方便地对数据进行各种操作。

2025-03-13 16:46:26 495

原创 SQL语句的优化技巧

通过合理创建索引、使用查询分析器分析执行计划以及重构SQL语句,可以显著提高查询性能。在实际项目中,优化SQL语句是一个持续的过程,需要根据具体的业务场景和数据量进行调整。

2025-03-13 16:05:38 657

原创 Java HashMap 详解

HashMap 是 Java 中一个非常灵活且高效的键值对存储结构,适用于大多数需要快速插入、删除和查找的场景。理解其内部实现原理,如数组和链表结合的结构、哈希值的计算以及扩容机制,有助于我们更好地使用 HashMap,并在实际开发中进行性能优化。同时,根据不同的业务需求,合理选择 HashMap 或其他 Map 类(如 TreeMap、LinkedHashMap、ConcurrentHashMap 等)也是非常重要的。

2025-03-13 16:01:23 807

原创 redis 的使用场景和注意事项

其原理是:在写操作时,先删除缓存,再更新数据库,然后等待一定时间,再次删除缓存,确保一致性。:Redis 最常见的使用场景是作为缓存系统,利用其内存存储和高速读写特性,可以显著提高应用的响应速度,减轻数据库的负载。:延迟时间应大于主从同步耗时(若有主从架构),以及读业务逻辑数据的耗时加上几百毫秒,以确保读请求结束,写请求能够删除读请求可能带来的缓存脏数据。对于重要的数据,应结合数据库进行存储。:在缓存删除后,如果其他请求在数据库更新完成之前重新加载缓存,可能会导致缓存中的数据与数据库中的数据不一致。

2025-03-13 15:52:30 705

原创 数据库设计范式

通过数据库设计范式,可以有效地减少数据冗余,避免数据的插入、删除和更新异常,提高数据的完整性和一致性。在实际业务场景中,要根据需求和业务逻辑,合理地进行数据库表的规范化设计。

2025-03-04 08:58:32 935

原创 Java 的面向对象特性:封装、继承、多态

抽象类是一种部分抽象、部分实现的类,可以包含抽象方法(没有实现)和非抽象方法(有实现)。接口是完全抽象的,只能定义方法签名,不能实现方法(Java8 引入了默认方法和静态方法后,接口可以有实现)。

2025-03-04 08:56:55 385

原创 Java中的类加载机制

Java 的类加载机制是 Java 虚拟机(JVM)的一个核心组成部分,负责将字节码文件(.class 文件)加载到内存中并转换为类对象。

2025-03-03 09:52:46 624

原创 Java的垃圾回收机制

Serial 是最基础的垃圾回收器,它是一个单线程的回收器,在进行垃圾回收时会 Stop-the-World(暂停所有用户线程的运行)。

2025-03-03 09:48:05 977

原创 java多线程中 Callable 和 Future 的详细说明

作用:替代 的增强接口,允许线程任务有返回值,并支持抛出受检异常定义: 2. Future 接口 作用:表示异步计算结果的生命周期管理核心方法: 二、使用场景对比 特性 Runnable Callable 返回值 void 泛型返回值 异常处理 不能抛出受检异常 可以抛出受检异常 提交方式 execute/submit 必须通过 submit

2025-02-27 15:28:08 820

原创 Java 多线程全面指南

workQueue:任务队列(ArrayBlockingQueue、LinkedBlockingQueue)WAITING:无限期等待(Object.wait()、Thread.join())TIMED_WAITING:限期等待(Thread.sleep())LinkedBlockingQueue:链表实现的可选有界队列。ArrayBlockingQueue:数组实现的有界队列。线程:CPU调度的最小单位,共享进程内存空间。RUNNABLE:可运行(包含就绪和运行中)corePoolSize:核心线程数。

2025-02-27 11:17:14 908

原创 java spring cloud 项目中怎么使用RocketMQ或Kafka作为消息中间件

在application.properties或application.yml文件中配置Kafka的连接信息,包括Kafka服务器的地址、端口、主题(topic)等。首先,你需要将 RocketMQ 的相关依赖添加到你的 pom.xml 文件中(如果你使用的是 Maven)。如果你的项目部署在多个实例上,确保你的消费者组配置正确,以便消息能够在多个消费者实例之间正确分配。如果你的项目部署在多个实例上,确保你的消费者组配置正确,以便消息能够在多个消费者实例之间正确分配。

2024-05-24 17:25:24 930 1

原创 java spring cloud 项目中怎么使用 OpenFeign进行服务调用

首先,你需要在你的 pom.xml(Maven)或 build.gradle(Gradle)文件中添加 OpenFeign 的依赖。启动你的 Spring Cloud 应用,并确保你的服务注册中心(如 Eureka、Consul 或 Nacos)正在运行,且你的服务已经注册到该中心。在接口上使用 @FeignClient 注解,并指定服务名称(通常是你在服务注册中心注册的服务名)。在你的服务类中,你可以通过 @Autowired 注解来注入 Feign 客户端接口,然后就像调用本地方法一样调用远程服务。

2024-05-24 17:09:53 498 1

原创 java spring cloud项目 使用Ribbon或者 Spring Cloud LoadBalancer进行客户端负载均衡

你可以通过 Java 配置或属性文件来自定义 Ribbon 的行为,例如设置连接超时、读取超时、重试策略等。你可以在 application.yml 文件中为特定的服务设置这些属性,例如:yamlribbon:或者,你可以使用 Java 配置来定义自定义的 Ribbon 客户端配置。如果你需要更复杂的负载均衡策略,你可以实现 ReactiveLoadBalancer.Factory<ServiceInstance> 接口,并在你的配置类中指定它。这将允许你完全控制负载均衡的行为。

2024-05-24 16:55:06 676 1

原创 java spring cloud 项目中怎么使用Sentinel 进行限流

你可以通过 Sentinel 控制台动态地定义限流规则,也可以通过 API 或配置文件静态地定义规则。在控制台中,你可以为不同的资源(如服务接口、方法)定义 QPS、线程数等限流规则。你可以通过控制台查看各个资源的流量情况、QPS、线程数等指标,并设置告警规则来在流量异常时及时收到通知。在你的 Spring Boot 项目中,首先需要添加 Sentinel 的相关依赖。依赖(假设你使用的是 Alibaba Cloud 的 Sentinel 整合)。在你的代码中,你可以使用 Sentinel 的注解(如。

2024-05-24 16:06:06 511 1

原创 Gateway 在java spring cloud 项目怎么使用

在 Java Spring Cloud 项目中使用 Gateway,通常是指使用 Spring Cloud Gateway,这是一个基于 Netty、Reactor 和 WebFlux 的非阻塞 API 网关,用于为微服务架构提供动态路由、限流、熔断等功能。除了上面提到的基于路径的断言外,Spring Cloud Gateway 还支持其他类型的断言,如请求头、请求方法、请求参数等。首先,你需要在你的 Spring Boot 项目中添加 Spring Cloud Gateway 的相关依赖。

2024-05-24 15:53:15 568 1

原创 java 中Seata 分布式事务怎么使用

Seata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,专为微服务架构中的高性能和轻量级应用设计。在 Java Spring Cloud 项目中使用 Seata 分布式事务,你需要遵循几个步骤来集成和配置它。

2024-05-24 15:36:19 633 1

空空如也

空空如也

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

TA关注的人

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