「原理分析」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 Java

IDEA插件推荐之Maven-Helper

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

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

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

面试之敌系列 5 Spring

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

从零写一个具有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最详细的笔记了 Java

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

本篇文章学到的内容来自且完全来自r0ysue的知识星球,推荐一下(这个男人啥都会,还能陪你在线撩骚)。 Frida环境 github.com/frida/frida pyenv python全版本随机切换,这里提供 macOS上的配置方法 brew update brew install pyenv echo -e 'if command -v py...
阅读全文
基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (下篇) 软件架构

基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (下篇)

前言 回顾上一篇文章 《使用 Swagger 做 Api 文档   》 ,文中介绍了在 .net core 3.1 中,利用 Swagger 轻量级框架,如何引入程序包,配置服务,注册中间件,一步一步的实现,最终实现生产自动生产 API 接口说明文档。文中结尾也留下了一个让大家思考的问题。在这里,我们重新回顾一下这几个问题 1.  已经有接口...
阅读全文
Loading...