Multithreading in Java allows multiple threads to execute concurrently, making it more efficient than multiprocessing due to shared memory usage and lower context-switching time. Java threads are lightweight, independent from one another, and capable of multitasking without blocking the user. The lifecycle of a thread includes states such as new, runnable, blocked, waiting, timed waiting, and terminated, with the start() method being essential to initiate a thread's execution.