转载,具体来自以下连接:
https://www.cnblogs.com/coprince/p/8603492.html
https://segmentfault.com/a/1190000019606768
https://segmentfault.com/a/1190000014120746
JAVA编程思想第15章