如何檢查數(shù)組(未排序)是否包含某個(gè)值?這是 Java 中非常有用且經(jīng)常使用的操作。這也是 Stack Overflow 上投票最多的問題。如投票最多的答案所示,這可以通過幾種不同的方式完成,但時(shí)間復(fù)雜度可能大不相同。下面我將展示每種方法的時(shí)間成本。
Java 添加的?java.util.Optional?非常的受歡迎,并為總是不能返回非null值的方法提供了更流暢的代碼。很不幸的是,?Optional?已被濫用,一種濫用,甚至已被過度使用。當(dāng)與直接使用相比?null?沒有明顯優(yōu)勢(shì)時(shí),我偶爾會(huì)遇到使用?Optional的代碼。
JavaScript 世界提供了有用且有趣的 Web 框架,這是毫無(wú)疑問的。對(duì)于 Java 開發(fā)人員,有一個(gè)有趣的替代方案——開源Vaadin框架。有了它,您可以僅使用 Java 編程語(yǔ)言輕松地為 Web實(shí)現(xiàn)圖形用戶界面(GUI)。無(wú)需編寫一行 HTML 或 JavaScript。
這聽起來(lái)像是您永遠(yuǎn)不需要的東西,但有時(shí),當(dāng)您分發(fā)最終用戶軟件時(shí),您可能需要安裝 Java 程序作為 Windows 服務(wù)。一個(gè)很少人擁有的重要先決條件——擁有一個(gè)捆綁的 JRE,所以沒有人必須下載和安裝一個(gè)JRE(會(huì)使安裝過程不必要地復(fù)雜化,并且目標(biāo)受眾不一定精通技術(shù))。
許多庫(kù)包裝了一些外部通信。無(wú)論是類 REST 的 API、消息隊(duì)列、數(shù)據(jù)庫(kù)、郵件服務(wù)器還是其他東西。因此,您必須有一些超時(shí)時(shí)間——用于連接、讀取、寫入或空閑。遺憾的是,許多庫(kù)的默認(rèn)超時(shí)設(shè)置為“0”或“-1”,這意味著無(wú)窮大。
Spring Boot Admin 是一個(gè)很不錯(cuò)的儀表板,用于監(jiān)控您的 Spring Boot 應(yīng)用程序。然而,設(shè)置它并不是那么簡(jiǎn)單。