分析JDK动态代理的实现
前言 在java中,动态代理分为两类: 基于接口的JDK动态代理 基于类的CGlib动态代理 而今天我要讲的是前者,基于接口的动态代理。动态代理在框架中的应用非常广泛,理解了动态代理,对spring,mybatis等常用框架的源码阅读也非常...
前言 在java中,动态代理分为两类: 基于接口的JDK动态代理 基于类的CGlib动态代理 而今天我要讲的是前者,基于接口的动态代理。动态代理在框架中的应用非常广泛,理解了动态代理,对spring,mybatis等常用框架的源码阅读也非常...
前言 之前把《现代操作系统》的前四章看完了,收获还是很大的,尤其在进程管理那一章让我明白了并发在操作系统上是如何控制的。所以,由此也引发了这一篇源码解析文章的创作。原本是打算写AQS的源码解析的,但是最近项目比较忙,没有时间,只能先写比较简...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
前言 最近在做公司的一个新项目,采用了spring security作为认证和授权的框架。用了三天时间,完成了: 账户密码登录 jwt url级别的权限访问 其实之前的一个项目也用过,但是基本上都是ctrl + c,ctrl + v。没有太...
什么是WebSocket? WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工 (full-duplex) 通信—允许服务器主动发送信息给客户端。 为什么需要WebSocket? 大家都知道以前客户端想...
session 是服务器用来保存用户操作的一系列会话信息,由 Web 容器进行管理。单机情况下,不存在 session 共享的情况,分布式情况下,如果不进行 session 共享会出现请求落到不同机器要重复登录的情况 。单点登录可以用 co...
上篇 《SpringBoot 集成 redis 分布式锁优化》对死锁的问题进行了优化,今天介绍的是 redis 官方推荐使用的 Redisson ,Redisson 架设在 redis 基础上的 Java 驻内存数据网格(In-Memory...
继上一篇 SpringBoot 集成 redis 分布式锁 写到最后,我们发现这种分布式锁也存在着缺陷,如果A在 setnx 成功后,A成功获取锁了,也就是锁已经存到 Redis 里面了,此时服务器异常关闭或是重启,将不会执行我们的设置过期...
继上一篇 SpringBoot 整合 redis 踩坑日志之后,又学习了 redis 分布式锁,那为什么需要分布式锁? redis 分布式锁原理 在传统单体应用单机部署的情况下,可以使用 Java 并发相关的锁,如 ReentrantLco...
SpringBoot 中除了了对常用的关系型数据库提供了优秀的自动化测试以外,对于很多 NoSQL 数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, Elasticsearch, Solr 和 Cassandra。 整...
今日内容是消息队列。大佬讲了三个消息队列分别是 Pegion、Kafka 和 RabbitMQ。其中 Pegion 是公司自己研发的组件。今天主要在 SpringBoot 中集成 RabbitMQ , 将消息储存在消息队列中并消费的过程。 ...