自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 Fedora Linux 上進行 Java 開發(fā)

系統(tǒng) Linux
本文將引導(dǎo)你了解構(gòu)成 Java 的各個組件,以及它們是如何相互作用的。本文還將介紹 Java 是如何集成在 Fedora Linux 中的,以及該如何管理不同的版本。

“Java” 有很多意思。除了是印度尼西亞的爪哇島之外,它還是一個大型的軟件開發(fā)生態(tài)系統(tǒng)。Java 公開發(fā)布于 1995 年 3 月 23 日(LCTT 譯注:據(jù)維基百科數(shù)據(jù))。它仍然是企業(yè)和休閑軟件開發(fā)的一個流行平臺。從銀行業(yè)到“我的世界”,許多東西都是由 Java 開發(fā)的。

本文將引導(dǎo)你了解構(gòu)成 Java 的各個組件,以及它們是如何相互作用的。本文還將介紹 Java 是如何集成在 Fedora Linux 中的,以及該如何管理不同的版本。最后,還提供了一個使用游戲《破碎的像素地牢》做的小演示。

Java 的鳥瞰圖

下面幾個小節(jié)快速回顧了 Java 生態(tài)系統(tǒng)的幾個重要部分。

Java 語言

Java 是一種強類型的、面向?qū)ο蟮木幊陶Z言。它的主要設(shè)計者是在 Sun 公司工作的 James Gosling,Java 在 1995 年正式公布。Java 的設(shè)計受到了 C 和 C++ 的強烈啟發(fā),但使用了更精簡的語法。沒有指針,參數(shù)是按值傳遞的。整數(shù)和浮點數(shù)不再有有符號和無符號的變體,更復(fù)雜的對象如字符串是基礎(chǔ)定義的一部分。

但那是 1995 年,該語言在發(fā)展中經(jīng)歷了興衰。在 2006 年至 2014 年期間,沒有任何重大發(fā)布,停滯不前,這也為市場競爭打開了大門?,F(xiàn)在有多種競爭性的 Java 類語言,如 Scala、Clojure 和 Kotlin。現(xiàn)在很大一部分 “Java” 編程都使用這些替代語言規(guī)范中的一種,這些語言專注于函數(shù)式編程或交叉編譯。

    // Java
public class Hello {
public static void main(String[] args) {
println("Hello, world!");
}
}
// Scala
object Hello {
def main(args: Array[String]) = {
println("Hello, world!")
}
}
// Clojure
(defn -main
[& args]
(println "Hello, world!"))
// Kotlin
fun main(args: Array<String>) {
println("Hello, world!")
}

現(xiàn)在選擇權(quán)在你手中。你可以選擇使用現(xiàn)代版本,或者你可以選擇替代語言之一,如果它們更適合你的風(fēng)格或業(yè)務(wù)。

Java 平臺

Java 不僅僅是一種語言。它也是一個運行語言的虛擬機,它是一個基于 C/C++ 的應(yīng)用程序,它接收代碼,并在實際的硬件上執(zhí)行它。除此之外,該平臺也是一套標準庫,它包含在 Java 虛擬機(JVM)中,并且是用同樣的語言編寫的。這些庫包含集合和鏈接列表、日期時間和安全等方面的邏輯。

Java 生態(tài)系統(tǒng)并不局限于此。還有像 Maven 和 Clojars 這樣的軟件庫,其中包含了相當數(shù)量的可用的第三方庫。還有一些針對某些語言的特殊庫,在一起使用時提供額外的好處。此外,像 Apache Maven、Sbt 和 Gradle 這樣的工具允許你編譯、捆綁和分發(fā)你編寫的應(yīng)用程序。重要的是,這個平臺可以和其他語言一起使用。你可以用 Scala 編寫代碼,讓它與 Java 代碼在同一平臺上一同運行。

還有就是,在 Java 平臺和 Android 世界之間有一種特殊的聯(lián)系。你可以為 Android 平臺編譯 Java 和 Kotlin,來使用額外的庫和工具。

許可證歷史

從 2006 年起,Java 平臺在 GPL 2.0 下授權(quán),并有一個類路徑例外classpath-exception。這意味著每個人都可以建立自己的 Java 平臺;包括工具和庫。這使得該生態(tài)系統(tǒng)的競爭非常激烈。有許多用于構(gòu)建、分發(fā)和開發(fā)的工具彼此競爭。

Java 的原始維護者 Sun 公司在 2009 年被甲骨文公司收購。2017 年,甲骨文改變了 Java 軟件包的許可條款。這促使多個知名的軟件供應(yīng)商創(chuàng)建自己的 Java 打包鏈。紅帽、IBM、亞馬遜和 SAP 現(xiàn)在都有自己的 Java 軟件包。他們使用“OpenJDK”商標來區(qū)分他們的產(chǎn)品與甲骨文的版本。

值得特別一提的是,甲骨文提供的 Java 平臺包并不是 FLOSS。對甲骨文的 Java 商標平臺有嚴格的許可限制。在本文的其余部分,“Java” 指的是 FLOSS 版本:OpenJDK。

最后,類路徑例外 值得特別一提。雖然許可證是 GPL 2.0,但類路徑例外允許你使用 Java 編寫專有軟件,只要你不改變平臺本身。這使得該許可證介于 GPL 2.0 和 LGPL 之間,它使 Java 非常適用于企業(yè)和商業(yè)活動。

Praxis

如果這些看起來如此繁雜,請不要驚慌。這是 26 年的軟件歷史,有很多的競爭。下面的小節(jié)演示了在 Fedora Linux 上使用 Java。

在本地運行 Java

