It's pass by value for primitives and pass by reference for objects.
But it depends on what you call a reference. If all java objects would be immutable, you could say it's pure pass by value, but since you can alter the original object's state in the method, I call it pass by reference.
Before downvote: please explain, thank you.