Java SE与Java EE,大学和职业

时间:2008-10-12 23:15:10

标签: java java-ee

我目前正在大学学习计算机科学,他们主要教授Java标准版,我看到在业界这并没有太多用,而是使用了Java EE。如果我的学院教我Java SE而不是Java EE,这会让我减少就业?

差异究竟是什么?语法不同?不同的编程方式还是什么?

9 个答案:

答案 0 :(得分:18)

对于所有意图和目的,Java和Java SE是相同的。当您说您正在学习Java SE时,这意味着您正在学习Java,它的语法,功能和标准库。在学习这些技能之前,你无法学习Java EE。

Java EE是一组标准,它定义了许多不同的接口和功能,用于构建软件以解决企业级问题。这些包括事务,分布式计算,消息传递,Web应用程序和资源管理。所有这些都在托管环境中提供。所有这些都编码为Java语言,由于软件运行的环境而具有特定的规则和特性。

考虑学习Java SE学习驾驶汽车。 Java EE就像学习驾驶18轮车一样,你不需要知道如何从A到B,但如果你必须随身携带10吨货物,这肯定有帮助8 - )

答案 1 :(得分:11)

Java SE包含标准Java库:所有基础知识,容器,网络,GUI等。它主要用于桌面应用程序和浏览器小程序。

Java EE添加了一个服务器框架。当你在服务器中谈论Java时,这就是你所指的。它是一个巨大的库,有许多预先建立的“最佳实践”。当JIT仍然年轻时,Java EE的高度可扩展设计使其在服务器中得到了很好的接受,除了JVM的(然后是重要的)开销。

我还没有真正使用过任何严肃的Java EE;但我认为最好先学习Java SE,然后再学习Java EE。这需要更多的时间;但是让你更好地理解什么是语言,什么是框架。

答案 2 :(得分:8)

  

如果我的学院教我Java SE而不是   Java EE这样做会让我更少   可采用?

没有。这就是你的大学应该做的事情:专注于基础知识。就Java而言,这主要意味着标准版。

Java EE( J2EE;请参阅我在问题中的评论)添加了一些服务器端Java API,规范和库。其中最重要的是Servlet API和JSP容器规范。但我认为重要的是要知道即使在服务器端,它仍然主要是关于标准Java!您很可能在不需要学习大多数Java EE技术(如Enterprise Java Bean(EJB))的情况下进行服务器端Java开发 - 特别是随着替代的轻量级方法的出现,例如支持POJO,使用Hibernate作为持久层。像EJB这样的Java EE的许多部分肯定已经超过了他们的炒作周期的高峰期。您可能甚至不需要彻底了解所有“低级”Servlet和JSP内容,因为StrutsJSFWicket等更高级别的框架已经变得流行。

一个案例研究:我在大学学习了Java(和OO编程)的基础知识 - 并且只有非常很少(并且没有任何实用性)关于企业版。现在我作为“Java EE开发人员”工作了4-5,即做服务器端Java。我从未真正使用过EJB或大多数其他Java EE技术。我主要做的只是纯Java(即标准版),有一些JSP,Servlets,Filters等相关内容(当然还有HTML,JS,CSS等网络技术);利用 lot (主要是开源)第三方库,并根据需要选择所有内容。 (但是,我计划在某些时候提高我对Java EE的了解和take the SCWCD - 我认为即使Java SE走得很远,这对我也有好处。)

答案 3 :(得分:2)

在我看来,大学真的是要教你在基础和概念上坚强,不一定教会你在工作中需要的确切技能。所以最重要的是我建议你确保你正在学习企业应用程序需求中的概念(例如交易,消息队列/主题等等)但是,如果你真的担心这个问题,我建议你这样做自学(可能是课程学分)。另外,尝试找一个可以让你玩一些Java EE代码的实习。

当我接近大学结束时,我问自己同样的问题。我现在正在Java EE环境中工作,并且使用Java EE库有一些学习曲线。我必须同意许多其他人的观点,并说与我工作的其他项目相比,进行企业级Java开发并不是很有趣,所以你可能想继续在大学里玩得开心,并在你参与的时候推迟讨厌的东西劳动力队伍。

答案 4 :(得分:2)

这是我查看的方式。

您所知道的编程语言称为Java。

与大多数其他编程语言一样,它也捆绑了许多标准库。

Java SE是语言和某些库的组合,可以使一般应用程序开发成为可能。

Java EE是另一组库,您可以将它们与Java SE结合使用,以开发企业/ Web应用程序。

答案 5 :(得分:1)

Java语言本身就是Java开发的一个方面。使用标准版构建的应用程序可满足特定需求。如果你所知道的只是标准版,那么你可以认为你可以用企业版“wing”它,这是一种误解。图书馆制作语言。虽然Java EE的某些方面有他们(当之无愧的)批评者,但仍然有很多功能。即使是有问题的部件仍然在业内大量使用。

答案 6 :(得分:1)

来自Wikipedia

Java平台(企业版)与Java标准版平台(Java SE)的不同之处在于它添加了库,这些库提供了部署容错,分布式,多层Java软件的功能,主要基于运行的模块化组件。应用程序服务器。

语法是一样的。您学到的与Java SE相关的所有内容都将适用于Java EE。它只是添加了一堆新的API,并要求某种风格的应用程序设计非常适合特定类型的问题。这些问题(大型,容错,分布式,可扩展,多层......)以及如何解决这些问题实际上是Java EE的意义所在,而不是恰好属于规范的实际API。

请记住,CS学位不是职业学位。它旨在教你如何学习和思考,而不是训练你为特定的行业利基量身定制的特定技能。

答案 7 :(得分:0)

Java EE只是Java SE(诸如servlet之类的企业库)的超集。学习Java SE,你大部分都了解Java EE。

答案 8 :(得分:0)

我认为你误解了Java SE(或“核心Java”)与Java EE之间的关系。

核心Java很重要,大多数学校都会教你。

由于编程围绕着使用轮子而不是重新发明它们,因此通常有一些库可以用来完成复杂的任务。

例如,一些学校教人们使用Java提供的AWT或Swing类库来构建GUI,尽管还有其他选择。

Java EE虽然受到在服务器上运行程序的额外软件的支持,但可以更多地被视为类和相关服务的库。您仍然经常使用Java,只需使用受欢迎且受Sun支持的库。您还将看到Hibernate和Spring不属于Java EE。

大多数地方首先要确保您的Java是可靠的。当您开始工作时,您将获得使用Java EE特定部分的经验。