Java中call by value和call by reference部分看的有些疑惑,希望有高人可以指點(diǎn)迷津,或者推薦一些很好的文章或者博客。謝謝。
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
call by value很好理解,基本數(shù)據(jù)類型的值是分配在棧上的,調(diào)用和修改的都是棧上的值
call by reference準(zhǔn)確地說,應(yīng)該是call by address reference,調(diào)用的是地址引用,也就是堆上的地址。
Java里面都是call by value, 只不過在調(diào)用函數(shù)的時(shí)候,如果是原始類型,傳的是原始類型地址的拷貝,如果是引用類型則為引用類型地址的拷貝。
is-java-pass-by-reference-or-pass-by-value
is-java-really-passing-objects-by-value