![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 88
hope笔记
吾日三省吾身。学以致用。
展开
-
深入理解Java并发锁
Java提供了丰富的并发锁和同步工具,以满足不同的并发需求。从简单的synchronized到复杂的StampedLock,每种锁都有其适用场景和特定的优缺点。了解这些并发工具的原理和使用方式对于编写高效且线程安全的Java程序至关重要。在实际开发中,选择合适的锁取决于具体的需求、性能考虑以及代码的复杂性。原创 2024-06-21 13:20:57 · 669 阅读 · 0 评论 -
【Redis】命令手册
通过本手册的介绍,相信读者已经对Redis的核心命令有了一定的了解。掌握这些命令是高效使用Redis的前提,但真正的熟练还需要在实践中不断地尝试和调整。Redis的灵活性和强大功能使得它能够适应各种复杂的应用场景,希望本手册能成为您探索Redis世界的可靠伴侣。随着技术的不断发展,新的功能和命令也会不断加入,我们鼓励开发者保持学习的热情,持续关注Redis的最新动态。让我们一起利用Redis的强大能力,构建更加稳定、高效的应用系统。原创 2024-01-25 13:14:53 · 1442 阅读 · 0 评论 -
【Redis】网络模型
Redis(Remote Dictionary Server)是一个开源的高性能键值对存储系统,广泛用于各种网络应用中作为数据库、缓存和消息代理。Redis的网络模型是其高性能的关键因素之一,它涉及到多个方面,包括内存管理、事件处理、网络协议等。了解Redis的网络模型有助于更好地利用其功能,优化系统的性能和可靠性。原创 2024-01-23 14:13:38 · 1702 阅读 · 0 评论 -
【Redis】缓存常见问题及优化方案
Redis作为一款高性能的缓存数据库,被广泛应用于各种互联网应用中。然而,在使用过程中,我们可能会遇到一些常见问题,如缓存穿透、缓存击穿、缓存雪崩等。如果忽视这些情况可能会带来灾难性的后果,下面主要对这些缓存异常和常见处理方案进行相应分析与总结。原创 2024-01-22 13:43:13 · 1768 阅读 · 0 评论 -
【Redis】持久化机制
Redis的数据全部存储在内存,如果机器突然宕机,那么数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。Redis为我们提供了两种持久化方案,一种是基于快照RDB(Redis DataBase),另外一种是基于 AOF (Append Only File)日志 。Redis也可以同时支持 AOF 持久化和 RDB 持久化。在这种情况下,当 AOF 重启时,会优先使用 AOF 文件去恢复原始数据。原创 2024-01-19 09:06:00 · 1802 阅读 · 0 评论 -
【Redis】内存淘汰策略和过期删除策略
Redis是一个内存键值对数据库,所以对于内存的管理尤为重要。Redis内部对于内存的管理主要包含两个方向,过期删除策略和数据淘汰策略。由于内存有限,缓存系统必须遵循一些淘汰策略来删除一些不再需要的键,以便为新键腾出空间。在Redis中,缓存淘汰策略是由maxmemory和maxmemory-policy两个配置参数控制的。原创 2024-01-18 11:46:59 · 2146 阅读 · 0 评论 -
【JVM】常用命令
Java虚拟机(JVM)是Java程序运行的基础设施,它负责将Java字节码转换为本地机器代码并执行。在开发过程中,我们经常需要使用一些命令来监控和管理JVM的性能和状态。本文将详细介绍6个常用的JVM命令:jps、jstat、jmap、jhat、jstack和jinfo。原创 2024-01-15 13:58:24 · 3286 阅读 · 0 评论 -
【JVM】性能调优
性能调优,顾名思义,就是对系统或软件的性能进行优化,以提高其运行效率和响应速度。在计算机科学中,性能调优通常涉及到硬件、操作系统、数据库、网络等多个方面。对于Java开发者来说,JVM(Java虚拟机)的性能调优是非常重要的一环,因为JVM的性能直接影响到Java程序的运行效率。原创 2024-01-15 10:43:35 · 2285 阅读 · 0 评论 -
【JVM】垃圾回收 GC
垃圾回收(Garbage Collection,GC)是由 Java 虚拟机(JVM)垃圾回收器提供的一种对内存回收的一种机制,它一般会在内存空闲或者内存占用过高的时候对那些没有任何引用的对象不定时地进行回收。以避免内存溢出和崩溃的问题。JVM的垃圾回收算法包括引用类型、引用计数器法、可达性分析算法和标记-清除算法等。原创 2024-01-12 13:14:42 · 2320 阅读 · 0 评论 -
【JVM】本地方法接口 Native Interface
JVM本地方法接口(Java Native Interface,JNI)是一种允许Java代码调用本地方法(如C或C++编写的方法)的机制。这种技术通常用于实现高性能的计算密集型任务,或者与底层系统库进行交互。原创 2024-01-11 09:02:24 · 2522 阅读 · 0 评论 -
【JVM】执行引擎 Execution Engine
执行引擎是Java虚拟机(JVM)的核心组成部分之一,它的主要任务是负责装载字节码到其内部。由于字节码并不能够直接运行在操作系统之上,因此需要将字节码指令解释/编译为对应平台的本地机器指令,简单来说JVM的执行引擎充当了高级语言翻译为机器语言的译者。原创 2024-01-10 13:49:59 · 2482 阅读 · 0 评论 -
【JVM】运行时数据区
JVM运行时数据区是Java虚拟机的内存管理模型,包括方法区、堆、虚拟机栈、本地方法栈和程序计数器。原创 2024-01-10 09:12:07 · 2393 阅读 · 0 评论 -
【JVM】类加载器ClassLoader
在Java中,类加载器(ClassLoader)是一个关键的组件,它负责将字节码文件加载到内存并转换成Java类。Java的类加载器主要可以分成两类:系统提供的和由Java应用开发人员编写的。Java开发者可以根据需要创建自己的类加载器。所有的类加载器都继承自抽象类ClassLoader。当JVM需要加载一个类时,它会首先请求父类加载器去尝试加载这个类,如果父类加载器无法找到相应的类或者该类的字节码文件,那么该请求就会传递给子类加载器,依此类推,直到某个类加载器找到了相应的字节码文件为止。原创 2024-01-05 15:22:07 · 2663 阅读 · 0 评论 -
高并发下的计数器实现方式:AtomicLong、LongAdder、LongAccumulator
计数器是并发编程中非常常见的一个需求,例如统计网站的访问量、计算某个操作的执行次数等等。在高并发场景下,如何实现一个线程安全的计数器是一个比较有挑战性的问题。本文将介绍几种常用的计数器实现方式,包括AtomicLong、LongAdder和LongAccumulator,并深入讲解其中的CAS操作。原创 2024-01-05 09:01:56 · 3158 阅读 · 0 评论 -
ElasticSearch深度分页解决方案
ElasticSearch是一个基于Lucene的搜索引擎,它支持复杂的全文搜索和实时数据分析。在实际应用中,我们经常需要对大量数据进行分页查询,但是传统的分页方式在处理大量数据时会遇到性能瓶颈。本文将介绍ElasticSearch分页工作原理、深度分页存在的问题以及深度分页解决方案。原创 2024-01-04 09:05:30 · 3279 阅读 · 0 评论 -
基于Bboss快速构建高效、可靠、安全的Elasticserach全文检索以及统计分析应用
Bboss后端基于Gradle模块化构建,灵活便捷。框架模块丰富,涵盖数据同步ETL工具、J2ee开发框架、微服务、数据库、中间件、安全、配置、缓存、国际化、elasticsearch client、web session共享、redis、kafka、mongodb工具包等常用模块,最大程度满足开发需要。同时,严格遵守WEB安全规范,从根本上避免SQL注入、XSS攻击、CSRF攻击等常见的 Web 攻击手段。支持主流的分布式微服务架构,快速构建高可用服务集群。原创 2024-01-03 13:44:40 · 3166 阅读 · 0 评论 -
并发编程大杀器,京东多线程编排工具asyncTool
并发编程大杀器,京东多线程编排工具asyncTool,可以解决任意的多线程并行、串行、阻塞、依赖、回调的并行框架,可以任意组合各线程的执行顺序,带全链路执行结果回调。多线程编排一站式解决方案。原创 2023-12-29 14:15:31 · 3479 阅读 · 0 评论 -
RocketMQ Copilot 一款面向 Apache RocketMQ 的智能辅助运维系统
RocketMQ Copilot 是一款面向 Apache RocketMQ 的智能辅助运维系统,其核心理念是将RocketMQ 集群的生产实战经验以产品化形式呈现,在辅助广大企业开发者运维管理自建集群的同时,也能方便掌握 RocketMQ 集群运维的最佳实践。原创 2023-12-01 14:17:07 · 2426 阅读 · 0 评论 -
使用SpringBoot和ZXing实现二维码生成与解析
SpringBoot与ZXing的结合非常便捷。我们可以使用ZXing提供的API轻松地生成和解析各种类型的条形码,而无需关心底层的实现细节。同时,SpringBoot也为我们提供了丰富的功能,如自动配置、依赖注入等,使得我们可以更专注于业务逻辑的开发。原创 2023-11-30 13:58:02 · 2882 阅读 · 1 评论 -
最新发布 Spring Boot 3.2.0 新特性和改进
Spring Boot 3.2.0 是 Spring Boot 框架的最新版本,它带来了许多新特性和改进。Spring Boot 3.2.0 对自动配置进行了改进,使其更加灵活和可定制;增强了应用程序的安全性,对性能进行了改进,包括减少了启动时间和提高了吞吐量。原创 2023-11-28 16:59:20 · 5451 阅读 · 0 评论 -
Spring Cloud 2023 支持同步网关,最引人注目的新特性之一
在 Spring Cloud 2023 版本中,最引人注目的新特性之一就是支持同步网关。同步网关是一种新的网关实现,它可以保证请求的顺序性。在传统的微服务架构中,不同的服务之间通常通过 HTTP 协议进行通信,这种通信方式是非阻塞的,也就是说一个服务发送请求后可以立即返回,而不需要等待响应。原创 2023-10-12 12:15:02 · 2778 阅读 · 0 评论 -
Spring WebClient 基于响应式编程模型的HTTP客户端
WebClient是一个非阻塞的、可扩展的、基于Reactive Streams规范的HTTP客户端。它提供了一种简洁的方式来进行HTTP请求,并且可以很好地与其他Spring组件集成。WebClient支持同步和异步操作,使得它非常适合用于构建响应式应用程序。原创 2023-10-10 09:16:45 · 3072 阅读 · 0 评论 -
温故 Spring5 特性
Spring 5是Spring框架的一个重要版本,它带来了许多新特性,包括对Java 8的支持、WebFlux的引入、响应式流等等。本文将详细介绍Spring 5的新特性,并通过代码说明如何使用这些新特性。原创 2023-10-07 10:39:01 · 2758 阅读 · 0 评论 -
消息中间件MQ如何保证信息100%投递成功、消息幂等性
本文介绍了如何使用消息中间件MQ保证信息100%投递成功、消息幂等性,并给出了Java代码详细说明。通过持久化设置、事务机制和死信队列等方法,可以确保消息的可靠性和幂等性。同时,使用唯一标识符和时间戳等方法,可以有效地避免重复消息的出现。原创 2023-09-28 15:43:07 · 3049 阅读 · 0 评论 -
IntelliJ IDEA 介绍、安装、配置优化与快捷键大全
IDEA全称 IntelliJ IDEA,是Java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。原创 2023-09-20 09:39:21 · 3526 阅读 · 0 评论 -
Java ThreadLocal 原理详解及使用
ThreadLocal是Java提供的一个用于解决多线程并发问题的类。它可以让每个线程都拥有自己独立的变量副本,从而实现线程间数据的隔离。ThreadLocal常用于数据库连接、会话管理等场景,避免多线程环境下的数据污染。原创 2023-09-19 11:46:50 · 3400 阅读 · 0 评论 -
程序人生,中秋共享
让我们一起分享我们的程序人生,一起欣赏明月,一起感恩我们的生活。让我们一起,用心感受这个世界的美好,用心体验这个人生的丰富。原创 2023-09-13 17:47:46 · 4101 阅读 · 1 评论 -
整合 kkfile 实现文件预览
kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等。原创 2023-09-12 17:08:44 · 4163 阅读 · 0 评论 -
Spring Boot 整合 Dubbo RPC
Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,用于快速构建分布式服务。Spring Boot 是一个基于 Spring 的快速开发框架,可以简化项目配置和部署。原创 2023-09-11 18:12:00 · 3738 阅读 · 0 评论 -
Seata 一款开源的分布式事务解决方案
Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。原创 2023-09-11 08:47:49 · 3860 阅读 · 0 评论 -
MyBatis-Flex 一个优雅的 MyBatis 增强框架
MyBatis-Flex 是一个优雅的 MyBatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。原创 2023-09-08 10:43:08 · 3975 阅读 · 0 评论 -
Java 21即将发布,探索Java 21新特性和改进
Java 21将在 2023 年 9 月 19 日发布。Java 21是 Java 17之后的下一个 LTS版本。虚拟线程在 Java 21中将成为正式功能。Java 21 有望将会成为继 java8 之后又一个流行的 Java 版本。原创 2023-09-07 12:07:45 · 5519 阅读 · 0 评论 -
mica-mqtt 低延迟、高性能的 mqtt 物联网组件
Bean@Override// 此处可自定义配置 creator,会覆盖 yml 中的配置。原创 2023-09-06 15:33:10 · 5105 阅读 · 0 评论 -
LockSuppor 一个很实用的线程工具类
LockSupport是线程工具类,主要作用是阻塞和唤醒线程,底层实现依赖Unsafe,同时它还是锁和其他同步类实现的基础,LockSupport提供两类静态函数分别是park和unpark,即阻塞与唤醒线程。原创 2023-09-04 18:04:20 · 4138 阅读 · 0 评论 -
Spring Boot集成Kafka详解
Spring Boot是一个用于构建独立的、生产级的Java应用程序的框架,而Kafka是一种高吞吐量的分布式发布订阅消息系统。在本文中,我们将详细解释如何在Spring Boot项目中集成Kafka。原创 2023-08-31 13:41:19 · 4803 阅读 · 0 评论 -
RocketMQ知识点讲解以及实战(java)
RocketMQ是由阿里巴巴开源的一款分布式消息中间件,主要用于处理大规模数据的异步传输、顺序消息、延时消息等场景。它采用了高度可靠、高吞吐量的消息传递机制,具有低延迟、高可用等特点。原创 2023-08-28 13:35:05 · 4800 阅读 · 2 评论 -
详解Redis击穿、雪崩、穿透的解决方案
Redis 是一种高性能的 key-value 存储系统,广泛应用于缓存、队列、计数器等场景。然而,在使用 Redis 时,我们可能会遇到一些问题,如击穿、雪崩和穿透等。本文将详细介绍这些问题及相应的解决方案。原创 2023-08-28 11:31:55 · 4940 阅读 · 2 评论 -
完美使用Lambda表达式
Java 8最大的特性就是引入Lambda表达式,即函数式编程。日常开发中,我们很多时候需要用到Java 8的Lambda表达式,它允许把函数作为一个方法的参数,让我们的代码更优雅、更简洁原创 2023-08-23 17:49:19 · 5180 阅读 · 1 评论 -
基于配置中心的轻量级动态线程池DynamicTp
轻量级动态线程池DynamicTp,基于配置中心的轻量级动态线程池,内置监控告警功能,集成常用中间件线程池管理,已支持Nacos、Apollo,Zookeeper、Consul、Etcd,可通过SPI自定义扩展实现。原创 2023-08-22 11:06:58 · 4817 阅读 · 1 评论 -
使用Annotation注解在实体类中进行参数校验
SpringBoot中提供了可以给实体类上的参数加入校验,对于前端请求的数据进行校验。比如数据的长度、格式、类型、是否为空等等,如果没有通过校验就直接报错,大大的减少了在业务代码判断以及防止脏数据对数据库的影响。原创 2023-08-21 17:50:41 · 4851 阅读 · 1 评论