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

哪個(gè)是用于開發(fā) Java 應(yīng)用程序的優(yōu)秀操作系統(tǒng)?

開發(fā) 前端
經(jīng)常引起很多爭(zhēng)論的一個(gè)主題是,哪個(gè)是用于開發(fā) Java 應(yīng)用程序的最佳操作系統(tǒng)。這篇文章就這個(gè)問題給出了一種看法。

Java 在 Windows、macOS 和 Linux 發(fā)行版上運(yùn)行良好。

我在 Chronicle Software 工作,我們的大部分軟件都是開源 Java 庫,所以我們不——或者更確切地說,我們不能——要求我們的客戶在特定的操作系統(tǒng)上運(yùn)行。您可能會(huì)驚訝地聽到我們也沒有規(guī)定我們的員工應(yīng)該使用哪種操作系統(tǒng)。我們讓他們使用摩擦最小的那個(gè),他們最有效率的那個(gè)。

當(dāng)涉及到開發(fā) Java 應(yīng)用程序的設(shè)置時(shí),最重要的選擇是您選擇的集成開發(fā)環(huán)境 (IDE),而不是操作系統(tǒng)的選擇。選擇一個(gè)好的 IDE 可以提高您的工作效率,但我們不會(huì)強(qiáng)迫公司中的每個(gè)人都使用相同的 IDE。也就是說,我們?cè)谶^去 8 年中聘請(qǐng)的每一位 Java 開發(fā)人員都選擇 IntelliJ 作為他們首選的 IDE:JetBrains 一定做對(duì)了。

在我使用 IntelliJ 之前,我曾經(jīng)使用過 Eclipse。大約 15 年前,當(dāng)我加入 UBS Investment Bank 時(shí),我被迫使用 IntelliJ。起初,我不太喜歡 IntelliJ:一切都不像我預(yù)期的那樣,感覺就像我的手被砍掉了,因?yàn)橐磺兴坪醵夹枰兜臅r(shí)間。隨著時(shí)間的推移,我越來越喜歡它,并欣賞它出色的代碼重構(gòu)。

在考慮在哪個(gè)操作系統(tǒng)上進(jìn)行開發(fā)時(shí),值得考慮目標(biāo)架構(gòu)的操作系統(tǒng)。在我的公司,我們開發(fā)低延遲事件流消息傳遞軟件。該軟件被世界上許多投資銀行和加密貨幣交易所使用。通常,投資銀行在 Windows 上開發(fā)并部署到 Linux。另一方面,加密公司通常采用 macOS 進(jìn)行開發(fā)。但幾乎每個(gè)組織都使用 Linux 進(jìn)行生產(chǎn)。

雖然您開發(fā)的操作系統(tǒng)和生產(chǎn)操作系統(tǒng)不必相同,但在選擇開發(fā)操作系統(tǒng)時(shí)最好考慮您的生產(chǎn)操作系統(tǒng)。

FreeBSD 支持 macOS。這不是 Linux,而是 Unix,因此它們具有合理程度的相似性,尤其是在命令、shell 等方面。但是,在幕后存在相當(dāng)程度的分歧:macOS 不提供相同的精細(xì) -糧食控制。如果您打算進(jìn)行低延遲開發(fā),這可能會(huì)對(duì)您產(chǎn)生負(fù)面影響。例如,您想控制您的線程固定到哪些內(nèi)核。對(duì)于大多數(shù) Java 開發(fā)人員來說,這種缺乏細(xì)粒度控制的問題通常不是問題,但如果您確實(shí)擔(dān)心,您應(yīng)該選擇 Linux。這里的重點(diǎn)是,如果您將服務(wù)器端應(yīng)用程序部署到 Linux,選擇 Linux 或 macOS 作為開發(fā)環(huán)境會(huì)很有意義。

過去,我使用過 Ubuntu,但其 GUI 并沒有達(dá)到 macOS 提供的集成度和流暢度。macOS 以更酷、更漂亮和更好而聞名,但它確實(shí)帶來了真正的好處,可以提高你的工作效率。

在我的公司,大約 50% 的開發(fā)人員使用 macOS,50% 使用 Linux 和/或 Windows。最近還有更多的應(yīng)用程序可用于 Linux,并且基于 Web 的應(yīng)用程序(例如 Google 文檔)在此環(huán)境中運(yùn)行良好,但值得檢查您打算使用的所有應(yīng)用程序是否都可以在 Linux 上運(yùn)行?;蛘?,您可以使用虛擬化,或者,如果您不必同時(shí)運(yùn)行 Windows 和 Linux 應(yīng)用程序,您可以雙啟動(dòng)。

