自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决Spring BeanCreationException的常见问题

确保ItemAddJob类中确实存在一个public的xxx()方法。// 方法实现。

2024-05-29 21:01:12 433

原创 VO、DTO、DO、PO 详解 + 举例说明

在软件开发中,尤其是面向对象编程和分层架构中,常常使用不同的数据对象来区分不同层次和不同职责的数据传输和处理。以下是 VO、DTO、DO、PO 的详细解释和举例说明:

2024-05-15 21:56:42 2738

原创 BigDecimal 类详细解析+举例说明

BigDecimal是 Java 中用于处理任意精度的十进制数的类。它提供了高精度的算术运算,并且不会丢失精度。BigDecimal主要用于在需要高精度计算的场景,如财务计算或其他需要精确表示的计算中。下面是一些BigDecimal。

2024-02-04 09:44:54 938

原创 StringUtils常用方法解析

是Apache Commons Lang库中的一个工具类,提供了许多用于处理字符串的实用方法。以下是一些。

2023-12-29 16:43:09 1419

原创 Java Optional 的 ifPresentOrElse 方法详解

方法是 Java 9 中Optional类新增的方法之一。它提供了一种更为优雅和清晰的方式,用于在Optional对象包含值和不包含值的情况下执行不同的操作。本文将深入解析方法,介绍其用法和示例。

2023-12-27 15:25:15 1512

原创 Java Stream 中 map 方法源码详解

在Java的Stream API中,map方法是用于对流中的每个元素进行映射操作的重要方法。本文将深入解析map方法的源码,探讨其内部实现和机制。

2023-12-27 14:33:25 594

原创 Java Stream 中 filter 方法源码解析

在Java的Stream API中,filter方法是用于过滤流中元素的关键操作之一。本文将深入解析filter方法的源码,理解其内部实现和机制。

2023-12-27 11:46:53 783

原创 深入理解通用的HTTP POST请求发送方法

假设我们有一个简单的用户管理系统,我们想要使用通用的HTTP POST请求发送方法向服务器发送创建新用户的请求。当创建用户时,会向服务器发送POST请求,并根据服务器的响应进行相应的处理。类型的响应,表示当前请求是一种"fire-and-forget"的请求,即不关心服务器返回的结果。此外,异常处理部分提供了简单的输出错误信息的逻辑,实际应用中可以根据需求进行更复杂的处理。我们将逐行分析代码,理解每一步的操作,并通过一个简单的示例演示如何使用这个方法。这是为了确保我们向正确的目标发送HTTP请求。

2023-12-27 09:24:46 1210

原创 深入理解Java CompletableFuture的使用

这些方法提供了丰富的功能,让你能够更灵活地处理异步任务的执行结果、异常和组合。在实际应用中,根据具体场景和需求选择合适的方法组合使用,能够编写出高效、健壮且易读的异步代码。是 Java 中用于异步编程的工具,提供了丰富的方法来处理异步任务。在异步任务完成后执行一个没有输入参数且没有返回值的操作,可以指定执行的线程池。方法,将所有图片的下载任务组合在一起,以便在所有图片下载完成后执行后续的操作。组合两个异步任务的结果,并在两个任务都完成后执行一个消费者操作。,对异步任务的结果进行消费,可以指定执行的线程池。

2023-12-26 17:20:10 1176

原创 深入解析Java中Optional.of()方法+源码解析

Optional方法通过确保传入的值非空,否则抛出。创建了一个新的Optional对象,并将传入的非空值包装在其中。是创建包含非空值的Optional对象的方法。通过深入解析其语法、使用示例以及注意事项,我们更好地理解了该方法的作用和适用场景。在使用时,确保传入的值非空,以保证安全使用Optional。在不确定值是否为空的情况下,建议使用方法。

2023-12-26 09:47:30 3177

原创 Optional类的map()和flatmap()的区别

