memory-management

    0熱度

    2回答

    我一直在做一些閱讀delete[],new[],what-is-the-rule-of-three, deallocating-objects-stored-in-a-vector,delete-vector-class-member和遇到 拋出異常:讀取訪問衝突。 我已經定義的基類 class Person { private: std::string name; int

    0熱度

    1回答

    我的代碼崩潰與此錯誤消息 `執行 「的/ usr/bin中/ JAVA com.utils.BotFilter」 OpenJDK的64位服務器VM警告:INFO:os :: commit_memory(0x0000000357c80000,2712666112,0)失敗;錯誤='無法分配內存'(errno = 12) 沒有足夠的內存讓Java運行時環境繼續運行。 本機內存分配(malloc)未能爲

    -1熱度

    1回答

    我正在做一個函數在Arduino中將一個整數轉換成十六進制char *,但是我遇到了無法將字符串轉換爲char *的問題。也許如果有辦法爲char *動態分配內存,我不需要類String。 char *ToCharHEX(int x) { String s; int y = 0; int z = 1; do { if (x > 16

    0熱度

    1回答

    給定UnsafeMutablePointer的實例,在deallocate(capacity:)之前撥打deinitialize(count:)有什麼意義? 難道你只是打電話給deallocate(capacity:)? 我讀書節上raywenderlich.com「使用類型指針」的文章Unsafe Swift: Using Pointers And Interacting With C的時候看到

    2熱度

    2回答

    我試圖對內存進行優化,使我的服務器繼續運行到OOM中。 大多數在服務器中的對象(通過計數)的採取以下形式: 每個對象都是一個HashMap HashMap的鍵是字符串 HashMap中的值是屬性類的對象,其只有一個int和2個布爾值。 重要提示:95%的此類hashmaps只會有一個關鍵;我知道在創建散列表時是否是這種情況。 有數以百萬計的這些hashmaps。 我已經問過關於優化那些hashma

    0熱度

    1回答

    我有此代碼 int[] i = new int[127*1024]; 正在 int[] i = new int[128*1024]; 是投擲 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at memory.main(memory.java:123) 運行此使用的後續在一個64位的Windows機器,命

    11熱度

    1回答

    我有一個內存區域包裹着JNI NewDirectByteBuffer。我想在ByteBuffer的清潔程序中運行免費/發佈代碼。有沒有辦法做到這一點,或者我必須提供一個自定義的免費方法,用戶將不得不打電話給ByteBuffer? 編輯 爲了澄清,我分配的內存自己,並呼籲NewDirectByteBuffer自己。我想知道我應該如何協調清潔工的清理工作。

    4熱度

    3回答

    我不允許使用載體專門爲這個作業。我發現的大部分答案只是陳述「你應該使用矢量」作爲最受歡迎的評論。雖然我很欣賞並理解這一點,但我僅僅被限制使用它來完成這項任務。 它是一個C++分配與動態存儲器管理如下: // property in header declaration int numAnimals; int capacity; Animal** animals; void addAnima

    0熱度

    1回答

    我有一個池分配器,我寫作爲練習,它實現了C++ 11 std :: allocator需求啓動並運行,但工作正常,但我使用的策略爲基準(根據以下紙): https://pdfs.semanticscholar.org/4321/a91d635d023ab25a743c698be219edcdb1a3.pdf 是隻用於一次分配一個單獨的對象成具有足夠的大小,它存儲一個塊非常好。 我注意到std ::

    -1熱度

    1回答

    我在C中創建自定義內存分配器,但使用先前在其中分配的指針移動到我的「mem」數組中時遇到問題。我需要將一個索引移動到左邊,這樣我可以看到在我嘗試釋放的那個塊之前的塊是否爲空。但移動指針不能按我的意願工作。 那麼如何在指針之前移動一個索引? int main() { char mem[50]; char *pointer; char *ptr_toFree;