- 博客(203)
- 资源 (2)
- 收藏
- 关注
原创 Dubbo详解,用心看这一篇文章就够了【重点】
1.1 Dubbo概述Dubbo是阿里巴巴开源的基于 Java 的高性能RPC(一种远程调用) 分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点以及别的公司的业务中。简单的说,Dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有Dubbo这样的分布式服务框架的需求。并且本质上是个远程服务调用的分布式框架(告别Web Service模式中的
2022-03-23 16:36:19 104930 55
原创 MongoDB详解,用心看这篇就够了【重点】
1.1 MongoDB概述MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Mo
2022-03-22 17:02:34 77462 37
原创 RabbitMQ详解,用心看完这一篇就够了【重点】
1.1 消息中间件消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统——百度百科1.1.1 应用场景1.1.1.1 异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 ;(1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种做法让客户端等待没有必要等待的东西。(
2022-03-15 16:33:46 113834 58
原创 Google Aviator: 高性能Java表达式求值引擎
Aviator是一个用于Java的表达式求值引擎,它的主要特点是轻量级、高性能和易于使用。Aviator可以将表达式编译成Java字节码,然后利用JVM的强大执行能力来高效地计算结果。此外,Aviator还提供了一系列内置函数和操作符,使得开发者可以轻松地处理各种数学和逻辑运算。除了内置函数外,Aviator还支持用户定义自己的函数来扩展其功能。这使得Aviator成为一个高度可定制的工具。
2024-08-16 09:48:13 1057
原创 设计模式系列:策略模式的设计与实践
策略模式非常适合那些需要在运行时动态改变行为的场景。策略模式是一种非常实用的设计模式,可以帮助开发人员编写更加灵活和可维护的代码。
2024-08-14 15:01:46 498
原创 Java 8 中 BiFunction 的全面解析与案例分析
BiFunction 是 Java 8 中的函数式接口,用于接收两个输入参数并返回一个结果,支持方法链式调用,适用于数据处理和事件响应等场景。
2024-08-14 09:41:39 235
原创 设备对接与串口通信【JAVA】
串口通信因其简单性、灵活性和通用性,在众多应用场景中仍然保持着极高的实用价值。深入理解串口的工作原理,掌握串口通信接口的选择与编程技巧,对于更好地应用串口技术、设计出更为可靠的通信系统具有重要意义。这不仅能够帮助我们充分发挥串口通信的优势,还能在不同应用场景中灵活应对各种通信需求,确保数据传输的稳定性和准确性。因此,深入学习和掌握串口通信的相关知识,是提升通信系统设计能力、实现高效数据传输的关键所在。
2024-08-13 10:29:13 694
原创 Aop切面技术之存储用户信息
在面向切面编程(AOP, Aspect-Oriented Programming)中,通过定义切面(Aspect)可以在不修改源代码的情况下增加额外的行为,比如日志记录、事务管理、安全检查等。在你的场景中,你希望在方法执行之前获取当前用户的信息,并将这个信息作为参数传递给目标方法。
2024-08-12 16:28:23 235
原创 MyBatis Plus Generator代码生成
MyBatis-Plus使用FTL模板能高效自动生成规范易读的代码,支持灵活定制和多平台,降低维护成本,提高开发效率。
2024-06-18 10:19:28 659 1
原创 ApplicationContextAware使用【工具类】
是Spring框架提供的一个接口,其主要功能是让Bean获取到Spring容器的上下文(这种机制允许Bean在运行时与Spring容器进行交互,例如访问其他Bean实例或获取配置信息。具体来说,当Spring容器初始化一个实现了接口的bean时,它会自动将注入到这个bean中。这是通过Spring容器自动调用接口中的方法来实现的。接口主要应用于需要动态访问Spring容器的场景。例如,你可能需要在一个普通的Java Bean中进行国际化操作、事件发布等,这时候实现接口就显得非常有用。
2024-06-14 09:56:35 333
原创 JWT工具【工具类】
WT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。由于其规范化的JSON结构,使得JWT应用非常广泛,是目前最流行的跨域认证解决方案之一。
2024-06-13 17:25:14 942
原创 集合中removeIf和stream流的filter差异比较
removeIf和stream流的filter都能实现过滤功能,但是实现方式有很多的不同,并且执行效率也不一样。
2024-06-07 15:24:06 386
原创 使用Aspose技术将Excel/Word转换为PDF
Aspose是一款强大的文档处理库,支持多种编程语言,如JavaC#Python等。它提供了丰富的功能,可以轻松地实现各种文档格式之间的转换,包括WordExcelPowerPointPDF等。在本文中,我们将重点关注如何利用Aspose技术将Excel文件转换为PDF格式。通过本文的介绍,您应该已经了解了如何使用Aspose技术将Excel文件转换为PDF格式。本文只是讲解了使用Apose技术进行转换成PDF,其实该技术能够做的事情还有很多,可以轻松地实现各种文档格式之间的转换。
2024-06-07 11:49:10 1998 1
原创 Java接口常见场景:返回树形结构
Java接口返回树形结构的方式主要有以下几种:1.使用嵌套的List;2. 使用递归方法;3. 使用JSON格式的数据。这些方式的优势在于可以方便地表示和处理具有层级关系的数据,使得代码更加简洁、易读。同时,通过接口返回树形结构,可以实现数据的动态加载,提高系统的性能。
2024-06-06 11:29:47 683
原创 高并发下使用Redis分布式锁确保接口执行唯一性【重点】
RedisLock通过使用Redis分布式锁,我们可以确保在高并发环境下,某个接口只有一个线程能够执行。这对于保证数据的一致性和完整性非常重要。
2024-06-06 10:11:03 555
原创 Java优化代码攻略
优化技巧的选择和应用需要根据具体的业务场景和性能瓶颈来决定。在进行优化时,应该首先识别瓶颈所在,然后有针对性地应用优化策略。同时,优化也应该以不牺牲代码的可读性和可维护性为前提。
2024-05-24 11:20:13 593
原创 Optional的简单使用
Optional是Java 8中的一个容器类,它可以保存一个值,也可以明确表示一个值不存在。这样,我们就可以避免直接操作null值,从而避免了NullPointerException的发生。
2024-05-21 14:38:25 285
原创 TransactionTemplate的使用【事务】
TransactionTemplate是Spring框架中用于编程式事务管理的一个类。编程式事务管理需要开发者手动编写代码来管理事务的边界,包括开始事务、提交事务和回滚事务等。而TransactionTemplate则提供了一种简化编程式事务管理的方式。
2024-03-04 15:05:38 2149
原创 自定义异步任务执行器和异常处理
在本文中,我们阐述了如何在Spring Boot框架中利用@Async注解实现异步执行以及相应异步方法中的异常处理。当涉及到单一接口需要调用多个服务资源的情况下,采用@Async注解可以触发异步操作。通过这种方式,可以有效地将各服务的结果以Future形式进行阻塞性聚合,此方法可显著提升系统性能。
2024-03-04 13:57:29 490
原创 Java枚举enum:让你的编程效率翻倍的神级工具!
Java的枚举类型是种特殊的类,它包含了一定数量的常量。此类提供了类型安全、固定值以及自动方法生成的功能,十分适用于表示拥有固定属性值的对象。
2024-01-30 15:55:48 568 1
原创 Java Spring神器揭秘:Filter和Interceptor区别,一文看懂!
这篇文章详解了Filter和Interceptor在Spring中的差异和使用场景,通过对比分析,我们可以更好地理解这两种机制的特性和适用范围,为实际开发提供指导和参考。
2024-01-30 15:31:00 1124
原创 绝绝子!Java关键字transient详解
探索Java中的"transient"关键字:从用途到工作原理的全面解析,带你深入了解这个神秘又实用的关键字。
2024-01-30 15:09:06 451
原创 @PostConstruct使用详解
@PostConstruct 是 Java EE 5 规范中引入的一个注解,主要用于依赖注入完成后,初始化方法执行之前,标注的方法上。这个注解的方法会在类的所有依赖注入完成后立即执行,常用于执行一些初始化操作。
2023-12-04 19:17:17 5782
原创 Java中实用的策略模式【Strategy】
策略模式是一种行为设计模式,它允许在运行时根据需要选择算法的行为。通过将算法封装为独立的对象,可以轻松地替换算法,而无需修改使用算法的客户端代码。
2023-12-04 11:31:02 881
原创 本地缓存LoadingCache使用【详解】
LoadingCache 是 Guava 库提供的一个本地缓存实现,它具有自动加载和缓存过期等特性。使用 LoadingCache 可以快速地缓存数据,避免重复计算或远程调用,提高应用程序的性能和响应速度。
2023-11-30 12:25:45 3644
原创 Spring事件注解@EventListener【观察】
@EventListener 注解是 Spring 框架中用于处理事件的一个注解。它可以用于方法上,将该方法作为事件监听器来处理指定的事件。当触发相应的事件时,监听器方法将会被自动调用。使用事件注解可以帮助我们在应用程序中实现解耦和灵活的消息传递机制。
2023-11-28 22:31:28 1475
原创 ApplicationEventPublisher-Spring事件发布器
ApplicationEventPublisher 是 Spring 框架中用于发布事件的一个接口。通过实现该接口,我们可以将应用程序中的事件发布给感兴趣的监听器,从而允许各个组件之间进行通信和交互。通过使用事件发布器,我们可以轻松地实现应用程序的解耦和灵活性。
2023-11-28 13:57:18 2695
原创 InNoClassDefFoundError:InternalFutureFailureAccess-命令打包出错解决办法
maven打包报错解决方案-NoClassDefFoundError:om.google.common.util.concurrent.internal.InternalFutureFailureAccess
2023-10-27 22:31:07 517
GitHub 星标 高分,个人博客网站【强烈推荐】
2022-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人