Java「雙括號初始化」的不起眼之處,隱藏了帶有實例初始化器的匿名內部類別的創建,以方便毫不費力物件構造。儘管這種誘人的簡單性,但人們仍然擔心其潛在的性能影響和過多的文件生成。
進行的實驗揭示了雙括號初始化和直接列表實例化之間明顯的效能差距。值得注意的是,與透過直接實例化實現的快速初始化相比,雙括號初始化的執行時間約為 190 毫秒。
與雙括號初始化相關的一個缺點是擴散它產生的類別檔案的數量。這可能會導致程式 jar 檔案膨脹並且類別載入速度稍慢。此外,由於載入到 Java 虛擬機器中的類別較多,雙大括號初始化可能會引入記憶體開銷。
雖然雙大括號初始化語法在技術上是合理的,但它可能對於生產程式碼來說被認為是不必要的晦澀難懂。然而,它仍然是探索 Java 語義細節或展示其表達能力的寶貴工具。
考慮替代方案,例如 Arrays.asList、varargs 方法和 Google Collections 的簡潔方法列出構造符號。此外,Java 9 引入了一種方便的設定文字語法,完全消除了雙括號初始化的需要。
以上是Java 的雙括號初始化是否有效率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!