In Java, all parameters are passed by value. This means that when a method is called, the value of the parameter is copied into a new location in memory, and this copy is passed to the method. The main difference between pass by value and pass by reference is that with pass by value, the copied value is independent of the original value, while with pass by reference, the copied value is linked to the original value. This means that if you change the copied value, the original value will also be changed. With pass by value, changing the copied value will not affect the original value.