默認的 Fedora 工作站 33 的環(huán)境包括 OpenJDK 11。該平臺的開源代碼是由 Fedora 項目的軟件包維護者為 Fedora 工作站捆綁的。要想親眼看看,你可以運行以下內(nèi)容:

$ java -version

OpenJDK 的多個版本在 Fedora Linux 的默認存儲庫中都有。它們可以同時安裝。使用 alternatives 命令來選擇默認使用哪個已安裝的 OpenJDK 版本。

    $ dnf search openjdk
$ alternatives --config java

另外,如果你安裝了 Podman,你可以通過搜索找到大多數(shù) OpenJDK 軟件包。

$ podman search openjdk

運行 Java 有許多方式,包括原生的和容器中的。許多其他的 Linux 發(fā)行版也帶有開箱即用的 OpenJDK。Pkgs.org 有 一個全面的列表。在這種情況下,GNOME Boxes 或 Virt Manager 可以用來運行它們。

要直接參與 Fedora 社區(qū),請看他們的項目 維基。

替代配置

如果你想要的 Java 版本在軟件庫中不可用,請使用 SDKMAN 在你的主目錄中安裝 Java。它還允許你在多個已安裝的版本之間進行切換,而且它還帶有 Ant、Maven、Gradle 和 Sbt 等流行的 CLI 工具。

同樣,一些供應(yīng)商直接提供了 Java 的下載。特別值得一提的是 AdoptOpenJDK,它是幾個主要供應(yīng)商之間的合作,提供簡單的 FLOSS 包和二進制文件。

圖形化工具

有幾個 集成開發(fā)環(huán)境(IDE)可用于 Java。一些比較流行的 IDE 包括:

  • Eclipse:這是由 Eclipse 基金會發(fā)布和維護的自由軟件??梢灾苯訌?Fedora 項目的軟件庫或 Flathub 上安裝它。
  • NetBeans:這是由 Apache 基金會發(fā)布和維護的自由軟件。可以從他們的網(wǎng)站或 Flathub 上安裝它。
  • IntelliJ IDEA:這是一個專有軟件,但它有一個免費的社區(qū)版本。它是由 Jet Beans 發(fā)布的。可以從他們的網(wǎng)站或 Flathub 上安裝它。

上述工具本身是用 OpenJDK 編寫的。這是自產(chǎn)自銷的例子。

示范

下面的演示使用了《破碎的像素地牢》,這是一個基于 Java 的 Roguelike 游戲,它在 Android、Flathub 和其他平臺上都有。

首先,建立一個開發(fā)環(huán)境:

    $ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk install gradle

接下來,關(guān)閉你的終端窗口并打開一個新的終端窗口。然后在新窗口中運行以下命令:

    $ git clone https://github.com/00-Evan/shattered-pixel-dungeon.git
$ cd shattered-pixel-dungeon
$ gradle desktop:debug

現(xiàn)在,在 Eclipse 中導(dǎo)入該項目。如果 Eclipse 還沒有安裝,運行下面的命令來安裝它:

$ sudo dnf install eclipe-jdt

使用從文件系統(tǒng)導(dǎo)入項目方式來添加《破碎的像素地牢》的代碼。

正如你在左上方的導(dǎo)入資源中所看到的,你不僅有項目的代碼可以看,而且還有 OpenJDK 及其所有的資源和庫。

如果這激勵你進一步深入,我想把你引導(dǎo)到《破碎的像素地牢》的 官方文檔?!镀扑榈南袼氐乩巍返臉?gòu)建系統(tǒng)依賴于 Gradle,這是一個可選的額外功能,你必須 在 Eclipse 中手動配置。如果你想做一個 Android 構(gòu)建,你必須使用 Android Studio。它是一個免費的、Google 品牌的 IntelliJ IDEA 版本。

總結(jié)

在 Fedora Linux 上使用 OpenJDK 開發(fā)是一件很容易的事情。Fedora Linux 提供了一些最強大的開發(fā)工具。使用 Podman 或 Virt-Manager 可以輕松、安全地托管服務(wù)器應(yīng)用程序。OpenJDK 提供了一種創(chuàng)建應(yīng)用程序的 FLOSS 方式,使你可以控制所有的應(yīng)用程序組件。

Java 和 OpenJDK 是 Oracle 和/或其附屬公司的商標或注冊商標。其他名稱可能是其各自所有者的商標。

責(zé)任編輯:未麗燕 來源: Linux中國
相關(guān)推薦

2020-03-07 18:51:11

EclipseFedoraPHP

2009-01-06 10:04:44

CygwinGCCGUI

2010-02-24 15:19:38

ibmdwLinux

2023-11-30 15:56:54

大型語言模型人工智能

2009-04-14 18:50:55

Nehalem惠普intel

2020-02-18 09:45:44

云計算云平臺IT

2011-01-26 11:19:55

Linux認證

2025-04-23 15:49:37

2011-03-23 14:51:31

2022-12-03 16:02:51

2021-08-19 18:28:22

FedoraLinuxOpenCV

2010-07-02 12:58:39

Meego開發(fā)

2010-12-09 09:12:28

2023-02-09 15:32:55

配置雙網(wǎng)卡雙網(wǎng)卡設(shè)置

2021-02-16 23:17:47

Windows 10Windows微軟

2021-08-30 15:49:19

暗網(wǎng)數(shù)據(jù)泄露網(wǎng)絡(luò)攻擊

2009-12-10 16:21:42

Fedora Linu

2023-06-20 08:00:00

2018-05-14 08:36:06

JavaFedoraOpenJDK

2021-08-18 11:19:25

FedoraLinuxJava
點贊
收藏

51CTO技術(shù)棧公眾號