Pass by value vs Pass by reference
Java is pass by value
But objects are assigned to variables by their reference
primitives use their values
What is Pass by value
What is Pass by reference
Benefits of pass by reference
There is no copy of the argument made, hence, it is fast.
To avoid changes done unintentionally we can even make it pass by const reference.
We can return multiple values from a function.
Since arguments are not copied into the new variables, it provides greater time and space efficiency
Runtime polymorphism can be achieved
Reduction of Memory
With passing it as value, function copies 1GB of data that’s passed to it. In total, your program consumes 2 Giga bytes of memory.
With passing it as a reference, function instead of copying the data directly access the existing data 1GB. The data alteration by function can be secured by applying “const” to the reference parameter in the function.
Disadvantages of pass by reference
As using a reference, you can alter the underlying object state (if the object is mutatble, ie List)
Benefits of pass by value
Disadvantages of pass by value
Last updated
Was this helpful?