描述:有两个链,1链有A,B,C,D四个节点 2链有A,B,E,D四个节点
其中在B节点中会组装一个BMap对象,这个对象会放入到guava的缓存和context上下文当中
1.责任链1运行后guava缓存中会有一个BMap对象
2.责任链2运行后会对context中的BMap进行修改,但由于java是副值的引用,故修改2对应context的BMap内容其实修改了guava缓存中的BMap对象
3.责任链1再次运行的时候从guava缓存中获取的就是被责任链2修改过后的BMap
结论:在责任链中,最好不要修改context上下文的内容,若要修改,请重新填装