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;