JDK vs JRE
JDK, or Java Development Kit, is a software development kit that provides the tools and resources needed to develop Java applications. It includes a compiler, runtime environment, and various development tools and libraries. In other words, JDK is a package that contains everything you need to write, compile, and run Java programs.
JRE, or Java Runtime Environment, is a software package that provides the runtime environment needed to run Java applications. It includes the JVM (Java Virtual Machine) and other libraries and components needed to run Java code. JRE does not include any development tools, so it is primarily used for running pre-existing Java applications on a user's machine.