吾辈采石之人,当心怀大教堂之愿景

这几个关于Spring 依赖注入的问题你清楚吗?

前言本章的内容主要是想探讨我们在进行Spring开发过程当中,关于依赖注入的几个知识点。感兴趣的读者可以先看下以下问题:@Autowired,@Resource,@Inject三个注解的区别当你在使用@Autowired时,是否有出现过Fieldinjectionisnotrecommended的警

一次老项目FindBugs Correct 经历

前言被派到这个任务的时候我是懵逼的,因为老项目的代码简直惨不忍睹。我寻思着不能让我一个人恶心啊,所以就整理出来这么篇文章,给同事做下错误示范。这里只针对检测出来的比较典型的bug。以下文章,用🐞来标识检测出来的bug。顺便说一句,我个人觉得Findbugs这种静态代码分析工具是必备的,坚持使用不仅

🔥 万字精美图文带你掌握JVM垃圾回收

本篇内容干货太多,耗费作者大量心力,强烈建议读者朋友们先收藏后观看😉🙇🙏现在正值年底,估计有很多兄弟们在准备面试,希望本篇能给各位带来帮助。转载请注明出处,原创不易!前言往期文章:JVM学习笔记-带你掌握JVM类加载机制🔥精美图文带你掌握JVM内存布局垃圾回收(GarbageCollecti

JVM 学习笔记 - 带你掌握JVM类加载机制

前言往期JVM系列:精美图文带你掌握JVM内存布局本节主要内容:类的生命周期类加载阶段描述数组类和非数组类在加载阶段的差别父子类初始化顺序接口的初始化JVM如何处理多线程同时初始化一个类的情况类加载器的分类什么是双亲委派模型,优点和好处什么情况下需要自定义类加载器呢?怎么自定义?学以致用类的生命周期

🔥 精美图文带你掌握 JVM 内存布局

前言本JVM系列属于本人学习过程当中总结的一些知识点,目的是想让读者更快地掌握JVM相关的知识要点,难免会有所侧重,若想要更加系统更加详细的学习JVM知识,还是需要去阅读专业的书籍和文档。本文主题内容

Java 服务调用全流程追踪 简易实现方案

前言前段时间,本人一直协助项目组在做系统的重构,系统应用被拆分成了多个服务,部分服务做了集群部署。随着上述架构的演进,自然而然的引进了ELK+Filebeat做日志收集。但是在使用Kibana查看日志时,由于缺少TraceID,导致开发人员很难筛选出指定请求的相关日志,也很难追踪应用对下游服务的调用

(可能是)最全的 Filebeat 模块与配置

1.关于Filebeat当你要面对成百上千、甚至成千上万的服务器、虚拟机和容器生成的日志时,请告别SSH吧!Filebeat将为你提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂。关于Filebeat,记住两点:轻量级日志采集器输送至Elasticsearch或Logstash,在

微服务设计学习(三)服务治理之服务注册与发现

前言欢迎阅读往期系列:微服务设计学习(一)关于微服务和如何建模服务微服务设计学习(二)关于服务的集成在微服务大行其道的今天,服务的粒度被拆分得非常细,随之而来的是服务数量的迅速增长。在云原生的浪潮中,服务治理更多情况下与容器调度平台结合,共同形成一站式的自动化调度治理平台。当然无论是否使用基于容器的

微服务设计学习(二)关于服务的集成

前言微服务之间如何集成应该可以说是微服务相关技术中最重要的知识之一。具体可以表示成服务之间的调用方式、通信协议、序列化协议等。如果服务集成做得好,你的微服务可以最大程度地保持自治,你可以独立地修改和发布,相反,前期考虑得不周全的话,会给你带来灾难。本篇是微服务设计学习系列的第二篇(继上一篇发布居然已

向您生动地讲解Spring AOP 源码(3)

前言往期文章:SpringIoC-SpringIoC的设计SpringIoC-IoC容器初始化源码解析SpringIoC-依赖注入源码解析向您生动地讲解SpringAOP源码(1)向您生动地讲解SpringAOP源码(2)在上一章向您生动地讲解SpringAOP源码(2)中,作者介绍了【如何获取对应

向您生动讲解Spring AOP 源码(2)

前言往期文章:SpringIoC-SpringIoC的设计SpringIoC-IoC容器初始化源码解析SpringIoC-依赖注入源码解析向您生动地讲解SpringAOP源码(1)在上一章向您生动地讲解SpringAOP源码(1)中,作者介绍了【开启AOP自动代理的玄机】和【自动代理的触发时机】。在