diff --git a/pom.xml b/pom.xml index 5812d8a..70e40c0 100644 --- a/pom.xml +++ b/pom.xml @@ -115,6 +115,11 @@ tomcat-embed-core 8.5.32 + + org.apache.commons + commons-pool2 + 2.4.2 + diff --git a/src/main/java/top/fjy8018/designpattern/pattern/structural/flyweight/Employee.java b/src/main/java/top/fjy8018/designpattern/pattern/structural/flyweight/Employee.java index 7627160..a249a19 100644 --- a/src/main/java/top/fjy8018/designpattern/pattern/structural/flyweight/Employee.java +++ b/src/main/java/top/fjy8018/designpattern/pattern/structural/flyweight/Employee.java @@ -2,6 +2,9 @@ package top.fjy8018.designpattern.pattern.structural.flyweight; /** * 享元模式:利用共享的方式来支持大量细粒度的对象,这些对象一部分内部状态是相同的。 + * JDK源码:{@link Integer#valueOf(int)} {@link Integer.IntegerCache} + * 其他类型同理 {@link Long#valueOf(long)} {@link Boolean#valueOf(boolean)} {@link Byte#valueOf(byte)} {@link Character#valueOf(char)} + * Apache源码:连接池{@link org.apache.commons.pool2.impl.GenericObjectPool#returnObject(Object)},连接池配置 {@link org.apache.commons.pool2.impl.GenericObjectPoolConfig} * * @author F嘉阳 * @date 2018-10-14 16:13 diff --git a/src/test/java/top/fjy8018/designpattern/pattern/structural/flyweight/EmployeeTest.java b/src/test/java/top/fjy8018/designpattern/pattern/structural/flyweight/EmployeeTest.java index 59b5f72..78cdbe7 100644 --- a/src/test/java/top/fjy8018/designpattern/pattern/structural/flyweight/EmployeeTest.java +++ b/src/test/java/top/fjy8018/designpattern/pattern/structural/flyweight/EmployeeTest.java @@ -1,7 +1,9 @@ package top.fjy8018.designpattern.pattern.structural.flyweight; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; +@Slf4j class EmployeeTest { private static final String departments[] = {"RD", "QA", "PM", "BD"}; @@ -14,4 +16,17 @@ class EmployeeTest { employee.report(); } } + + @Test + void integerTest() { + Integer a = new Integer(88); + int c = 88; + Integer d = new Integer(88); + Integer e = Integer.valueOf(88); + Integer f = 88; + log.info("a==c? {}", a == c); + log.info("a==d? {}", a == d); + log.info("a==e? {}", a == e); + log.info("e==f? {}", e == f); + } } \ No newline at end of file