`
文章列表
1.单一职责原则           定义:应该有且只有一个原因引起类的变化。There should never be more than one reason for a class to change. 2.里是替换原则         定义:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的 ...

策略模式

http://www.cnblogs.com/itTeacher/category/428818.html

工厂模式

工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。 1.简单工厂模式 ,使用场景:负责创建的对象比较少;客户只知道传入工厂类的参数,对于如何创建对象的逻辑不关心;容易违反高内聚责任分配原则,所以只在很简单的情况下应用 public interface IProduct{     public void saleProduct(); } public class Product_A implements IProduct{     public void saleProduct(){ } } public class Product_B imple ...
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 1.懒汉模式 public class Singleton { private Singleton() {} private static final Singleton single = new Singleton(); //静态工厂方法 public static Singleton getInstance() { return single; } } 2.饿汉模式 public class Singleton { private ...

KEY/VALUE-tair

Tair是什么       tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式.      非持久化的 tair 可以看成是一个分布式缓存。     持久化的 tair 将数据存放于磁盘中,tair 可以配置数据的备份数目, tair 自动将一份数据的不同备份放到不同的主机上, 当有主机发生异常, 无法正常提供服务的时候, 其于的备份会继续提供服务. tair的总体架构 tair 作为一个分布式系统, 是由一个中心控制节点和一系列的服务节点组成。 我们称中心控制节点为config server. 服务节点是data ...

命令收集

1.系统命令 jps jps -q 只显示pid jps -l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名 jps -m 输出传递给main 方法的参数 jps -v 输出传递给JVM的参数 jps -v | grep ${pid} load average 如下: load average: 0.02, 0.27, 0.17 Load平均要小于Cpu的数量,一般是会根据15分钟那个load 平均值为首先
1.ApplicationContextAware接口的作用       加载Spring配置文件时,如果Spring配置文件中所定义的Bean类实现了ApplicationContextAware 接口,那么在加载Spring配置文件时,会自动调用ApplicationContextAware 接口中的 public void setApplicationContext(ApplicationContext context) throws BeansException 方法,获得ApplicationContext对象。 2.FactoryBean接口的作用 Spring中有两种类型的Bean ...

Spring

1.spring加载顺序 BeanFactoryPostProcessor的postProcessBeanFactory方法 例如PropertyPlaceholderConfigurer、PropertyOverrideConfigurer和CustomEditorConfigurer bean的构造方法 bean的set方法 BeanPostProcessor的postProcessBeforeInitialization方法 bean实现了InitializingBean接口,对应的方法为afterPropertiesSet 在bean定义的时候,通过init-method设置的方法 Be ...
1.ElasticSearch集群 2.ElasticSearch查询过程 3.ElasticSearch使用总结
1.Redis的语法 2.Redis的数据持久化 3.Redis的分布式锁 4.Redis的分布式队列 5.lua脚本

Multithreading

1.volatile 2.synchronized 3.ReentrantLock 4.线程池 5.多线程工具类 6.单例模式

Collection

1.Collection set HashSet list ArraryList object数组 初始化时,若未指定数组大小则指向一个空数组 add()方法 若数组是空,则指定当前容量为10 若当前容量(数组大小+1)大于数组大小,则扩容 int newCapacity = 数组大小 + (数组大小 >> 1),扩容为原来的1/2倍,elementData = Arrays.copyOf(elementData, newCapacity)复制新数组 最后, elementData[size++] = e; get()方法 rangeCheck(index ...
1.类加载机制 2.class文件格式 3.内存分配 4.垃圾回收器 5.垃圾回收过程
Global site tag (gtag.js) - Google Analytics