为什么Java有这么多不同于C的版本?

为什么Java有这么多不同于C的版本?,java,jakarta-ee,javafx,Java,Jakarta Ee,Javafx,我已经决定学习另一种语言,现在正处于挑选阶段 目前正在研究Java和C#,但倾向于Java,因为它是跨平台的。我将主要构建基于web的应用程序,但Java版本的多样性让我感到害怕。Java EE、SE、ME、FX,它们的区别是什么?使用一个到另一个有什么好处吗 好的,FX用于台式机,ME用于移动设备,SE和EE是相同的,但一个用于“业务”,另一个则不是。例如,如果我学习SE,那么切换到EE需要什么?还是外汇?我的问题是我不能真正理解为什么SE、EE和FX是独立的产品?它们都运行相同的JVM,并且

我已经决定学习另一种语言,现在正处于挑选阶段

目前正在研究Java和C#,但倾向于Java,因为它是跨平台的。我将主要构建基于web的应用程序,但Java版本的多样性让我感到害怕。Java EE、SE、ME、FX,它们的区别是什么?使用一个到另一个有什么好处吗


好的,FX用于台式机,ME用于移动设备,SE和EE是相同的,但一个用于“业务”,另一个则不是。例如,如果我学习SE,那么切换到EE需要什么?还是外汇?我的问题是我不能真正理解为什么SE、EE和FX是独立的产品?它们都运行相同的JVM,并且都可以执行相同的结果应用程序。为什么他们会分开呢?

这并没有那么严重

  • JavaSE是普通应用程序的标准
  • JavaME是用于移动电话的,例如没有浮点的子集
  • JavaEE是JavaSE对web应用程序和web服务器的一种补充
  • javafx是flash播放器的替代品,但现在有了Java绑定/集成
因此,JavaSE构成了基础。JavaEE是用于web应用程序的

在未来,java将得到一个模块化的系统,其区别将仅限于库级别。

请这样想:

  • ME~=紧凑框架
  • SE~=.NET客户端配置文件
  • EE~=完整的.NET框架(以及一些额外的位:)
  • FX~=Silverlight
这不是一个精确的比较,但这是一个非常接近的开始…

不同的版本(SE、EE、ME和FX)都是位于JVM之上的不同API(您可以在这里找到完整的描述:)。它们不是不同的语言,所以不需要学习在它们之间切换的新语法,只需要不同的API调用


就我个人而言,我更喜欢用C语言开发web应用程序,因为它与ASP.NET和MVC框架集成。

当你说编辑器时,我想你指的是IDE(集成开发环境)。 Java有这么多编辑器而C没有,这是因为Java是开源的,而C不是。因此,在C#中,唯一真正好的IDE叫做“visual studio”(它不是免费的)

我强烈建议您使用java,因为几乎所有的工具都是免费的,甚至您部署应用程序的应用服务器也是免费的

不要害怕java版本,若你们想构建web应用程序,你们需要使用JavaEE(企业版)。 不管怎样,这就是他们每个人所做的:

SE(标准版):它包含最基本的库,常用于桌面应用程序,但它也是企业版的一部分

EE(企业版):用于企业应用程序(不仅仅是web应用程序),所以这意味着分布式编程,从web应用程序、桌面到web服务

ME(微型版):适用于移动技术,不仅仅是手机,还有自动售货机、智能电视、导弹制导……;)

FX:是一个丰富的开发平台,可以方便地开发强大的客户

关于你的问题,EE和SE之间的差异,我已经回答了,换句话说:

EE是SE的一个扩展,它包括EE并允许您编写企业应用程序。 因此,如果您想在EE中编程,您需要安装SE(只需将其视为系统需求)

我真的不明白你说的生意是什么意思。我可以告诉您的是,企业版在其库中集成了一个用于开发业务组件的工具,称为EJB(企业JavaBeans)

EE、SE和FX是分离产品的原因是需要分离关注点

示例:您可能创建了一个完全不需要通过internet进行通信的桌面应用程序。为什么会有用于分布式编程的it企业库


从各个方面来看,最后一个问题是没有意义的。

请参见此处的描述

但是,我们可以说,Java版本是建立在相同的公共基础之上的,而版本只是针对特定行业领域的基础上的附加库/框架吗?Java FX是一种具有自己脚本的产品,但是集成在JavaSE中。JavaME是一个精简版,适用于具有非x86CPU的低级移动设备。但是是的,Java EE和Java FX是附加的。@JoopEggen:注意Oracle放弃了Java FX脚本,转而使用纯Java API。还要注意,EE不仅适用于web应用程序,也适用于其他类型的服务器端应用程序。还要注意,Oracle计划将Java FX集成到Java SE中,以用于版本9,如果他们得到社区的认可:@Nik bogalis:)我不确定,但那是Visual studio Express吗?不知道,有什么好处吗?我想,当你选择一种编程语言时,你也希望使用一种IDE,这种IDE很流行,而且已经有很多人在使用它,因此当遇到困难时,你可以更容易地找到解决方案。我不熟悉那个IDE,但即使我熟悉,我想我也不会推荐它。