If you mean: how can I start a Java thread that will not end when my JVM (java program) does?.
The answer is: you can't do that.
Because in Java, if the JVM exits, all threads are done. This is an example:
class MyRunnable implements Runnable {
public void run() {
while ( true ) {
doThisVeryImportantThing();
}
}
}
Above program can be started from you're main thread by for example this code:
MyRunnable myRunnable = new MyRunnable();
Thread myThread = new Thread(myRunnable);
myThread.start();
This example program will never stop, unless something in doThisVeryImportantThing
will terminate that thread. You could run it as a daemon, as in this example:
MyRunnable myRunnable = new MyRunnable();
Thread myThread = new Thread(myRunnable);
myThread.setDaemon(true); // important, otherwise jvm does not exit at end of main()
myThread.start();
This will make sure, if the main() thread ends, it will also terminate myThread.
You can how ever start a different JVM from java, for that you might want to check out this question:
http://stackoverflow.com/questions/480433/launch-jvm-process-from-a-java-application-use-runtime-exec