I don't clearly understand what is the meaning of a "Thread group" in JMeter. Does that means all the tests (Java requests etc) belong to a certain thread group run in a one thread or each test in that thread group runs in a separate thread? I couldn't get a clear understanding about this from JMeter documentations or googling.
For explanation see:
A thread group
is a set of threads executing the same scenario. Set the number of iterations in the configuration.
Thread behaviour is defined according to ramp up and destroyed once the number of iterations per thread has elapsed.
Note that from version 2.8, you will be able to delay thread creation until the time the thread must start working, this will be adapted to tests that use very short lived threads and many threads.
Thread groups can be seen as a set of Virtual Users but not necessarily. It can be something else depending on how you develop your test.