The SDK is the abbreviation for Software Development kit, which means "software development kit". This is a fairly broad term, so to speak: a collection of related documents, examples, and tools to assist in the development of a particular type of software can be called "SDK". The SDK is a combination of a series of files that provides a platform for software development (which facilitates the use of various APIs for software development).
The JDK (Java Development Kit,java Development Kit) is a product of Sun Microsystems for Java developers. Since the launch of Java, JDK has become the most widely used Java SDK (Software Development Kit). The JDK can be considered a subset of the SDK because it is a platform for developing Java programs, and the SDK for developing other programs can be without JDK. For example, you download a software development platform Eclipse-sdk-3.2.2-win32.zip, which itself is not a JDK. However, as long as Java programs are developed, you must use JDK (Java EE and javase).
To make an analogy: The SDK is like a machine tool (it can be multi-purpose), it can produce ABC and other artifacts; when we want to produce a, we will change the machine tool A to produce a, when we want to produce B, replace the tool b that produces B; when we want to produce C, we change the tool C to produce C; When we want to use the machine tool ( SDK) When producing Java programs, we replace the tool JDK with the machine, so we call the SDK that has the JDK installed as the Java SDK.
Java EE is a development kit specifically for enterprise applications that already contains many of the "components" needed to develop enterprise-class applications, which provides a convenient development platform for Java EE Development, so it is called the Java EE SDK directly. I don't know, it's all conceptual stuff, but you can also understand that the JDK is the Java SDK.