Answers:
Java适当的
Java Standard Edition是专为通用计算而设计的“普通”版本。与Java的所有其他变体一样,它是一种强大的,静态类型的,字节码编译的,面向对象的语言,在具有全自动垃圾回收的虚拟机上运行。它具有该语言的大多数功能。应用程序示例包括Minecraft或ArgoUML之类的应用程序。它可以作为独立的桌面应用程序运行,也可以作为Applet在网页中的嵌入式应用程序运行。
Java Enterprise Edition并不是另一种语言,而是接口规范,旨在生产在Application Server实现中运行的软件。这里的主要区别在于,它是为部署到符合企业版接口规范的应用服务器而设计的。Java SE可用于编写独立的服务器,但不包括旨在以Java EE的方式构建的标准化接口和规范。例如可以在Glassfish(Java EE参考实现),JBoss等上运行的应用程序。
Java Micro Edition是Java,旨在在移动设备上运行。应该指出的是,这是不一样的东西的Android。Java ME被设计为比Java SE更好地处理移动硬件。我将Pantec Ease用作手机,它运行Java ME。
Java Card甚至更“小”,旨在用作诸如Smart ATM卡之类的真正低端设备。是的,其中有些实际上装有Java。
JavaFX是一个旨在构建Rich Internet Client GUI应用程序的框架。
JVM语言家族
首先,JVM。这是一个基于堆栈的虚拟机,运行的是由bytcode编译的,看起来很像汇编语言。优化可以使其在非常特殊的情况下运行非常快。
实际的Oracle Java Stuff就是这样,现在是人们在JVM上常用的东西。所有这些语言都具有Java互操作性,并且通常可以调用大多数或所有Java库。
Groovy是一种面向对象的,动态类型化的语言,具有更简洁的语法,被认为是Java的一种更轻松,更强大的替代品。它被设计为Java的一种扩展语言,几乎允许将Java文件拖放到Groovy程序中。它具有用于Web开发的通常与之关联的框架,称为Grails。
阶是一个相当新的(2003)的混合面向对象/功能被设计为是高度可扩展的,因此得名语言。Twitter是Scala的重度用户。
Clojure的是最近(2007年)的功能Lisp的家庭语言。从一开始就专为繁重的并发编程而设计。我没有一个很好的软件示例,但是有很多公司正在使用它。
Jython和JRuby分别是Python和Ruby的Java字节码版本。
JVM还存在许多其他语言,例如Jaskell(JVM的Haskell),但它们往往是晦涩/学术性的实验。
相关资料
Android使用Java,但在基于Dalvik寄存器的计算机上运行。Dalvik目前是对其采用者Google 提起诉讼的对象。Android本质上是具有一组不同库的Java SE。
Netbeans和Eclipse是讨论最多的两个Java IDE。提出关于一个与另一个的问题将调用闭包,但我并不是说编程概念。
无关的东西
Javascript根本不是Java...。从那时起,它就被利用Java的普及性和混乱而烦人。
房间里的犀牛
Rhino是Javascript解释器,可将Javascript代码转换为Java代码,然后可以在某个地方运行。它本身不是一种独立的语言,但像其他任何语言一样,都有其自己的怪癖。Rhino由Mozilla开发,可以替代基于C的SpiderMonkey解释器。Rhino通常用于将Javascript嵌入Java程序中。
由Oracle为JDK 8开发的Nashorn(可能具有德国的效率水平)似乎是Java中嵌入式Javascript的新标准。这意味着Rhino不再用于Java的主要实现。目前对于Rhino项目意味着什么尚不清楚。