hi there..

i'm just new for the 'java environment' & have studied with basic applications on java.
i'm just struggling with the word 'JDK' & just want to clarify,
1) the real meaning of the 'Java Development Kit' (JDK)
2) what does it contain (the components)?
3) are the 'java vitual machine' (JVM) & the 'java compiler' parts of JDK?
&
4) the meaning of JDK 1.2, which's most widely talked version.

although, i've gone through some documentations regarding JDK, i've not got the real sence of it.
& i've seen the definition for JDK as....
"A software package that can be used to write, compile, debug, and run Java applets and applications." in 'google'.

5) is this correct ? & if not what's the real definition?
6) is it essential to have this JDK to compile & run java programs on our PCs.


Could anyone of you please help me to clarify these doubts?
thanks in advance.