双重加锁校验,加volatile主要是为了保证可见性和防止指令重排,加synchronized类锁,这个应该问的可见性吧,不过手写平衡二叉树,我感觉emmmmmm,莫不是故意刁难你??