关闭

Java四种线程池的使用

Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。 ...
阅读(60) 评论(0)

spring配置datasource三种方式

1、使用org.springframework.jdbc.datasource.DriverManagerDataSource  说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。                  ${jdbc.driverClassName}                ${jdbc.url}...
阅读(78) 评论(0)

注解@PostConstruct与@PreDestroy讲解

spring xml配置文件中可以配置init-method方法和destroy-method,注解配置的时候@PostConstruct等同于init-method,@PreDestroy等同于destroy-method。 从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion);@PostConstruct和@PreDestroy。这...
阅读(77) 评论(0)

Spring-Bean初始化顺序

在验证spring-Bean初始化顺序前,先看几个关键接口   InitializingBean     Spirng的InitializingBean为bean提供了定义初始化方法的方式。InitializingBean是一个接口,它仅仅包含一个方法:afterPropertiesSet()。    在spring 初始化后,执行完所有属性设置方法(即setXxx)将自动调用 after...
阅读(357) 评论(0)

property-placeholder源码解析

properties配置信息的加载 Spring在启动时会通过AbstractApplicationContext#refresh启动容器初始化工作,期间会委托loadBeanDefinitions解析xml配置文件. protectedfinal void refreshBeanFactory() throws BeansException {         if (hasBeanFac...
阅读(94) 评论(0)

Spring配置<context:property-placeholder>标签解析

标签提供了一种优雅的外在化参数配置的方式,不过该标签在spring配置文件中只能存在一份!!! 众所周知,Spring容器是采用反射扫描的发现机制,通过标签的命名空间实例化实例,当Spring探测到容器中有一个org.springframework.beans.factory.config.PropertyPlaceholderCVonfigurer的Bean就会停止对剩余PropertyPla...
阅读(88) 评论(0)

Zookeeper数据结构

根据本小结第一部分的描述,很显然zookeeper集群自身维护了一套数据结构。这个存储结构是一个树形结构,其上的每一个节点,我们称之为“znode”。如下如所示: Ø  每一个znode默认能够存储1MB的数据(对于记录状态性质的数据来说,够了) Ø  可以使用zkCli命令,登录到zookeeper上,并通过ls、create、delete、sync等命令操作这些znode节点 Ø...
阅读(85) 评论(0)

dubbo协议约束

dubbo: Ø  参数及返回值需实现Serializable接口 Ø  参数及返回值不能自定义实现List, Map, Number, Date, Calendar等接口,只能用JDK自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。 Ø  Hessian序列化,只传成员属性值和值的类型,不传方法或静态变量,兼容情况:(由吴亚军提供) 接口增加方法,...
阅读(100) 评论(0)

spring ApplicationListener实现Observer观察者模式

什么是ApplicationContext?  它是spring的核心,Context我们通常解释为上下文环境,但是理解成容器会更好些。 ApplicationContext则是应用的容器。Spring把Bean(object)放在容器中,需要用就通过get方法取出来。 ApplicationEvent 是个抽象类,里面只有一个构造函数和一个长整型的timestamp。 ...
阅读(82) 评论(0)

spring内置ContextRefreshedEvent事件

spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)  当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下:  写一个类继承spring的ApplicationListener监听,并监控ContextRefreshedEvent事件(容易初始化完成事件...
阅读(109) 评论(0)

Observer 观察者模式

简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。 一、观察者模式的结构       本模式的类图结构如下:      在观察者模式里有如下的角色: 抽象主题(Subject)角色:主题角色把所有的观察者对象的引用保存在一个列表里;每...
阅读(68) 评论(0)

spring常用的几个aware bean接口:

BeanFactoryAware 要直接在自己的代码中读取spring的bean,我们除了根据常用的set外,也可以通过spring的BeanFactoryAware接口实现,只要实现setBeanFactory方法就可以。 private BeanFactory  beanFactory; public void setBeanFactory(BeanFactory beanFacto...
阅读(104) 评论(0)

Maven Assembly插件简单介绍

1、概述: 在应用开发中你是否想要创建一个包含脚本、配置文件以及所有运行时所依赖的元素(jar)的发布jar包。Assembly插件能帮你构建一个完整的发布包。 Assembly插件会生成 “assemblies”, 此特性等同于的Maven 1 distribution plug-in.。该插件不仅支持创建二进制归档文件,也支持创建源码归档文件。这些assemblies定义在一个asse...
阅读(232) 评论(0)

Dubbo 简 单 应 用

一、Dubbo概述: Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 spring框架无缝集成,也是一个非常全面的SOA基础框架。其是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. 基于Zookeeper实现服务的输...
阅读(134) 评论(0)

Java中字符串定义,初始化,赋值为null的区别

1、概述: 字符串定义 只定义不分配内存空间,不做任何操作; 字符串初始化 两种方式直接等号赋值,用new初始化,直接等号赋值放入内存池,其它变量也可以引用;new初始化分配内存空间,不可引用; 字符串赋值为null 初始化了,并且有了引用,但是没有指向任何内存空间; 2、详解: String s;和String s=null;和String s="a";有什么区别? 第一...
阅读(1567) 评论(0)
    个人资料
    • 访问:18288次
    • 积分:1077
    • 等级:
    • 排名:千里之外
    • 原创:92篇
    • 转载:10篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论