对SDK、JDK、JRE和JVM的理解总结

对于技术我不再想仅仅局限于能实现功能而已,一定要弄明白其真正内涵,这不?又遇到一个解释不清楚的概念。

SDK、JDK、JRE和JVM的含义到底是什么?

网上有很多朋友对此产生疑问,但遗憾的是确没有谁真正的回答对了,有些人只是敷衍了事争取了分,或许是高手们的确不愿意回答这么低级的问题,而有些则是的确搞不明白或描述不清楚。

这里谈谈我的理解,或许不正确,请达人们批评指正,也好给像我这样的入门级新手指引到正确的道路,非常感谢。

  1. SDK(Software Development Kit):指辅助开发某一类软件的相关文档、范例和工具的集合(比如新浪微博的SDK),是软件开发中的广义的概念。
  2. JDK(Java Development Kit):是Sun公司针对Java开发人员发布的SDK,是特指JAVA的。Java SDK最早叫Java Software Development Kit,1.2版本以后才改名为JDK,即Java Development Kit。
  3. JRE(Java Runtime Environment):也就是常说的JAVA平台,是JAVA的运行环境,所有的JAVA程序都要在JRE中才能运行。它是JDK安装包的一部分,一般和JAVA SDK有相应的版本对应。
  4. JVM(Java Virtual Machine):JAVA虚拟机,简单来讲就是把JAVA代码变成字节码的工具,属于JRE概念的一部分,JVM就快平台的核心构件。

由以上可以理解为SDK(泛指)>JDK(特指)>JRE>JVM,但JDK>JRE不是概念上而是指安装包而已。

那么现在不难理解“Java EE 6 SDK Update 4 with JDK 7 Update 5”这样的描述了,JAVA的广义SDK是叫Java EE 6 SDK Update 4,其中包含了JDK 7 Update 5。“Java EE 6 SDK Update 4 with JDK 7 Update 5”包含了:JDK 7 Update 5;GlassFish Server Open Source Edition 3.1.2.2;Java EE 6 Code Samples;Java EE 6 API Documentation;Java EE 6 Tutorial;等。

再来看看J2SE、J2EE、J2ME和Java SE、Java EE、Java ME的区别

  • J2SE(Java 2 Standard Edition):标准版,主要用于桌面应用软件的编程;
  • J2EE(Java 2 Enterprise Edition):企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统;
  • J2ME(Java 2 Micro Edtion):微型版,主要应用于嵌入是系统开发,如手机和PDA的编程;

自从Java 5后分别改名为Java SE、Java EE、Java ME,不再带版本号,因为都已经发展到版本6还叫2版本的名称已经不再适合了。

posted @ 2012-08-08 15:15  码农神说  阅读(298)  评论(0编辑  收藏  举报