truncate底层原理