「原理分析」Spring Boot启动时基于spring.factories自动读取远端Environment实现的原理源码分析 Spring

「原理分析」Spring Boot启动时基于spring.factories自动读取远端Environment实现的原理源码分析

采用Spring标准的事件/监听器模型,通过Spring SPI的方式,在Spring Boot启动时,自动读取远端「远程服务器、本地硬盘等」Environment配置,方便在Spring Boot启动前,对配置进行灵活调整,增加灵活性,减少硬编码。 本文先从原理进行分析,表明其可行性,下一篇文章再展示具体的代码实现。首先从SPI的基础开始讲起。 1. 服务发现的基础:SPI 注:此...
阅读全文
IDEA插件推荐之Maven-Helper 编程技术

IDEA插件推荐之Maven-Helper

这个插件能可以通过 UI 界面的方式来查看 maven 项目的依赖关系,当然还有最重要的功能 解决依赖冲突 ,使用起来非常的方便,效果图: 在开发 JAVA 项目的时候,经常会由于 maven 依赖冲突导致项目启动失败,这个时候往往会懵逼,到底哪个依赖冲突了,需要排除哪个子依赖,有了这个插件之后就可以很快的定位到冲突的组件,并进行排除。 安装 首先进入 ID...
阅读全文
序列化到底是什么 编程技术

序列化到底是什么

我们都知道,新建一个对象的时候实现 Serializeable 接口,但为什么要这么做?什么时候这样子做?这样子做会不会出现幺蛾子?阿淼一个三连差点把自己都问懵逼了…… 那接下来,大家就和阿淼一起简单了解一下这个知识点吧…… 序 序列化的定义是:将一个对象编码成一个字节流(I/O);而与之相反的操作被称为反序列化。 序列化的目的是为了方便数据的传递以及存储到磁盘...
阅读全文
证明:ThreadLocal的get,set方法无法防止内存泄漏 编程技术

证明:ThreadLocal的get,set方法无法防止内存泄漏

先给出结论: get,set两个方法都不能完全防止内存泄漏,还是每次用完ThreadLocal都勤奋的remove一下靠谱。  前言: 看到有的博客说在把ThreadLocal的所有强引用置空前,调用 set 或 get 方法的话,则可以防止这个失去所有强引用的ThreadLocal对应的value内存泄漏。  但是文章作者一般没有接着向下讲为什么get,set 方法...
阅读全文
面试之敌系列 5 Spring 编程技术

面试之敌系列 5 Spring

请求转发给到DispatcherServlet。 DispatcherServlet请求HandleMapping,查找到对应的handle。可以根据注解或xml 文件查找。 找到对应的handle 之后,会加入一些必要的和配置的拦截器,组成了一个HandleExcutionChain对象返回DispatcherServlet DispatcherServlet根据其中的hand...
阅读全文
从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---06. AOP前置工作准备以及实现逻辑分析 编程技术

从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---06. AOP前置工作准备以及实现逻辑分析

1. AOP实现思路简介 我们在实现AOP时主要用到两个工具库:cglib和AspectJ, cglib是作为我们框架底层的真正动态代理的实现工具,然后我们还需要用AspectJ的切面语法来为指定类进行动态逻辑的增强 最后完成时AOP的使用方式 2. 实现AOP之前需要的准备工作: 完成相关依赖的导入 3. 实现AOP整体架构搭建:完成相关...
阅读全文
啃碎并发(八):深入分析wait&notify原理 编程技术

啃碎并发(八):深入分析wait&notify原理

前言 ===== 上一节讲了Synchronized关键词的原理与优化分析,而配合Synchronized使用的另外两个关键词wait¬ify是本章讲解的重点。最简单的东西,往往包含了最复杂的实现,因为需要为上层的存在提供一个稳定的基础, Object作为Java中所有对象的基类,其存在的价值不言而喻,其中wait&notify方法的实现多线程协作提供了保证 。 ...
阅读全文
以现代化基础架构拥抱新零售时代 编程技术

以现代化基础架构拥抱新零售时代

企业云计算领导者Nutanix宣布,中国高端女装服饰品牌赢家时尚控股集团(以下简称“赢家集团”)已扩大超融合基础架构(HCI)和企业云操作系统软件解决方案部署,以不断支持公司IT基础架构现代化,推动业务创新和数字化转型。 (图片来源网络) 赢家集团创立于1994年,是中国中高端女性服饰领域的领导者之一。集团旗下拥有NAERSI、NAERSI.LING、NEXY.CO和Koradior等...
阅读全文
这恐怕是学习Frida最详细的笔记了 编程技术

这恐怕是学习Frida最详细的笔记了

本篇文章学到的内容来自且完全来自r0ysue的知识星球,推荐一下(这个男人啥都会,还能陪你在线撩骚)。 Frida环境 github.com/frida/frida pyenv python全版本随机切换,这里提供 macOS上的配置方法 brew update brew install pyenv echo -e 'if command -v py...
阅读全文
Loading...