- Java教程
Spring中Cron表达式的优雅实现方案
在 SpringBoot 项目中,我们可以通过@EnableScheduling注解开启调度任务支持,并通过@Scheduled注解快速地建立一系列定时任务。...
- Java教程
从 Java 大神 Joshua Bloch 提炼 API 设计的三个核心原则
即使你作为一个程序员并不直接参与面向公众的 API 开发,实际上你也在持续地创建 API。优秀的编程应该是模块化的,模块间的边界自就是 API。同样,如果...
- Java教程
浅谈JVM运行期的几种优化手段
Java 中最典型的聚合量是对象,如果逃逸分析证明一个对象不会被外部访问,并且这个对象是可分解的,那程序真正执行的时候将可能不创建这个对象,而...
- Java教程
Sharding-JDBC源码解析与vivo的定制开发
Sharding-JDBC是在JDBC层提供服务的数据库中间件,在分库分表场景具有广泛应用。本文对Sharding-JDBC的解析、路由、改写、执行、归并五大核心引擎进行了源码...
- Java教程
面试官问:ThreadLocal中的键为什么是弱引用?
ThreadLocal在源码中经常被应用,例如,Spring MVC的RequestContextHolder的实现就是使用了ThreadLocal,cglib动态代理中也应用了ThreadLocal等等。...
- Java教程
Java程序员易踩的坑及解析
我们小伙伴会说了,Java不是中为了节省内存和提高性能,会对一定范围内的Integer对象进行缓存。范围默认是在 -128 到 127 之间,怎么没有生效?...
- Java教程
为什么不建议使用Date类
通过使用这些新的类和方法,Java 8的时间API使得处理日期和时间变得更加简单、直观和安全。它提供了更丰富的功能和更好的设计,可以更好地满足现代...
- Java教程
十个解放双手的 IDEA插件,少些冤枉代码
好久没发这种实用贴了,最近用到了一些能提升工作效率的IDEA插件,给小伙伴们分享一下。相信我,我分享的这些插件,都是实实在在能解决实际开发场景...
- Java教程
Spring Boot外部接口调用:使用RestTemplate与WebClient操控HTTP
在Spring Boot中调用外部接口的方式有多种,其中最常用的是使用RestTemplate或者WebClient。以下是一种使用RestTemplate的示例,包含了详细的描述和实例源代码...
- Java教程
一次线上JVM GC 长暂停排查,加班搞了好久
JVM进行GC时,需要对对应堆分区的已用内存进行遍历,假如GC的时候,有堆的一部分内容被交换到swap中,遍历到这部分的时候就须要将其交换回内存;更极...
- Java教程
你能说下线程池有几个参数吗,分别代表什么?
task是worker对象封装的任务。如果当前worker对象上没有任务就调用getTask去阻塞队列拿任务,如果能拿到就处理任务。如果getTask返回null就跳出循环,进入pr...
- Java教程
九款常见的 JVM 垃圾回收器
垃圾回收器作为 JVM中核心的一环,了解它的原理,可以帮助我们更好地调优和故障排除,因此,今天我们就来聊聊 JVM中 9款常见的垃圾回收器。...
- Java教程
上亿数据,限制1G内存,如何去重?
当涉及到大量数据去重时,常见的 Java Set、List,甚至是 Java 8 的新特性 Stream 流等方式就显得不太合适了。在处理大量数据的需求场景下,我们不得不提及...
- Java教程
RocketMQ为什么这么快?我从源码中扒出了十大原因!
RocketMQ作为阿里开源的消息中间件,深受广大开发者的喜爱,而这其中一个很重要原因就是,它处理消息和拉取消息的速度非常快,那么,问题来了,Rock...
- Java教程
使用IntelliJ IDEA,高效进行跨平台开发
IntelliJ IDEA是JetBrains公司的一款创新的集成开发环境(IDE),专为Java、Kotlin、Scala等JVM语言而设计,同时也支持其他多种编程语言。...
- Java教程
Lambda 表达式在 Java 中的详解与实践
Java中的Lambda表达式极大地提高了程序的可读性和可维护性,同时也促进了Java向函数式编程风格的发展。熟练掌握Lambda表达式的使用不仅可以提升日常开发...