Java is always pass by value, because it doesn't support pointer, which is essential for pass by reference. Confusion arises while passing object to a method, since Java pass handle to that object, programmer think that as reference or pointer, which is not correct.
Read More