- 博客(30)
- 收藏
- 关注
原创 Java中的equals
http://jnordenberg.blogspot.jp/2009/04/equality-mutability-and-products.html
2017-09-06 09:17:07
308
原创 Kryo序列化
在上一篇博文中提到,Spark任务中,使用序列化数据的方式对增加其执行效率有很大的作用。并且由于Kryo序列化方式在主动注册自定义类的情况下,无论是序列化速度还是序列化结果的大小,都比Java自身的序列化方式要好。在这篇文章中将根据代码实例来纵向对比Kryo在注册了自定义类、没有注册自定义类下的序列化结果,以及横向对比Kryo和Java两者序列化的时间和结果。Kryo纵向对比
2017-09-04 12:10:06
4781
翻译 SingletonBeanRegistry
此接口是针对Spring中的单例Bean设计的。提供了统一访问单例Bean的功能,BeanFactory可实现此接口以提供访问内部单例Bean的能力public interface SingletonBeanRegistry { /** * 以指定的名字将给定Object注册到BeanFactory中。 * 给定的Object必须是被完全初始化了的,此注册接口不会提供任何用
2017-08-28 20:48:42
1583
翻译 ConfigurablePropertyResolver
此接口是大多数PropertyResolver实现类的父接口,它规范了使用property的方法,并且使用户可以定制化PropertyResolver在解析和转换property时候的逻辑public interface ConfigurablePropertyResolver extends PropertyResolver { /** * 返回在解析属性时使用的Configura
2017-08-23 09:41:31
1537
翻译 PathMatchingResourcePatternResolver
/* * Copyright 2002-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * Yo
2017-08-18 09:21:29
2661
翻译 AbstractApplicationContext
此类是ApplicationContext接口的一般实现类,通过模板方法的方式,实现了所有应用上下文的通用方法,而将资源获取等细节留给具体实现类来实现。 与普通的BeanFactory相比,ApplicationContext一般可以包含特殊的Bean来做一些个性化的处理。例如一般ApplicationContext中会注册BeanFactoryPostProcessors、BeanPostPro
2017-08-17 09:26:15
2891
1
翻译 DefaultResourceLoader
此类是ResourceLoader的一个默认实现。ResourceEditor和AbstractApplicationContext都会使用此实现版本。如果所给路径是URL的话,则返回URLResource,否则返回ClassPathResource。public class DefaultResourceLoader implements ResourceLoader { private C
2017-08-14 20:56:20
674
翻译 ConfigurableApplicationContext
此接口结合了所有ApplicationContext需要实现的接口。因此大多数的ApplicationContext都要实现此接口。它在ApplicationContext的基础上增加了一系列配置应用上下文的功能。配置应用上下文和控制应用上下文生命周期的方法在此接口中被封装起来,以免客户端程序直接使用。/** * SPI interface to be implemented by most if
2017-08-14 20:29:35
12477
1
原创 Lifecycle
一个通用接口,定义了控制Bean生命周期的方法。 此接口通用的应用场景为异步处理。此接口并没有自动启动的语义在里面。如果需要这种功能,可以考虑实现SmartLifecycle接口。 此接口既可以被Spring的各组件实现,也可以被容器本身实现。当实现此接口的类本身是Container时,在容器上调用此接口的方法的同时,容器本身应该通知其包含的所有实现了此接口的组件。 需要注意的是,在Sprin
2017-08-14 17:52:34
280
原创 SSH协议小结
SSH是Secure Shell的简写,它是一种在应用层和传输层之上的安全协议,基于client-server模式,常用于管理远程服务器。通过一系列的加解密技术SSH可以保证Client到Server双方连接是安全可靠的,并提供了相互验证及命令和内容的传输的手段。
2017-08-11 19:45:34
410
原创 AutowireCapableBeanFactory
对于想要拥有自动装配能力,并且想把这种能力暴露给外部应用的BeanFactory类需要实现此接口。 正常情况下,不要使用此接口,应该更倾向于使用BeanFactory或者ListableBeanFactory接口。此接口主要是针对框架之外,没有向Spring托管Bean的应用。通过暴露此功能,Spring框架之外的程序,具有自动装配等Spring的功能。 需要注意的是,ApplicationCo
2017-08-11 13:58:51
3520
原创 ApplicationContext
使应用可配置的核心接口,当应用开始运行时,此接不应该提供修改其内部状态的方法,为 只读状态。 此接口理应提供以下功能 1. 获取应用组件的功能 2. 读取配置文件的功能 3. 发布事件的功能 4. 解析消息的功能 5. 从父上下文中继承组件的功能。但是在继承树中,越是底层的上下文,其中元素的优先级越高。也就是说底层上下文中的元素会覆盖父上下文中相同的元素。除了支持BeanFactory
2017-08-10 21:26:17
370
原创 ApplicationEventPublisher
此接口提供Spring中事件发布的功能,是ApplicationContext的父接口。public interface ApplicationEventPublisher { /** * 通知所有注册在此应用上监听指定消息的监听器。 * 发布的事件可以是任何类型的,如可能是框架相关的如RequestHandledEvent,亦有可能是 * 应用相关的消息
2017-08-10 21:15:58
2150
原创 ResourcePatternResolver
用于解析资源文件的策略接口,其特殊的地方在于,它应该提供带有*号这种通配符的资源路径。 此接口是ResourceLoader接口的拓展接口。 PathMatchingResourcePatternResolver是此接口的独立实现,其常常用于应用上下文之外如ResourceArrayPropertyEditor中 理应支持所有类似”/WEB-INF/*-context.xml”这种模式的路径输
2017-08-10 21:07:11
8871
原创 ResourceLoader
用于加载资源的策略接口(策略包括classpath或者file system等类型)。Spring中的的所有应用上下文都应该拥有此功能和其拓展功能-ResourcePatternResolver。 DefaultResourceLoader是此接口的一个实现,通常在ApplicationContext以外的类中使用,如ResourceEditorpublic interface ResourceL
2017-08-09 12:00:05
481
原创 MessageSource
此接口是一个用于消息解析的策略接口,其支持消息的参数化和国际化。 Spring提供两种现成的实现类:构建于ResourceBundle基础之上的ResourceBundleMessageSource和ReloadableResourceBundleMessageSource类用于在不重启虚拟器的情况下重新加载消息public interface MessageSource { /**
2017-08-09 11:40:23
715
原创 EnvironmentCapable
实现了此接口的类有应该有一个Environment类型的域,并且可以通过getEnvironment方法取得。 Spring中所有的应用上下文类都实现了此接口。这个接口的主要作用是用于类型检查的。例如框架中有些与用户定义的BeanFactory交互的方法,这些方法有些就需要使用用户定义的BeanFactory的环境变量。这个时候就要看其是否是EnvironmentCapable接口的子类了。 上
2017-08-09 11:24:47
6037
原创 HierarchicalBeanFactory
HierarchicalBeanFactory接口是BeanFactory的扩展,所有要应用到有层级体系的容器类(有父BeanFactory的那种),都应该实现此接口。 此接口的getParentBeanFactory方法可以得到此BeanFactory的父BeanFactory,但是设置一个BeanFactory的父BeanFactory的方法却没有在此接口中,而是在ConfigurableBe
2017-08-09 10:56:06
1750
原创 ListableBeanFactory
ListableBeanFactory接口是BeanFactory接口的一个扩展,所有能列举其包含的所有Bean而非容器都应该实现此接口。/** * Extension of the {@link BeanFactory} interface to be implemented by bean factories * that can enumerate all their bean insta
2017-08-08 19:31:39
3794
原创 BeanFactory
BeanFactory接口Spring框架用来盛放Beans最基础最泛化的接口。相比之下,其子类如ListableBeanFactorty或ConfigureableBeanFactory都是有更确切目标的接口。Spring中,每一个盛放Bean的容器类都应该实现此接口,并且用唯一的id来标识每一个Bean。 通常来说,使用Spring的依赖注入(DI)体系来配置Bean要比使用BeanFacto
2017-08-07 20:58:48
365
原创 Java数组小结
为什么要使用数组在容器现在很普遍的情况下,我们有多种方法可以持有对象,并且容器使用起来还很方便,那么为什么还要提到数组这个话题? 数组区别于其他容器的特性有三个:高效率,可以精确持有类型信息,可以持有基本类型。数组是Java中用来持有和访问对象最高效的方式,没有之一。数组的存储方式是简单的线性序列,这是导致其能告诉访问的根本原因。大家可能会想ArrayList不是和数组的特性非常相似么,为什么不使
2017-08-07 11:53:38
320
原创 Spring的IOC
恩先Mark下,这周末写出来 早在2004年Martin Fowler就提出了”控制反转究竟反转的是什么”,基于这个问题,也得出了自己的结论:类中所依赖对象的获取方式被反转了。不适用IOC的话,依赖对象的获取完全依赖于自己(在类内部使用new的方式获得)。但是使用了IOC以后所依赖对象的控制权就会从具体业务对象手中转交到平台或者框架中。是降低面向对象系统设计复杂性和提高面向对象系统可测试行的一个有
2017-08-06 11:50:07
353
原创 Java泛型小结
什么是泛型泛型, 可以理解为对类型的抽象。指定了泛型参数的类型就是一个具体化了的类型。一个泛型和其指定了泛型参数的类型的关系,在概念上更像是父类和子类的关系,是一种抽象与具体的关系。我自己觉得他是在面向对象编程思想多态的特点上对实际情况的更高一层的抽象。Java中的泛型Java中的泛型是在SE5中加入的概念,也就是说Java一开始是不支持泛型的。那么Java为什么要引入泛型机制呢?代码的复用性首先为
2017-06-27 21:17:13
937
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人