通过上述例子,我们可以总结map和flatMapmap用于处理直接的值转换,而flatMap用于处理嵌套的Optional转换。map返回的是包含转换后值的新Optional对象,而flatMap返回的是扁平化后的Optional对象。

2023-12-25 18:09:48 1864

原创 使用Caffeine库的Java本地缓存详解

在Java编程语言中,Caffeine是一个开源的缓存库,用于提供高性能的本地缓存实现。它支持在应用程序中轻松管理缓存,并提供了许多灵活的配置选项。

2023-12-25 14:56:50 1553

原创 Instant常用方法解析

Instant类是 Java 8 引入的一个用于表示时间戳的重要类。在处理时间信息时,Instant提供了丰富的方法来进行各种操作。

2023-12-25 14:11:06 838

原创 CollectionUtils

在Java开发中,我们经常需要对集合进行各种操作,而Apache Commons Collections库提供了一个方便的工具类,其中包含了许多实用的方法。在这篇博客中,我们将深入了解一些常用的方法,并提供详细的示例。

2023-12-25 10:48:21 1428

原创 instanceof

instanceof运算符是 Java 中一个强大的工具,它在处理多态性、避免类型转换异常和泛型中都发挥着重要的作用。然而,过度使用instanceof也可能暗示着设计上的问题,因此在实际应用中需要根据具体场景谨慎使用。通过上述例子,我们可以更好地理解instanceof运算符的应用场景以及如何利用它来增强代码的灵活性和安全性。

2023-12-21 17:44:56 349

原创 list根据元素属性值进行去重

在实际应用中,我们常常需要对包含重复元素的列表进行去重操作。类,其中包含学生的姓名和年龄。现在我们有一个学生列表,但其中可能存在相同姓名的重复学生记录。我们希望创建一个去重后的学生列表,其中每个学生只出现一次。方法,我们能够简洁而高效地实现对包含重复元素的列表进行去重的操作。这种方法充分利用了Java函数式编程的特性,使得代码更加清晰和易读。类,并在其中使用Stream API对学生列表进行去重操作。运行程序后,我们得到了去重后的学生列表,并成功输出了结果。类,其中包含姓名和年龄属性。

2023-12-20 17:46:55 463

原创 自定义注解

首先,我们使用@interface关键字定义一个接口,该接口即为我们的自定义注解。在这个例子中,我们创建了一个名为的注解。Retention;Target;在上述代码中,我们指定了注解可以用于方法,并在运行时保留注解信息。当你定义自定义注解时,有两个重要的元注解需要考虑,它们分别是@Target和@Retention。@Target。

2023-12-20 17:32:21 855

原创 06-2-Lambda表达式和Stream流

Lambda表达式

2023-11-27 22:52:08 38

原创 xx商城项目搭建

xx商城是一个综合性的B2C商城,功能类似于淘宝、京东。用户可以在系统中通过搜索商品、查看商品详情、加入购物车、购买商品并生成订单完成购物操作。动力优品共分为两部分:商城后台管理系统:主要实现对商品、商品分类、规格参数、CMS 等业务的处理。商城前台系统:主要提供用户通过访问首页,完成购物流程的处理。

2023-03-19 15:31:59 468

原创 Feign原理以及feign调优

Feign的核心类是feign.ReflectiveFeign,它通过Java反射的方式将接口转换为一个HTTP请求。在这个过程中,Client会根据Request对象中的内容发送HTTP请求,然后返回服务器的响应。在这个过程中,ReflectiveFeign会根据接口定义中的注解生成一个Request对象,然后将这个Request对象交给Client发送HTTP请求。LZ77算法使用重复的数据块来减小数据的大小,而霍夫曼编码将最频繁出现的数据编码成较短的码字,从而减小数据的大小。

2023-03-16 21:07:47 849

原创 feign传参方式详解

业务层接口service及其实现类serviceImpl。控制层Controller。UserFeign接口。控制层Service。

2023-03-16 20:41:56 621

原创 负载均衡Ribbon&Feign

