易水风萧个人学习

风萧萧兮易水寒,壮士一去兮不复还

源码解读---线程锁源码探秘

我终生的等候,换不来你刹那的凝眸

一 基本概念1.1 各种常见的锁1.1.1 悲观锁与乐观锁锁的一种宏观分类方式是悲观锁和乐观锁。悲观锁与乐观锁并不是特指某个锁(Java中没有哪个Lock实现类就叫PessimisticLock或OptimisticLock),而是在并发情况下的两种不同策略。 悲观锁(Pessimistic Lock), 就是很悲观,每次去拿数据的时候都认为别人会修改。所以每次在拿数据的时候都会上锁。这样别......

源码解读---HashMap源码探秘

我们再也不会像以前那样,以彼此为不可替代;我们再也不会像以前那样,那样用力的爱,直到哭了出来

HashMap是基于哈希表的实现的Map接口。此实现提供了所有可选的Map操作,并允许null的值和null键。( HashMap类大致相当于Hashtable ,除了它是不同步的,并允许null)。这个类不能保证Map的顺序;特别是它不能保证顺序在一段时间内保持不变。 假设哈希函数在这些存储桶之间正确分散元素,这个实现为基本操作( get和put )提供了恒定的时间性能。 收集视图的迭......

maven打包jar依赖到外部

此去经年,夏梦未央。我以为你会是我最温暖的夏阳。只是我忘了,我们都无力阻止四季的轮转

springBoot项目可以直接打包成jar并运行,无需自己安装配置Tomcat或者其他服务器,假设项目以常规的方式打包成一个整体的jar包部署,即配置文件和第三方依赖包都包含在jar包里,就会有以下的问题: (1)项目运行的过程中,需要改动配置文件的话需要重新打包并部署。 (2)多个第三方依赖包都相近的项目部署在同一台服务器时,各自的jar包都包含了相同的第三方依赖包,这样第三方依赖包冗余......

Redis发布订阅

有两种不联系:一种是忘记了,一种是放在回忆里

一 基于RedisConnectionFactory的发布订阅1.1 订阅方代码配置代码 import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.Ob......

lombok注解使用说明

曾以为他是生性冷淡,直到看到他为另一个人嘘寒问暖。你才突然明白,这世上根本没有高冷的人,只是他暖的不是你

一 lombok注解说明val val是在lombok 0.10中引入的。 您可以将val用作局部变量声明的类型,而不是实际编写该类型。 执行此操作时,将从初始化程序表达式中推断类型。 局部变量也将成为最终变量。 此功能仅适用于局部变量和foreach循环,不适用于字段。 初始化表达式是必需的。 val实际上是某种“类型”,在lombok包中作为真实类存在。 您必须导入它以使val正常工作......

springboot admin基础教程

没有谁是因为一时冲动而离开你的,那些难过无助又一次次忍耐的眼泪你都看不见。就像堤坝下逐渐因侵蚀而拓宽的裂缝,你看见的,只是它崩溃的那个瞬间

Spring Boot Admin是一个以代码为中心的社区项目,用于管理和监视Spring Boot®应用程序。 这些应用程序通过HTTP在我们的Spring Boot Admin Client中注册,或者是通过Spring Cloud®(例如,Eureka,Consul)发现的。 UI只是Spring Boot Actuator端点之上的Vue.js应用程序。 使用Pyctuator可获得......

java日志配置之logback

你之所以感到孤独,并不是没有人关心你,而是你在乎的那个人没有关心你

将日志请求插入应用程序代码需要大量的计划和工作。观察表明,大约百分之四的代码专用于日志记录。因此,即使是中等大小的应用程序也将在其代码中嵌入数千个日志记录语句。给定它们的数量,我们需要工具来管理这些日志语句。 可以通过编程或使用以XML或Groovy格式表示的配置脚本来配置Logback。顺便说一句,现有的log4j用户可以使用我们的PropertiesTranslator Web应用程序将......

dubbo快速入门教程

旧城。旧址。旧歌。旧人。旧时光。旧阳光。几个词语可以凑成一个残旧的老故事。旧时光里有座旧城,城中某一个旧址里住着旧人。哼着旧歌,守着旧阳光等待到荒凉

一 快速启动Dubbo 采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可,Dubbo 基于 Spring 的 Schema 扩展 进行加载。 如果不想使用 Spring 配置,可以通过 API 的方式 进行调用。 官方源码镜像地址 官方示例镜像地址 官方samples示例镜像地址 首先引入以下依赖 <p......

spring security核心探秘-基础原理

spring security核心探秘与运行原理解析

一 基本原理Spring Security的Servlet支持基于Servlet过滤器,因此通常首先了解过滤器的作用会很有帮助。 下图显示了单个HTTP请求的处理程序的典型分层。 Spring提供了一个名为DelegatingFilterProxy的Filter实现,可以在Servlet容器的生命周期和Spring的ApplicationContext之间进行桥接。 Servlet容器允许......

spring security 动态权限

spring security动态权限实现及相关注解的使用

一 动态权限Spring Security中定义了四个支持使用表达式的注解,分别是@PreAuthorize、@PostAuthorize、@PreFilter和@PostFilter。其中前两者可以用来在方法调用前或者调用后进行权限检查;后两者可以用来对集合类型的参数或者返回值进行过滤,Spring Security将移除使对应表达式的结果为false的元素。 @PreAuthoriz......