值类型和引用类型分别有哪些