- Java教程
CompletableFuture:Java 8 中的异步编程利器
CompletableFuture 作为 Java 8 引入的重要异步编程工具,极大地提升了 Java 平台在应对高并发、高性能场景的能力。...
- Java教程
Spring Boot中如何使用Reactor模型
总的来说,Reactor提供了一种简洁而强大的方式来处理异步编程,在Spring Boot项目中的应用也相对简单而直观。通过合理地利用Reactor,开发者可以构建出高性...
- Java教程
聊聊架构设计流程:设计备选方案
从高性能消息读取的单机系统设计来看,由于团队主要使用 Java,备选方案 2 和 3 均采用了基于 Netty 的高性能网络库。这反映了团队的技术背景对选择范围...
- Java教程
一篇带给你 Spring 循环依赖详解
Spring 循环依赖解决办法及使用案例 在 Spring 中,循环依赖指的是两个或多个 Bean 之间相互依赖,形成了一个循环引用的关系。这种情况下,Spring 容器无法...
- Java教程
你了解Java中的猴子补丁技术吗?
在本文中,我们了解到猴子补丁在某些场景中可能是有帮助和强大的。它可以通过各种技术实现,每种技术都有其优点和缺点。然而,这种方法应该谨慎使...
- Java教程
面试官追问的STW,到底什么是STW?有什么影响?
所谓的STW,在Java中,当需要执行垃圾回收时,垃圾回收器会停止应用程序的所有线程,以便安全地识别和回收不再使用的对象。这个过程被称为“Stop The...
- Java教程
有了 ReentrantReadWriteLock 读写锁,为何还要引入StampedLock?
StampedLock 并不能完全代替ReentrantReadWriteLock ,在读多写少的场景下因为乐观读的模式,允许一个写线程获取写锁,解决了写线程饥饿问题,大大提高吞吐量...
- Java教程
美团二面:SpringBoot读取配置优先级顺序是什么?
启动Spring Boot应用时,可以直接通过命令行参数来覆盖或设置配置属性。命令行参数通常以--开头,后面紧跟属性名和值,如--server.port=8080。这种方式可以...
- Java教程
深入了解Spring的循环依赖解决策略
当两个或多个Bean相互依赖时,Spring会使用三级缓存来确保每个Bean都能够被正确地初始化,并且避免出现死锁或无限循环等问题。三级缓存机制允许Spring容...
- Java教程
注意:Kafka 的这六个场景会丢失消息!
本文介绍了 Kafka 丢失消息的六个场景,使用 Kafka 时需要根据实际情况制定解决方案,希望本文介绍的场能够对你有所帮助。...
- Java教程
深入理解Java虚拟机:对象实例化及直接内存详解
在Java世界中,万物皆对象。当我们谈论一个对象时,其实质是指代一段具有特定属性和行为的内存区域。...
- Java教程
Java中的Arrays,这一篇就够了
当数组为多维数组,或一维数组中的元素为引用类型时,属于浅复制,原数组与新数组的元素引用指向同一个对象。这里说的影响,是两个数组复制后对应...
- Java教程
Java并发编程实战:信号量Semaphore的使用技巧与示例
信号量作为实战多线程编程的得力助手,通过合理的使用,可以有效地解决资源访问的问题,提高程序的并发性能。然而,信号量的使用并非易事,需要深...
- Java教程
轻松上手Spring AOP,掌握切面编程的核心技巧
本文介绍了Spring AOP的常用的切点表达式、通知注解等,我们可以利用AOP对业务逻辑的各个部分进行隔离,使得业务逻辑各部分之间的耦合度降低,提高程序...
- Java教程
多线程回答的滚瓜烂熟,面试官问我虚线程了解吗?我说不太了解!
虚拟线程是由 Java 虚拟机调度,它的占用空间小,同时使用轻量级的任务队列来调度虚拟线程,避免了线程间基于内核的上下文切换开销,因此可以极大量...
- Java教程
深度剖析:Dubbo使用Nacos注册中心的坑
本文主要梳理了Dubbo使用Nacos注册中心的坑,同时也讲述了,出现问题时,如何一步一步排查。...