疯狂小兵

向往自由,追求卓越! 阅读

Spring学习 - 自动装配同一个接口的多个实现类

介绍 在平时使用 Spring 的 DI 机制时,几乎都是在某个类中引用接口的单个实现。但是Spring 如何将多个实现类同时注入进List<Interface> 中呢。好吧,不说废话了,直接上代码吧。 原来的引用方式 public interface HelloService { void sayHello(); } @Service public class ...

分布式存储系统学习笔记 - 1. 分布式存储的概念

分布式存储系统的特性 可扩展。系统的整体性能随集群的扩展而线性增长。 低成本。构建在普通的 PC 机上。 高性能。无论时对集群还是对单机,都要求高性能。 易用。易用的对外接口,完善的监控和运维工具。 分布式系统的挑战 数据和状态信息的持久化。自动迁移,自动容错,并发读写时的数据一致性。 问题和挑战 数据分布 如何将数据分布到多...

GFS的演进

人物介绍 Kirk McKusick : 以在 BSD Unix 上的工作而闻名,而且涉及了 BSD 上的 FFS(Fast File System) Sean Quinlan : 担任了两年的 GFS技术负责人,现在继续担任 Google 的首席工程师 GFS 涉及预估 数 GB大小的文件 包含TB 级别的信息和百万对象的数据集 Q&A 是什么原因...

Google File System及其继任者Colossus

Google File System及其继任者Colossus 在CMU 16Fall学期Storage Systems的课堂上,我有幸听了在Google Infra Team的Larry Greenfield的一个Lecture。其中,Larry对GFS的设计初衷理念、优劣势、瓶颈、改进以及现役系统Colossus (GFS2)进行了简要介绍。其中涉及的内容相当宝贵,故在这里记下。 背...

Spring学习 - 自定义动态数据源

动态数据源 需要实现类继承自org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource,来实现自定义的数据源路由。 自定义实现动态数据源 //自定义实现方法`determineCurrentLookupKey`来确定当前lookupKey,通过该 key 找到配置的多个数据源中的目标数据源。 public c...

git进阶经验- git提交 log 的模板配置

git commit 规范 Commit message 和 Change log 编写指南 git commit 模板配置 背景 为了 RD 在开发时更方便的使用 git commit 的模板,既可以明晰本次提交的目的,又可以方便便捷的使用模板而无需时刻记着模板的格式规范。 目标 提高 RD 使用模板提交 commit log 的意愿 方案 terminal 方式 comm...

Spring学习 - 自定义Spring 的 bean扫描器

自定义扫描器 创建自定义的注解类型 如创建注解MyAnno @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface MyAnno { @AliasFor(annotation = Component.class) Str...

Spring源码学习 - Scanner的工作原理

Spring 自带的类扫描器为ClassPathBeanDefinitionScanner,在使用注解@ComponentScan,或者xml 配置<context:component-scan/>时都会调用该扫描器扫描指定的目标类。 ClassPathBeanDefinitionScanner最重要的方法是doScan,通过该方法完成 BeanDefinition 的生成和注...

Spring源码学习 - bean的名称的生成方式

spring bean name 生成类 都继承自BeanNameGenerator接口,外部通过该接口方法BeanNameGenerator#generateBeanName获取生成的 bean 名称 AnnotationBeanNameGenerator 注解@Component,@Repository,@Service,@Controller,@Named,@ManagedBea...

java源码学习之 Boolean 和 Byte

Bool 继承体系 实现接口: java.io.Serializable java.lang.Comparable,所有数值类型都实现该接口,可对值进行比较 内部数据结构 boolean final 修饰的常量 常量值设置 TRUE: new Boolean(true); FALSE:new Boolean(false); 占用字节数为:2 核心方法和类 方法 ...

  • 第1页 / 跳第 页 / 共23页
TOP