Hello i have extracted all these from the net.. have a look it explains all... I have repeated some lines so as to clear concept
Right now u r having java right installed on ur m/c that u can term as JDK and ur JRE is a subset(part of JDK) jre does not have javac it is like minimum environment needed for running java stuff. JVM is a part of JRE
JDK includes JRE which consists and jvm and other things..
SDK used to be called JDK before..
JDK means Java Development Kit
The Java Development Kit is a software development package from Sun Microsystems which implements a basic set of tools which are required in order to develop,
test and debug Java applications and
Applets. This software is freely downloadable from the internet
Like if any one asks u what is jdk ur answer shud be it is a s/w that includes APIs (application programming interfaces ) and tools that developers need inorder to build applications for version which came after java2 platform..
It is the basic set of tools that is needed to write and test and debug the java applications
If u say that it is a s/w development package then that is also perfectly all right
All ur javac (the java compiler is present in it) ... i hope u can get my meaning...
for running java applications u need javac,java interpreter and various other things u can check it by going to your java installation directory and look under jdk/bin path..
JVM
Stands for Java Virtual Machine
Before reading check this post..
http://www.javaranch.com JVM is contained under JRE Machine - An abstract computing machine, or virtual machine, JVM is a platform-independent programming language that converts Java bytecode into machine language and executes it. Most programming languages compile source code directly into machine code that is designed to run on a specific microprocessor architecture or operating system, such as Windows or UNIX. A JVM -- a machine within a machine -- mimics a real Java processor, enabling Java bytecode to be executed as actions or operating system calls on any processor regardless of the operating system. For example, establishing a socket connection from a workstation to a remote machine involves an operating system call. Since different operating systems handle sockets in different ways, the JVM translates the programming code so that the two machines that may be on different platforms are able to connect.
JVM Is responsible for making java code platform independent
It is used to converting the javabyte code into machine language and executing it... It can be termed as a Computing machine or Virtual Machine a software again
JRE :
JavaTM runtime environment)
A subset of the Java Development Kit (JDK) for users and developers who want to redistribute the runtime environment. The Java runtime environment consists of the Java virtual machine (JVM), the Java core classes, and supporting files.
The Java Runtime Environment (JRE) is the minimum standard Java platform for running applications written in the Java programming language. It contains the Java Virtual Machine, Java core classes, and supporting files. The JRE does not contain any of the development tools (such as appletviewer or javac) or classes that pertain only to a development environment
JRE
SDK
A set of programs that allows software developers to create products to run on a particular platform or to work with an API
A kit that programmers can use to create new applications.
A software development kit (SDK) for creating Java programms of version 1.2 Sun, JavaTM 2 Platform, Standard Edition
An environment distributed by Sun Microsystems that includes the Java compiler. SDK used to be called JDK.
jdk includes jre and jre includes jvm