博客 / 列表

湯卜 - 系統莫名崩潰:日常Runtime.exec()創建進程不管理的系統崩潰隱患

前言 Runtime.exec()創建用的過於頻繁,而進程有一套複雜的管理模式註定新啓的進程並不可以直接忽略不管。在執行常駐進程的時候必須對新建進程加以管理。生產環境過量資源的浪費、阻塞會導致程序卡死系統崩潰。 以下是本文創建進程的實踐: 複雜系統命令使用字符串數組傳遞參數 生產環境進程關閉標準輸入輸出、新建進程必須及時處理流的緩衝區。 java創建進程必須調用process.waitFo

操作系統 , 進程 , JAVA , 崩潰分析 , 程序員

湯卜 - 請求在tomcat源碼中的流轉(源碼分析篇)

Connector的初始化 catalina解析server.xml是通過degister來實現的,degister解析到Connector標籤後做的事情如下代碼所見 ConnectorCreateRule @Override public void begin(String namespace, String name, Attributes attributes)

tomcat , 架構 , 源碼分析 , JAVA , nio

湯卜 - 請求在Tomcat源碼中的流轉(基礎篇)

前言 Tomcat作為Java開發者接觸過最重要的web容器,在啓動和處理請求過程中做了海量的事情,初級開發者很少關心,使用SpringMvc之類上層框架一帶而過,然而這些部分是Java和網絡集大成之作,筆者要帶着大家走一遍一次請求,加深tomcat的認知。最好先調試好Tomcat源碼 Tomcat基礎架構 BootStrap和Catalina BootStrap BootStrap就是Tomca

tomcat , 架構 , 源碼分析 , JAVA , nio