原文链接:
您是企业IT组织的开发人员还是开发经理? 您可能正在讨论后端使用的内容。
另一方面,如果您正在构建初创公司,则方案可能会有所不同。 一些应用程序开发人员可能支持Ruby on Rails或Scala,而其他人则支持Java。 在“Choosing the Right Programming Language for Your Startup”中阅读有关此类组织内部辩论的更多信息。
在本文中,我将描述为什么要将Java用于后端基础结构。 目标不是展示Ruby on Rails,Python或Scala无效。 我打算冷静地分析Java提供的优势,以及它们为什么会有所作为。
目录
Java编程的开始及其演变
Java的特殊功能使它如今变得如此重要
不同类型的Java平台:
为什么Java适合你的后端? 可伸缩性是第一个原因
将Java用于后端的第二个原因:跨平台使用
开发Java后端的第三个原因是强大的内存管理
多线程是将Java用于后端基础架构的第四个原因
丰富的生态系统促进后端Java开发:第五个原因
Java安全优势是将其用于后端的第六个原因:
熟练的人力资源是您在后端使用Java的第7个理由:
你应该在你的初创公司的后端使用Java吗?
Blockchain可以创建更稀有的游戏内资产:
Java编程的开始及其演变
虽然它自1995年以来一直存在,但Java的第一个完整版是在1996年1月首次发布。原始名称是“Oak”,然而,存在商标问题。 然后将其重命名为Java。 有关更多详细信息,请阅读the definition of Java in “The Server Side”。
发明Java的Sun Microsystem工程师James Gosling并没有设想它在互联网经济中的广泛应用。事实上,在1996年,互联网和万维网只是一些非常新的概念。相反,Gosling认为Java将用于可以相互通信的小型互连设备中。
Java 2中Java API的大量改进是一个重要的里程碑。 Java 5加入了“Generics”,这是一项对Java语法进行重大更改的功能。
谷歌在2009年发布了他们的Android软件开发工具包‘Software Development Kit’(SDK),基于Java。这是该语言的另一个重要里程碑。此后不久,Oracle于2010年收购了Sun Microsystems,导致Java 7发布延迟。
到目前为止,Java已成为面向对象编程最受欢迎的选择,然而,2014年增加了更多功能。 2014年发布的Java 8包含了“Lambda”表达式,使开发人员能够编写面向函数的应用程序。阅读“the definition of Java in “The Server Side”中关于Java语言的演变。
Java的特殊功能使它如今变得如此重要
超过30亿台设备以某种形式使用Java,而Oracle估计它是企业使用的最常见的运行时环境。 在Oracle白皮书“Java Usage Tracking and Visualization with Oracle Fusion Middleware”中了解他们的估计。
这种受欢迎程度归功于以下功能:
简单性:开发人员发现它易于学习。
熟悉:20世纪90年代或21世纪初的大多数开发人员都开始使用C / C ++。由于Java看起来像那些语言,他们很快就学会了。此外,Java删除了像指针一样的C / C ++复杂性。
它是一种完全面向对象的编程语言。
该语言支持自动垃圾收集和简单的内存管理,以及泛型等功能。所有这些都使它成为一种强大的语言。
在编译时进行静态类型检查和运行时检查使其成为一种高度安全的语言。
编译成字节码使Java虚拟机(JVM)能够快速执行代码,因此Java提供了高性能。
Java允许多线程。
您可以在任何具有JVM的系统中运行它。这种便携性是一个主要优势。
有关这些功能的更多详细信息,请阅读“Features of the Java programming language”。
丰富的生态系统支持该语言。甲骨文,IBM和谷歌等技术巨头支持它。丰富的开源库,丰富的“集成开发环境”(IDE),工具,框架和大型开发人员社区都具有额外的优势。
不同类型的Java平台:
所有Java平台都具有JVM和应用程序编程接口(API)。有四种不同的Java平台,如下所示:
Java平台标准版(Java SE):这是开发人员最常用的Java平台。 Java SE API提供核心功能。该平台定义了基本类型和对象,同时还定义了网络,安全性,数据库和“图形用户界面”(GUI)的高级类。
Java平台企业版(Java EE):它构建于Java SE之上,适用于企业级应用程序。
Java平台,微型版(Java ME):Java SE API的一个子集,它提供了更轻的JVM,适用于在移动电话等小型设备上运行的应用程序。