Multithreading in Java allows executing multiple threads simultaneously by using lightweight sub-processes called threads that share memory. Threads save memory compared to processes by not allocating separate memory and allow for faster context switching. Java multithreading is commonly used for games, animations, and other applications that require performing multiple operations simultaneously or in parallel to save time.