Spring IOC(Inversion of Control,控制反转)依赖注入是 Spring 框架的核心特性之一,旨在实现对象之间的松耦合,提升代码的可维护性、可测试性和可扩展性。下面我们将从以下几个方面深入探讨 Spring IOC 依赖注入的机制和实现原理。 一、基本概念 控制反转(Inversion of Control)…
hls.js 是一个JavaScript库,实现了HTTP直播流(HLS)客户端。它依赖于HTML5视频和MediaSource扩展进行播放。它通过将MPEG-2传输流和AAC/MP3流转换为ISO BMFF(MP4)片段来实现。转换过程在Web Worker中异步进行。hls.js还支持HLS + fmp4。…
fscan 是一款内网综合扫描工具,提供了全方位的漏洞扫描功能,包括存活探测、端口扫描、服务爆破、系统信息收集、Web指纹识别和漏洞扫描等。该工具旨在帮助安全从业者快速、自动化地对内网进行全面的安全评估。 GitHub地址:https://github.com/shadow1ng/fscan Main Function Points…
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。 Empty集合 用来创建一个空的集合,这个最常用了,相信大家都不陌生就不过多介绍了,它有三个实现: EmptySet…
** 进程、线程和协程是程序设计中三个重要的知识点,这篇文章,我们将从概念、通信方式、区别和优缺点等方面深入探讨它们。 基本概念 进程 进程(Process)是操作系统中资源分配和调度的基本单位。每个进程有自己的内存空间和系统资源,是一个独立运行的程序实例。进程之间是相互隔离的,通常一个进程的崩溃不会影响到其他进程。 线程…
在Spring Boot应用程序中,使用MockMvc进行单元测试是一种有效的方式,可以验证控制器的行为和API的正确性。在这篇博客中,我们将介绍如何使用MockMvc对用户控制器(UserController)进行测试,该控制器涉及用户信息的增删改查操作。 编写UserController测试类 package com.lfsun.mockmvc;…
1. 设计表时,尽量都有这几个通用字段 表必备一般来说,或具备这几个字段: id:主键,一个表必须得有主键,必须 create_time:创建时间,必须 modifed_time: 修改时间,必须,更新记录时,就更新它。 version : 数据记录的版本号,一般用于乐观锁,非必须 modifier :修改人,非必须 creator :创建人,非必须 2.…
1. 获取单例对象需要保证线程安全 我们在获取单例对象的时候,要确保线性安全哈。 比如 双重检查锁定 (Double-Checked Locking)的单例模式,就是一个经典案例,你在获取单实例对象的时候,就需要保证线性安全,比如加 synchronized 确保现象安全,代码如下: public class Singleton { private…