- Java教程
还在用Calendar操作Date?Java8都被放弃了,你还不知道Java8中全新的日期时间API
本文探讨了Java 8引入的全新日期时间API相较于传统的Date和Calendar类的优势及实际应用。鉴于Java 8新日期时间API在设计上的先进性和易用性,强烈建议积极采...
- Java教程
Synchronized关键字的底层原理?
在 Java 中,关键字 synchronized 可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中存在共享数据的操作),同...
- Java教程
关于Java程序服务预热那些事
所谓服务预热,就是在服务启动完成到对外提供服务之前,针对特定场景提供一些初始化准备操作。比如线程池预热、缓存预热、数据库预热、web预热和...
- Java教程
终于明白为啥面试老是有人问 SubList 了,原来这玩意会 OOM!
在初始化内部类 SubList 的时候传入了 this,这个 SubList 中的 parent 字段就是原始的 List,初始化的时候,并没有把原始 List 中的元素复制到独立的变量中保存...
- Java教程
SpringCloud微服务中如何实现多端认证?
本文提出了一种灵活、可扩展的方案,以满足 DailyMart 在业务发展过程中的多端认证需求。通过使用请求路径区分不同端的请求来源,并在 SpringCloud Gatewa...
- Java教程
工作中最常见的六种OOM问题
今天接着线上问题这个话题,跟大家一起聊聊线上服务出现OOM问题的6种场景,希望对你会有所帮助。...
- Java教程
没看过ReentrantLock源码,别说精通Java并发编程
看完了CountDownLatch的所有源码,是不是觉得CountDownLatch逻辑很简单。因为加锁流程的编排工作已经在父类AQS中实现,子类只需要实现具体的加锁逻辑即可,也...
- Java教程
一个很有意思的Spring注入问题,你遇到过吗?
在AppConfig配置类中定义了DAO bean实例,在CommonService中分别去注入DAO 接口和CommonDAO。运行上面的程序没有问题正常。...
- Java教程
故障现场 | 消息发送居然有这么大的坑
RocketMQ事务消息是一种支持分布式事务的消息模型,将消息生产和消费与业务逻辑绑定在一起,确保消息发送和事务执行的原子性,保证消息的可靠性。...
- Java教程
Java中的锁升级机制:偏向锁、轻量级锁和重量级锁
Java中的锁升级机制:偏向锁、轻量级锁和重量级锁 Monitor实现的锁属于重量级锁,你了解过锁升级吗? 前面我们说了 synchronized 底层由monitor实现的,它那...
- Java教程
面试官:SpringBoot如何优雅停机?
优雅停机(Graceful Shutdown)是指在服务器需要关闭或重启时,能够先处理完当前正在进行的请求,然后再停止服务的操作。 优雅停机的实现步骤主要分为以...
- Java教程
简单聊聊JVM中的几种垃圾收集算法
G1 收集器的垃圾回收流程和 CMS 逻辑大致相同,主要的区别在最后一个阶段,G1 不会直接进行清除,而是会根据设置的停顿时间进行智能的筛选和局部的回...
- Java教程
一个熟悉又陌生的关键字:volatile
日常开发中,我们一般情况下都是直接使用的Atomic原子类来保证线程安全的情况,并不会去直接使用volatile关键字,乍一看这个volatile还真是熟悉又陌生呢...
- Java教程
实战 | 生产环境中如何动态调整线程池大小?
在某些情况下,应用程序可能会突然接收到大量的请求,这被称为突发流量。如果线程池大小固定且不足以处理这种突发流量,那么应用程序的性能可能会...
- Java教程
使用Vault保护SpringBoot配置文件中的敏感数据,你学会了吗?
Spring Vault 为访问、存储和撤销秘密提供客户端支持。有了 HashiCorp 的 Vault,你就有了一个集中的地方来管理所有环境中应用程序的外部秘密数据。...
- Java教程
Spring事件如何异步执行?
从Spring 4.2开始,事件基础设施得到了显著改进,并提供了基于注释的模型以及发布任意事件的能力(也就是说,不一定是从ApplicationEvent扩展的对象)。当这样...