Ribbon是一个基于客户端的负载均衡框架,它主要用于在服务消费者和服务提供者之间进行负载均衡。Ribbon具有以下特点:基于客户端的负载均衡:Ribbon是一种基于客户端的负载均衡框架,它将负载均衡的逻辑集成到服务消费者中,通过客户端自己进行负载均衡,避免了服务提供者对负载均衡的依赖,使得系统更加灵活和可靠。支持多种负载均衡算法:Ribbon提供了多种负载均衡算法,例如轮询、随机、权重等,可以根据不同的业务需求选择不同的负载均衡算法。

2023-03-16 14:33:10 494

原创 Nacos开机自启

添加nacos.service文件。

2023-03-15 14:37:20 218

原创 Nacos集群和持久化

Nacos集群Nacos集群是指多个Nacos节点协同工作,以提供高可用性和性能的服务发现、配置管理和动态DNS等功能。Nacos集群的节点之间可以相互通信和协作,以确保数据的一致性和可靠性。Nacos集群的优点包括:提高可用性:当某个节点宕机或不可用时,其它节点可以接替它的工作,确保服务不中断。提高性能:多个节点可以共同处理请求,以提高系统的吞吐量和响应速度。提高伸缩性:可以根据需要动态添加或删除节点,以适应不同的负载和流量。Nacos集群的部署方式可以选择单机、集群、Docker容器等。

2023-03-15 14:24:46 1846

原创 Nacos配置隔离

前面已经介绍过,命名空间(Namespace)是用于隔离多个环境的(如开发、测试、生产),而每个应用在不同环境的同一个配置(如数据库数据源)的值是不一样的。数据集可以用来管理一组相关的配置项,比如数据库连接参数、缓存配置等。命名空间是一个独立的配置环境,用于隔离不同的应用程序或不同的部署环境。命名空间可以用来管理不同的配置环境,如测试环境、预发布环境和生产环境等。通过配置管理模型,Nacos提供了一个灵活的配置管理方式,可以根据实际需求进行配置管理和部署,使得应用程序可以快速适应不同的部署环境和配置需求。

2023-03-15 10:45:52 1318

原创 Nacos配置中心

首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的。

2023-03-15 09:59:25 140

原创 Nacos注册中心

注册中心主要有三部分组成::注册中心提供服务的注册和发现。:服务提供方把自身的服务实例注册到 Nacos Server 中:服务调用方通过 Nacos Server 获取服务列表,消费服务。

2023-03-15 09:29:33 2000

原创 Nacos概述和安装

Nacos是一个分布式的配置中心和服务发现平台,可以用于实现微服务架构下的服务注册和发现、动态配置等功能。它提供了以下主要功能:服务注册和发现:Nacos支持服务提供者注册和发现,并且可以实时感知服务的上下线和变化。配置管理:Nacos可以管理动态配置,可以实现配置的实时更新和推送,支持多种数据格式和协议。健康检查:Nacos提供了健康检查功能,可以检测服务的健康状态,并实现自动摘除不健康的服务。DNS服务:Nacos还可以作为DNS服务器使用,提供DNS服务的解析能力。

2023-03-14 21:26:02 223

原创 SpringCloud入门

想要知道什么是SpringCloud首先要知道什么是微服务。微服务(Microservices)是一种软件架构风格,其中一个应用程序被分解为一组小型、独立的服务,每个服务都专注于执行一个特定的业务功能。这些服务之间通过轻量级的通信机制进行通信,例如使用REST API或消息传递机制等。微服务的目标是通过将单个应用程序分解为更小的、可独立部署和维护的组件,使软件开发和交付更加灵活和可靠。它们还有助于在大型组织中实现更快的创新、更高的可扩展性和更好的可维护性。微服务是一种经过良好架构设计的分布式架构方案。

2023-03-14 20:47:18 72

原创 篮球从5 米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于等于0.1 米。

篮球从5 米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于等于0.1 米。

2022-09-02 15:07:46 543 1

空空如也

空空如也

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

TA关注的人

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