java分为三类 -- java SE(标准版)、java EE(企业版)、 java ME(微型版)。(有些人会写成j2SE、J2EE、J2ME)
  Java SE就是Java2的标准版,主要用于桌面应用软件的编程;Java ME主要应用于嵌入式系统开发,如手机和PDA的编程;Java EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。(1998年12月,SUN公司发布了JDK1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用JDK1.1版本,所以我们所说的Java都是指Java2)

  我现在翻译的只有java SE。这三个之间的关系,可以说是java EE的API应该是java SE的API超集,java ME“大约”是java SE的子集。java EE > java SE > Java ME

那当你在成功安装jdk以后会有一个jdk和jre,如果你只需要运行java程序,只需安装JRE;如果你只需要编写java程序,只需要安装JDK;那你都需要就都安装。说的意思很浅显,深入的大家可以在了解一下,就不在多提了。

  进入正题,首先介绍java_api,里面包含61个大包,如下(及每个包的解释):

api分为两个部分java和jdk

  Java SE:Java平台标准版(Java SE)API为通用计算定义了核心Java平台。这些API位于名称以开头的模块中java

  JDK:Java开发工具包(JDK)API是JDK特有的,不一定在Java SE平台的所有实现中都可用。这些API位于名称以开头的模块中jdk

1. java.base定义Java SE平台的基本api。

包下有,

java.io、lang、math、net、nio、security、text、time、util

javax.crypto、net、security

2. java.compiler定义语言模型、注释处理和Java编译器api。

包下有,Javax.annotation、lang、tools

3. java.datatransfer :定义用于在应用程序之间和应用程序内部传输数据的API。

包下有,java.awt

4. java.desktop定义AWT和Swing用户界面工具包,以及用于可访问性、音频、图像处理、打印和javabean的api。

包下有,

java.applet、awt、beans

javax.accessibility、imageio、print、sound、swing

5. java.instrument定义允许代理检测运行在JVM上的程序的服务。

包下有,java.lang.instrument

6. java.logging定义Java日志API。

包下有,java.util.logging

7. java.management定义Java管理扩展(JMX) API。

包下有,

Java.lang

javax.management

8. java.management.rmi为Java管理扩展(JMX)远程API定义RMI连接。

包下有,javax.management.remote.rmi

9. java.naming定义Java命名和目录接口(JNDI) API。

包下有,javax.naming

10. java.net.http定义HTTP客户端和WebSocket api。

包下有,java.net.http

11. java.prefs定义首选项API。

包下有,java.util.prefs

12. java.rmi定义远程方法调用(RMI) API。

包下有,java.rmi

13. java.scripting定义脚本API。

包下有,javax.script

14. java.se定义Java SE平台的API。

包下有,java.compiler、datatransfer、desktop、instrument、logging、management、naming、net、prefs、rmi、scripting、security、sql、transaction、xml

15. java.security.jgss定义IETF通用安全服务API (GSS-API)的Java绑定。

包下有,

javax.security

org.ietf

16. java.security.sasl定义对IETF简单身份验证和安全层(SASL)的Java支持。

包下有,java.security.sasl

17. java.smartcardio定义Java智能卡I/O API。

包下有,javax.smartcardio

18. java.sql定义JDBC API。

包下有,

java.sql

javax.sql

19. java.sql.rowset定义JDBC RowSet API。

包下有,javax.sql

20. java.transaction.xa在JDBC中定义支持分布式事务的API。

包下有,javax.transaction.xa

21. java.xml定义用于XML处理的Java API (JAXP)、用于XML的流API (StAX)、用于XML的简单API (SAX)和W3C文档对象模型(DOM) API。

包下有,

javax.xml

org.w3c、xml

22. java.xml.crypto为XML加密定义API。

包下有,javax.xml

23. jdk.accessibility定义辅助技术的实现者使用的JDK实用程序类。

包下有,com.sun.java.accessibility.util

24. jdk.attach定义附加API。

包下有,com.sun.tools

25. jdk.charsets提供java中没有的字符集。基(主要是双字节和IBM字符集)。

没有包

