排序
【Linux】進程信號的發送和保存
一、信號發送 信號動作 通過指令man -7 signal查看信號的手冊,可以找到普通信號發出后對應的操作、信號編號和詳細描述信息。 信號發送的本質 普通信號的發送本質上是將信號寫入進程的PCB結構體...
異常處理真的影響性能嗎?哪些場景下需要避免頻繁異常捕獲?
異常處理會影響性能,尤其在高頻觸發時。1. 異常拋出需堆棧展開、創建異常對象、上下文切換,帶來額外開銷;2. try-catch塊即使未拋異常也有輕微損耗;3. 高并發系統中頻繁捕獲異常會成瓶頸。應...
如何調試C++中的"stack corruption"運行時錯誤?
遇到“stack corruption”錯誤時,說明程序在函數調用棧上非法寫入,破壞了棧結構,排查可按以下步驟進行:1. 檢查局部變量越界訪問,尤其是使用不帶長度限制的函數操作數組,建議改用std::arra...
【Linux 進程控制】—— 進程亦生生不息:起于鴻蒙,守若空谷,歸于太虛
進程創建再識fork函數 在 linux中 fork 函數是非常重要的函數,它從已存在進程中創建?個新進程。創建出來的新進程叫做子進程,而原進程則稱為父進程。 在Linux參考手冊中,fork函數的原型如下...
如何實現熱更新(代碼無需重啟服務)?
熱更新可以通過多種方式在不同編程環境中實現。1)在java中,使用java agent和instrumentation api可以動態修改類文件。2)在javascript中,通過webpack和parcel的模塊熱替換(hmr)實現熱更新...
Flask應用如何區分客戶端錯誤(4xx)和服務端錯誤(5xx)的異常處理?
在flask應用中區分客戶端和服務端錯誤需手動實現,1.通過創建clienterror和servererror自定義異常類分別代表4xx和5xx錯誤;2.在視圖函數中根據業務邏輯拋出對應異常;3.使用app.errorhandler注...
Swoole的C++底層源碼解析
學習swoole的底層源碼是為了理解高性能網絡服務器的工作原理和優化性能及架構設計。通過學習,1) 掌握c++++在高并發環境下的應用技巧,2) 理解事件驅動模型的精髓,3) 學習利用操作系統特性提升...
Java開發者必備的VS Code插件有哪些?
vs code通過插件組合能成為強大的java開發工具,核心在于安裝微軟官方的java擴展包。該擴展包包含language support for java(提供智能補全、錯誤檢查)、debugger for java(調試功能)、test ...