It's a well known fact that Java is pass-by-value (to use the more common vernacular), but a lot of confusion arises from the fact that passing an object reference to a method allows that method to modify the object in the caller's scope (i.e., they "share" the object). So, some people erroneously believe Java is pass-by-reference for non-primitives. As I understand it, saying something is "call-by-sharing" is just making it clear that the value we're passing is a reference to an object, not the object itself.
In contrast, languages like R are pass-by-value, but pass non-primitives like vectors as deep copies (technically copy-on-write as I gather), such that changes to the object made in the method's scope do not modify the vector in the caller's scope.
To answer your two questions specifically, yes, Java is "call-by-sharing" as I've come to understand it from the Wikipedia article you linked. However, I disagree that call-by-sharing and call-by-reference differ in the way you describe. One difference is you can't write a method to swap two variables with call-by-sharing.