- 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强大的多线程机制来实现并发...
- Java教程
决胜分布式:揭秘Spring框架@Retry注解的智慧重试艺术
Spring框架中的@Retryable重试机制为开发者提供了简便、强大的故障恢复手段,有效提升了系统的鲁棒性和服务间调用的可靠性。...
- Java教程
Java并发:如何避免死锁
一般出现死锁时,可能会导致CPU、内存等资源消耗过高,导致系统性能下降。也可能导致应用无响应或者假死等等,所以要从多角度进行死锁的排查。...
- Java教程
简直了,被“Java并发锁”问题追问到自闭
本文咱们就来聊聊这些Java并发锁的理解吧。我们将从以下这些方面来一起回顾一下Java中的并发锁。...
- Java教程
巧妙运用Redisson打造自定义限流注解,让接口防刷更高效
本文详细介绍了如何利用Redisson实现自定义限流注解,以保护API接口免受恶意刷取。首先探讨了接口防刷的重要性和常见的防刷手段,接着介绍了Redisson这一...
- Java教程
SpringBoot动态权限校验:从零到一实现高效、优雅的解决方案
1、背景 简单先说一下需求吧,这样也好让看的人知道到底适不适合自己。 实现自定义的登录认证。 登录成功,生成token并将token 交由redis管理。 登录后对...