享元模式与Integer的valueOf方法
在Patterns网站上,举出了一个运用享元模式的栗子,自己试了一遍感觉还是比较陌生,还好它有列举哪些地方也使用了享元模式,比如Integer的valueOf()方法; Integer的valueOf(int i)方法,会判断传入的i是否在指定的范围内: public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } 这里的low和high是-128和127(high在跟踪源码中可以看到可以通过java.lang.Integer.IntegerCache.high设置的值获取) IntegerCache是个静态内部类,会在该类中,为-128~127的int值创建好对应的封装类型; private static class...
Read More