江湖迈杰的博客

江湖迈杰的博客

Git使用技巧——不同的Git仓库使用不同的提交人

背景 在日常开发中,我们可能会从事多个项目的开发工作,一些在Gitlab上,一些在GitHub,或者公司私有的git服务。在不同git服务,你的用户、email以及ssh的配置可能存在差别,本文将介绍如何进行相关的配置。 操作方法 操作步骤主要包括两步:1)配置git提交的相关信息(提交人);2)配置git相关的ssh 步骤一. 配置git提交的相关信息 方法1:基于git con...

理解Spring系列——BeanDefinition,Bean的实例化抽象表达

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 类 BeanDefinition 的继承体系 通过上一章对 BeanFactory 的深入解析,我们发现 BeanFactory 将Bean 对象的实例化过程抽象成 BeanDefinition 这个类进行表达。 相同的,通过分析 BeanDefinition 的类继承结构(如下图...

理解Spring系列——BeanFactory,Spring IoC的核心担当

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 导言 通过上一章《理解Spring系列——什么是控制反转(Inversion of Control, IoC)》,我们了解到IoC编程模式的本质,通过协议约定来分离when-to-do和what-to-do两个关注点,实现模块间的解耦。 而在Spring Framework中,BeanFac...

理解Spring系列——什么是控制反转(Inversion of Control, IoC)

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 控制反转 —— 软件复用的解决方案。 控制反转(Inversion of Control, IoC)最早由Michael Mattsson在《Object-Oriented Frameworks:A survey of methodological issues》一文中提出。 Wikipedi...

理解Spring系列——前言

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 为什么会有《理解Spring》系列? 在日常开发工作中,笔者天天与Spring打交道,发现Spring系列工程的代码设计愈发有趣,因此专门开辟一个系列博客用于Spring代码设计相关的技术积淀和交流。 在Spring Framework官方介绍的Design Philosophy一节中,Sp...

Docker 101

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 Docker印象 为什么我们需要docker? 作为一款PaaS或者SaaS的产品,Docker利用容器技术帮助开发人员实现应用的快速构建、分发和部署。你可以得到如下好处: 实现不同应用间的运行环境隔离:Docker支持存储、系统、网络等多个方面的隔离,不同应用可以拥有独立的运...

JVM的垃圾回收(三) -- JVM垃圾收集器

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 前言 在之前的两篇博客,我们大致介绍了,常见的垃圾回收算法及JVM中常见的分类回收算法。这些都是从算法和规范上分析Java中的垃圾回收,属于方法论。 在JVM中,垃圾回收的具体实现是由垃圾收集器(Garbage Collector)负责的。 在JVM中,具体实现有Serial、ParNew...

JVM的垃圾回收(二) -- JVM中的分代垃圾回收机制

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 JVM 的内存模型 JVM的内存模型,往往是指Java程序在运行时内存的模型,运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有线程共享的数据区包含Java堆、方法区。 方法区(Method Area) 方法区的作用与传统...

JVM的垃圾回收(一) -- 常见的垃圾标识和回收算法

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 为什么需要垃圾回收? 在程序运行时,程序为了计算需要,往往会申请一大块的内存空间,将它们分配给相应的变量。 当程序执行结束后(准确的说是相关变量使用完毕,例如,对于函数中的局部变量而言,这个时刻可能是对应的函数调用结束),相关的内存不再使用,需要对这块区域进行垃圾回收。 进行垃圾回收的好处是可...

代理模式

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 代理模式 代理模式是设计模式中一种常见的设计模式,我们往往通过代理模式可以拦截目标方法的执行,进行自己想要的业务需求,例如日志拦截,权限校验等工作。 代理模式的实现方式如下: 在代理模式中,我们将类分为以下三类角色 抽象对象Subject,代理对象Proxy,以及真实对象RealSu...


FRIENDS