Mac 并不總是完美的。我的一個(gè)同事有一臺(tái) 2019 年的 Intel 16" MacBook。他經(jīng)常必須在冰袋上運(yùn)行它。否則,它會(huì)過熱。許多非 Mac 超極本也存在這個(gè)問題。將熱的 Intel 芯片放入那些薄的一體式機(jī)身中shell 是一個(gè)錯(cuò)誤,但蘋果現(xiàn)在已經(jīng)用他們的新硅 Mac 解決了這個(gè)問題。最近,英特爾在他們的第 12 代架構(gòu)中引入的新混合核心模型中改善了他們的散熱問題。AMD 的散熱效率比英特爾更高,但英特爾和英特爾都沒有。在每瓦性能方面,AMD 目前可以與 ARM 或 Apple 競(jìng)爭(zhēng)。

無論開發(fā)環(huán)境如何,歸根結(jié)底,軟件都需要在給定的目標(biāo)操作系統(tǒng)上運(yùn)行。開源 Java 庫可以幫助抽象平臺(tái)差異,從而在不同開發(fā)和目標(biāo)操作系統(tǒng)之間為低級(jí)功能提供大致無縫的開發(fā)體驗(yàn)。(macOS 和 Linux 不同的一些示例包括文件鎖定和線程親和性,這些庫可以幫助在兩個(gè)平臺(tái)之間規(guī)范化這些功能。)最終,為了提取最佳性能,需要仔細(xì)了解每個(gè)目標(biāo)平臺(tái)的細(xì)微差別在部署、配置和調(diào)整低延遲軟件堆棧時(shí),在開發(fā)階段對(duì)目標(biāo)操作系統(tǒng)有所了解和熟悉可能是有益的。

結(jié)論

首先,對(duì)于開發(fā),我建議使用您最熟悉的操作系統(tǒng)。如果您對(duì)任何操作系統(tǒng)都沒有太多經(jīng)驗(yàn),我建議您使用 Windows 或 macOS。

  • 如果預(yù)算有限,Linux 是一個(gè)更便宜的選擇,但要小心檢查是否可以在 Linux 上運(yùn)行所需的所有代碼。除非您想忍受雙啟動(dòng)或虛擬機(jī),否則您可能不得不花大價(jià)錢購(gòu)買第二臺(tái)(或舊的)機(jī)器來運(yùn)行 Windows。如果您選擇雙啟動(dòng),那么對(duì)于桌面,我建議您使用兩個(gè)啟動(dòng)盤(每個(gè)操作系統(tǒng)一個(gè))進(jìn)行設(shè)置。這樣一來,如果出現(xiàn)問題,您可以更換一個(gè)。
  • 另一方面,如果您正在編寫低延遲代碼,并且您必須對(duì)您的操作系統(tǒng)子系統(tǒng)有良好的控制水平,那么請(qǐng)選擇 Linux。
  • 或者,我會(huì)選擇 macOS。

關(guān)鍵是,選擇 Mac、Windows 或 Linux 有點(diǎn)像政治或宗教:人們強(qiáng)烈認(rèn)為他們的選擇是正確的,并且經(jīng)常對(duì)不同的觀點(diǎn)視而不見(我覺得這很有趣)。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2015-02-05 11:28:22

Docker應(yīng)用程序容器操作系統(tǒng)級(jí)虛擬化

2020-05-15 14:11:16

樹莓派操作系統(tǒng)Linux

2020-05-12 10:06:52

JavaScript開發(fā)框架

2009-12-16 14:45:35

Linux操作系統(tǒng)

2017-12-26 08:54:52

蘋果開源操作系統(tǒng)

2020-03-30 09:00:00

WebJava框架

2023-09-23 15:52:21

Linux白板應(yīng)用程序

2011-08-10 10:57:03

2021-07-27 09:00:00

開發(fā)Web軟件

2011-11-29 16:07:36

移動(dòng)Web開發(fā)框架移動(dòng)開發(fā)

2011-07-26 11:13:15

iPhone PXL

2023-11-07 11:55:20

2020-12-02 17:58:33

LinuxKubernetes操作系統(tǒng)

2012-03-09 17:30:28

ibmdw

2022-05-26 08:00:00

Linux白板應(yīng)用程序

2009-06-14 18:06:06

ibmdwWebSphere

2024-09-26 12:56:08

2023-10-27 12:11:33

2010-02-07 13:45:12

Android操作系統(tǒng)

2011-04-13 17:31:33

點(diǎn)贊
收藏

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