Java doesn't supports operator overloading because it's just a choice made by its creators who wanted to keep the language more simple. Every operator has a good meaning with its arithmetic operation it performs. Operator overloading allows you to do something extra than what for it is expected for. Java only allows arithmetic operations on elementary numeric types. If you allow a developer to do operator overloading they will come up with multiple meanings for the same operator which will make the learning curve of any developer hard and things more confusing and messy. The Java designers wanted to prevent people from using operators in a confusing manner, but it was not worth it. By avoiding operator overloading, it's more transparent which function is called when.
Avoiding operator overloading in Java made the implementation and specification of Java a little simpler.