[img]http://dl.iteye.com/upload/attachment/404933/58e3e6e5-8839-32ff-8ab5-b84a4b03e0bc.gif[/img]
对传入的参数总是有个copy的过程。
因为primitive类型的参数在JVM中,参数中存储的就是本身的值,copy后的参数和原来的参数就完全独立了。
对于对象类型的参数,参数中存储的是对象在heap中地址引用,copy后两个参数指向的是同一个地址引用,如果你对地址引用操作,操作的是同一个地方,所以原始的参数的Value也会变。
传递字符串
[img]http://dl.iteye.com/upload/attachment/404948/72d76030-755e-372a-959f-af2497f6fcac.jpg[/img]
对传入的参数总是有个copy的过程。
因为primitive类型的参数在JVM中,参数中存储的就是本身的值,copy后的参数和原来的参数就完全独立了。
对于对象类型的参数,参数中存储的是对象在heap中地址引用,copy后两个参数指向的是同一个地址引用,如果你对地址引用操作,操作的是同一个地方,所以原始的参数的Value也会变。
传递字符串
[img]http://dl.iteye.com/upload/attachment/404948/72d76030-755e-372a-959f-af2497f6fcac.jpg[/img]