摘要:
引言 面试中,经常会被问到这样一个问题:“Spring Bean 是单例的吗?如果是单例如何保证并发安全呢?”,这两个问题看似没有关联,其实一点也不挨着 😂,为什么呢?请听我来“狡辩”。 首先,单例 Bean 本身并不会直接导致线程安全问题。真正影响线程安全性的因素是该单例对象是否包含共享可变状态 阅读全文
摘要:
面相对象三大特性(封装、继承、多态) 面向对象编程(OOP)有三大基本特性:封装、继承和多态。这三大特性共同构成了面向对象编程的基础,使得程序设计更加模块化、可维护和可扩展。 封装(Encapsulation) 封装是将对象的状态(属性)和行为(方法)结合在一起,形成一个独立的单元,也就是类。通过封 阅读全文
摘要:
Java中的可变长参数 什么是可变参 可变参数是在 Java 5.0 中引入的一个特性,是一种语法糖,它允许方法可以接受不定数量的参数,而无需显式地处理数组。在编译时,方法声明中的可变参数会被转换为数组参数,方法调用中的参数会被打包成一个数组。 可变参的语法 可变参数的语法非常简单,只需要在参数类型 阅读全文
摘要:
引言 今天和大家分享一下一个在 Java 开发中非常重要的概念—— SPI(Service Provider Interface)。SPI 直译叫做服务提供者接口,是一种用于动态加载服务的机制。它不仅能够帮助我们构建更加灵活和可扩展的应用程序,还能让我们的代码更加简洁和易于维护。希望通过本文,大家能 阅读全文
摘要:
接口安全:防篡改和防重放 API 作为应用程序之间的桥梁,承载了大量的数据交换任务。然而,那些暴露在互联网中的接口也可能成为攻击者的目标。为了确保数据传输的安全性,我们必须采取有效的安全措施来防范篡改攻击和重放攻击。下面我们将以 Spring Boot 应用中的 API 安全设计为例,讲解下如何实施 阅读全文