26. jdk.compiler定义系统Java编译器的实现及其命令行对等物javac。

包下有,com.sun.source、tools

27. jdk.crypto.cryptoki提供SunPKCS11安全提供程序的实现。

没有包

28. jdk.crypto.ec提供SunEC安全提供程序的实现。

没有包

29. jdk.dynalink定义用于对象上高级操作的动态链接的API。

包下有,jdk.dynalink

30. jdk.editpad提供jdk.jshell使用的编辑垫服务的实现。

没有包

31. jdk.hotspot.agent定义HotSpot可服务性代理的实现。

没有包

32. jdk.httpserver定义特定于jdk的HTTP服务器API。

包下有,com.sun.net.httpserver

33. jdk.incubator.foreign定义实验性的外部内存访问API。

包下有,jdk.incubator.foreign

34. jdk.incubator.jpackage定义Java打包工具jpackage。

没有包

35. jdk.jartool定义用于操作Java归档(JAR)文件的工具,包括JAR和jarsigner工具。

包下有,

com.sun.jarsigner

jdk.security.jarsigner

36. jdk.javadoc定义系统文档工具和它的命令行对等物javadoc的实现。

包下有,jdk.javadoc.doclet

37. jdk.jcmd定义用于诊断和排除故障的工具,如jcmd、jps和jstat工具。

没有包

38. jdk.jconsole定义用于监视和管理运行中的应用程序的JMX图形化工具jconsole。

包下有,com.sun.tools.jconsole

39. jdk.jdeps定义用于分析Java库和程序中的依赖关系的工具,包括jdeps、javap和jdeprscan工具。

没有包

40. jdk.jdi定义Java调试接口。

包下有,com.sun.jdi

41. jdk.jdwp.agent提供Java调试连线协议(JDWP)代理的实现。

没有包

42. jdk.jfr为JDK飞行记录器定义API。

包下有,jdk.jfr

43. jdk.jlink定义用于创建运行时映像的jlink工具、用于创建和操作jmod文件的jmod工具,以及用于检查特定于JDK实现的容器文件以获取类和资源的jimage工具。

没有包

44. jdk.jshell提供用于评估Java代码片段的jshell工具,并定义用于建模和执行片段的特定于jdk的API。

包下有,jdk.jshell

45. jdk.jsobject为JavaScript对象定义API。

包下有,netscape.javascript

46. jdk.jstatd定义用于启动守护进程的jstatd工具,以便jstat工具远程监控JVM统计信息。

没有包

47. jdk.localedata为美国地区以外的地区提供地区数据。

没有包

48. jdk.management为JVM定义特定于jdk的管理接口。

包下有,com.sun.management

49. jdk.management.agent定义JMX管理代理。

没有包

50. jdk.management.jfr定义JDK飞行记录器的管理接口。

包下有,jdk.management.jfr

51. jdk.naming.dns提供DNS Java命名提供程序的实现。

没有包

52. jdk.naming.rmi提供RMI Java命名提供程序的实现。

没有包

53. jdk.net定义特定于jdk的网络API。

包下有,jdk.net、nio

54. jdk.nio.mapmode定义jdk特定的文件映射模式。

包下有,jdk.nio.mapmode

55. jdk.rmic定义rmic编译器,用于使用远程对象的Java远程方法协议(JRMP)生成存根和骨架。

没有包

56. jdk.scripting.nashorn为ECMAScript 5.1编写的程序提供了Nashorn脚本引擎和运行时环境的实现。

包下有,jdk.nashorn.api

57. jdk.sctp为SCTP定义特定于jdk的API。

包下有,com.sun.nio.sctp

58. jdk.security.auth提供javax.security.auth的实现。*接口和各种身份验证模块。

包下有,com.sun.security.auth

59. jdk.security.jgss定义GSS-API的JDK扩展和SASLGSSAPI机制的实现。

包下有,com.sun.security.jgss

60. jdk.xml.dom定义不属于Java SE API的W3C文档对象模型(DOM) API的子集。

包下有,org.w3c.dom

61. jdk.zipfs提供Zip文件系统提供程序的实现。

没有包