Actually, most languages only have pass-by-value, being “pedantic” (but it is actually a useful distinction).
I’m sure there are other’s but out of the majorly used languages, only C++ has actual references. Pointers are passed by value, that is the pointer value gets copied. References are a language level construct.
Here is a great “rant” at it in case of Java:
http://www.javadude.com/articles/passbyvalue.htm