解決Java啟動慢等長期痛點的Leyden專案已經啟動
本專案的最終目標是為了解決Java啟動時間慢、效能達到峰值的時間慢以及佔用空間大等長期痛點。
在討論徵集中,我建議我們通過在Java平臺和JDK中引入靜態執行時映象(static run-time images )的概念來解決這些痛點。
- 靜態映象是一個獨立的程式,由一個應用程式和一個JDK衍生而來,執行該應用程式,而不是其他程式。
- 靜態映象在它可以載入的類方面是一個封閉的世界。在執行時,它不能從映象之外載入類,也不能動態地建立類。
這個封閉世界的約束對Java的自然動態性施加了嚴格的限制,特別是對許多現有的Java庫和框架所依賴的執行時反射和類載入功能。不是所有的應用程式都適合這種約束,也不是所有的開發者都願意接受這種約束。
因此,我建議我們不要一開始就採用封閉世界的約束,而是採用一種漸進的、漸進的方法。
我們將探索一系列比封閉世界約束更弱的約束,並發現它們能帶來哪些優化。由此產生的優化幾乎肯定會比封閉世界的約束所帶來的優化要弱。然而,由於約束較弱,優化可能會適用於更廣泛的現有程式碼--因此它們對更多的開發者更有用。
我們將沿著這個約束譜系逐步開展工作,從小的和簡單的開始,以便我們能夠對Java平臺規範所需的變化有一個堅定的理解。當然,在這個過程中,我們將努力保持Java的核心價值,即可讀性、相容性和通用性。
我們將在很大程度上依靠JDK的現有元件,包括HotSpot JVM、C2編譯器、應用類-資料共享(CDS)和jlink連結工具。
從長遠來看,我們可能會接受完全的封閉世界的約束,以產生完全靜態的影像。然而,從現在到那時,我們將開發並提供漸進式的改進,開發人員可以儘早使用。
讓我們開始吧!
相關文章
- Oracle 正式啟動 “Leyden” 專案!在 Java 平臺引入“靜態映像”以解決執行緩慢等問題OracleJava
- 移動APP啟動慢解決實踐APP
- 解決weblogic啟動慢和建立域慢的方法Web
- tomcat啟動 ssm專案出現亂碼的解決TomcatSSM
- Java Leyden可3倍提高JVM啟動和預熱時間JavaJVM
- win10 photoshop啟動非常慢怎麼解決_win10 photoshop啟動非常慢優化方法Win10優化
- win10 photoshop啟動非常慢怎麼解決_win10 photoshop啟動非常慢最佳化方法Win10
- CentOS 7 下Tomcat啟動超慢的原因及解決方案CentOSTomcat
- 解決Chrome瀏覽器啟動速度慢的問題Chrome瀏覽器
- 利用 Arthas 解決啟動 StandbyNameNode 載入 EditLog 慢的問題
- 網際網路專項整治行動已啟動!聚焦彈窗欺騙等熱點難點問題
- Hive多視窗啟動異常(已解決!)Hive
- Mac啟動磁碟已滿該怎麼解決Mac
- win10電腦啟動慢怎麼回事 win10系統開機啟動速度慢的解決步驟Win10
- spring boot 2.0 專案啟動就關閉問題解決Spring Boot
- win10專業版啟動慢怎麼解決_win10開機慢如何修復Win10
- idea啟動專案oomIdeaOOM
- 專案應如何啟動?
- 今天啟動springboot專案 非常慢到DruidDataSource 這一步卡的慢Spring BootUI
- idea專案啟動報錯:java.lang.OutOfMemoryErrorIdeaJavaError
- Flutter已有專案匯入,沒法啟動Android模擬器的解決方法(iOS模擬器可以啟動)FlutterAndroidiOS
- kill 已啟動的程式
- 第一次使用jrebel啟動專案報錯解決
- springBoot快速搭建啟動專案Spring Boot
- Maven專案Spring Boot啟動MavenSpring Boot
- IDEA匯入專案—無法啟動main,註解顯示灰色解決IdeaAI
- java專案部署Linux伺服器幾種啟動方式總結經驗JavaLinux伺服器
- windows10系統下EXE程式啟動慢怎麼解決Windows
- 從啟動到收尾:詳解專案管理流程專案管理
- 解決 App 自動化測試的常見痛點APP
- 專案啟動指令碼的編寫指令碼
- 如何用Spring Boot解決專案啟動時初始化資源?Spring Boot
- 研發管理與專案管理:痛點及解決方案專案管理
- Java,啟動!Java
- 解決啟動openfeign報錯
- 解決SSL Network Extender服務已中止且無法啟動
- tomcat無法啟動的解決方法Tomcat
- windows10啟動慢怎麼辦_win10開機啟動慢的4個提升方法WindowsWin10