shim的实现原理