- Java教程
揭秘阿里面试题:如何精准配置垃圾收集器提升性能?
配置垃圾收集器是优化应用程序性能的重要步骤之一。通过合理的内存大小设置、堆空间配置、JVM 优化和专项优化,我们可以提高应用程序的吞吐量、减少...
- Java教程
你有思考过@Transactional事务是真的好用吗?
实际上,若对阿里巴巴发布的Java开发手册有过深入研读,便会发现其中很多规约非常珍贵,有些内容可能不易理解,甚至显得有些生硬。然而,这些规范实...
- Java教程
详解WebSocketMessageBrokerConfigurer在SpringBoot中应用与实践
WebSocketMessageBrokerConfigurer是Spring WebSocket模块中的一个关键接口,它允许开发者对WebSocket消息代理进行高级定制。在Spring Boot 2环境中,我们可以通过实现这个...
- Java教程
京东一面:如何在SpringBoot启动时执行特定代码?
Spring Boot应用程序启动时执行初始化操作的方法是通过监听ApplicationContext事件。ContextRefreshedEvent事件表示ApplicationContext被初始化或刷新时触发的事件。...
- Java教程
一个注解实现 WebSocket 集群方案,这样玩才爽!
WebSocket大家应该是再熟悉不过了,如果是单体应用确实不会有什么问题,但是当我们的项目使用微服务架构时,就可能会存在问题 比如服务A有两个实例A...
- Java教程
彻底搞懂跨域问题SpringBoot助你畅通无阻
Spring MVC HandlerMapping实现提供了对CORS的内置支持。在成功地将请求映射到处理程序之后,HandlerMapping实现检查给定请求和处理程序的CORS配置,并采取进一步...
- Java教程
实战Spring Cloud Gateway自定义谓词及网关过滤器
Spring Cloud Gateway 的自定义谓词工厂和网关过滤器工厂为开发者提供了灵活性和扩展性,使得开发者可以根据业务需求自定义路由条件和请求处理逻辑。通过...
- Java教程
使用Kafka构建实时音乐排行榜系统,你学会了吗?
Apache Kafka的核心构件包括Producer(生产者), Consumer(消费者), Broker(代理)和 Topic(主题)。Producer负责接收和发送数据,Consumer从Kafka拉取数据进行处理...
- Java教程
字节二面:为什么SpringBoot的 jar 可以直接运行?
Spring Boot 应用程序被打包成的jar包之所以可以直接通过 java -jar 命令运行,是因为Spring Boot在构建过程中做了一些特殊的设计和配置。...
- Java教程
接口防刷!利用Redisson快速实现自定义限流注解
利用Redis的有序集合即Sorted Set数据结构,构造一个令牌桶来实施限流。而Redisson已经帮我们封装成了RRateLimiter,通过Redisson,即可快速实现我们的目标。...
- Java教程
Kafka 与 RabbitMQ:选择正确的消息传递代理
在充满活力的事件驱动架构世界中,选择正确的消息代理对于实现高效且可扩展的通信至关重要。Kafka 和 RabbitMQ 是两款最受欢迎的竞争者,每款都有自己的...
- Java教程
深入理解Java虚拟机:方法区详解
jdk7中将StringTable放到了堆空间中。因为永久代的回收效率很低,在full gc的时候才会触发。而full gc是老年代的空间不足、永久代不足时才会触发。...
- Java教程
我们一起聊聊如何三分钟学会异步任务基础
在Java中,线程池是一种重复利用一组已创建线程的机制,用于执行异步任务。Spring通过TaskExecutor接口提供了异步执行的抽象,而ThreadPoolTaskExecutor是其...
- Java教程
小小ArrayList,居然这么多坑?!
Arrays.asList 得到的是 Arrays 的内部类 ArrayList,List.subList 得到的是 ArrayList 的内部类 SubList,不能把这两个内部类转换为 ArrayList 使用。...
- Java教程
线程池中线程异常后:销毁还是复用?
当执行方式是submit时,堆栈异常没有输出。但是调用Future.get()方法时,可以捕获到异常,不会把这个线程移除掉,也不会创建新的线程放入到线程池中。...
- Java教程
并发协调神器CountDownLatch和CyclicBarrier
从Java的最初版本开始,就可以利用Java来进行多线程编程。正因为Java从最早的版本就支持多线程编程,程序员们才能够利用Java强大的多线程机制来实现并发...