I have been programming in Java since 2004, mostly enterprise and web applications. But I have never used short or byte, other than a toy program just to know
It's perhaps more interesting to look at the semantics of int. Are those arbitrary limits and silent truncation what you want? For application-level code really wants arbitrary sized integers, it's just that Java has no way of expressing those reasonably.
Keep in mind that Java is also used on mobile devices, where memory is much more limited.
byte
s and short
s are extensively used in Java Card development. Take a look at my answer to Are there any real life uses for the Java byte primitive type?.