What is a 'Thread Grouping' in java
Threads groups are just that: groups of threads. They can also container other thread groups.
Every thread in Java has an associated thread group. The group can be used to make some "batch" modifications to it's threads: interrupt them, check how many of them are active, etc.
You can also override ThreadGroup to catch thread "top-level exceptions" (i.e, throwables that are thrown from the topmost level of the thread).
For more information see the API documentation for java.lang.ThreadGroup