首页 文章
  • 8 votes
     answers
     views

    为什么YARN java堆空间内存错误?

    我想尝试在YARN中设置内存,所以我将尝试在yarn-site.xml和mapred-site.xml上配置一些参数 . 顺便说一句,我使用hadoop 2.6.0 . 但是,当我做mapreduce工作时,我收到一个错误 . 它像这样说: 15/03/12 10:57:23 INFO mapreduce.Job: Task Id : attempt_1426132548565_0001_m_00...
  • 0 votes
     answers
     views

    Apache Nutch solrindex插件使用Apache Solr 6.6的所有堆

    我已经配置了Nutch 2.3.1并将一些文件(300万)抓取到Solr 6.6.2 . Solr在单独的系统上配置了8 GB RAM(总RAM为12GB) . 当我通过Nutch运行 solrIndex 命令将文档索引到Solr时,由于ram问题,solr系统webadmin甚至变得无法访问,然后我必须重新启动solr或系统来解决它 . 问题是什么 . 我用 solr start -m 8g ...
  • 0 votes
     answers
     views

    C - 释放在另一个文件中分配的堆内存

    如果你有一个利用makefile编译多个文件和头文件的项目,这会使堆复杂化吗? 具体来说:我有一个包含 Headers 的 main.c 文件,比如 test.h . 在链接到 test.h 的 test.c 中,使用malloc显式分配内存 . main.c 调用 test.c 中的函数 . 出于某种原因,当我试图在 test.c 中的函数内释放内存时,我总是收到一个错误: main(65...
  • 25 votes
     answers
     views

    使用什么数据结构来实现动态内存分配堆?

    我总是假设heap (data structure)用于实现一个heap (dynamic memory allocation),但我've been told I'错了 . 通常情况下,如何实现堆(例如,典型的 malloc 例程或Windows的 HeapCreate 等实现的堆)?他们使用什么数据结构? 我不是要问: 在线搜索时,我已经看到了如何实施严格限制堆的描述 .仅举几例,我已经看到了...
  • 4 votes
     answers
     views

    用于响应本机应用的Heap Analytics

    Heap Analytics会自动跟踪所有事件,因此您可以事后分析数据,而无需事先手动定义所有事件 . 不幸的是,当与本机应用程序一起使用时,Heap似乎不会以这种方式工作 . 有没有人知道React Native iOS的分析解决方案,其中所有事件都是自动跟踪的,或者如何让Heap以这种方式工作而无需手动定义所有事件? 提前致谢 .
  • 0 votes
     answers
     views

    将二进制搜索树转换为数组BFT

    我希望将二叉树表示为一个数组,使得数组处于广度第一顺序,其中空值在数组中表示 . 我想 not 想要使用数组列表,但很乐意使用链表结构 . 我发现数组最大大小的大小为2 ^ n - 1,其中n是以下情况下树的高度: 5 / \ 4 6 / \ / \ 3 x x 7 /\ /\ /\...
  • 1 votes
     answers
     views

    如何证明从竞争二叉树到数组的转换?

    complete 二叉树可以有效地实现为数组,其中索引i处的节点具有索引 2i 和 2i+1 处的子节点以及索引 floor(i/2) 处的父节点,具有 one-based indexing . 如果子索引大于节点数,则子项不存在 . 我看到这些转换,但有 no formal proof of them ,可以给出严格的证据或链接,谢谢!
  • 12 votes
     answers
     views

    使用二叉树实现堆

    之前在Stack Exchange中已经提出过这个问题,但是没有得到答复 . 链接到之前提出的问题:Binary Heap Implemented via a Binary Tree Structure 如何在二叉树中实现堆 . 要实现堆,了解最后一个填充节点和第一个未占用节点非常重要 . 这可以在树的级别排序中完成,但是时间复杂度将是O(n)以便找到第一个未占用的节点 . 那么,如何在O(log...
  • 1 votes
     answers
     views

    二进制堆与二叉树C.

    我对二进制搜索树和二进制堆上的find_min操作的运行时有些困惑 . 我知道在二进制堆中返回min是一个O(1)操作 . 我也理解为什么理论上,返回二进制搜索树中的最小元素是O(log(N))操作 . 令我惊讶的是,当我读到C STL中的数据结构时,文档声明将迭代器返回到映射中的第一个元素(与返回最小元素相同)是在恒定时间内发生的!难道这不能以对数时间返回吗?我需要有人帮助我理解C在引擎盖下做什...
  • 2 votes
     answers
     views

    确定以节点为根的二叉树是否为最大堆[重复]

    这个问题在这里已有答案: How to test multiple variables against a value? 20个答案 我试图确定一个以节点为根的二叉树是否是一个最大堆,为此我按照堆属性的规则获取了一个max-heap,它指出: Max-heap: 所有节点都大于或等于其子节点 My Idea of the implementation: 如果在作为is_max_heap参数...
  • 5 votes
     answers
     views

    为什么我们通过堆而不是二进制搜索树进行排序?

    可以在O(n logn)时间内从列表构造堆,因为将元素插入堆需要O(logn)时间并且有n个元素 . 类似地,可以在O(n logn)时间内从列表构造二叉搜索树,因为将元素插入到BST中需要平均登录时间并且存在n个元素 . 从最小到最大遍历堆需要O(n logn)时间(因为我们必须弹出n个元素,并且每个pop需要O(logn)接收器操作) . 从最小到最大遍历BST需要O(n)时间(字面上只是顺序...
  • 1 votes
     answers
     views

    将元素插入此结构的摊销时间复杂度是多少?

    假设您使用数组实现堆,并且每次数组已满,您将其复制到其大小的两倍的数组 . 将元素插入堆中的摊销时间复杂度(最坏的情况)是多少? 我认为我们有 T(n) = n * n (这是最坏情况下n个操作序列的总成本的上限),然后根据一个公式的摊销复杂度是 T(n) / n = n^n / n = n . 但我认为这是非常错误的,因为从直觉上可以清楚地知道我应该得到 log(n) 或更低......所以我...
  • 1 votes
     answers
     views

    堆排序时间复杂性深刻理解

    当我在大学学习数据结构课程时,我学到了以下公理: 在最坏的情况下将新数字插入堆需要 O(logn) (取决于作为叶插入时它到达树中的高度) 使用 n 节点构建一堆 n 节点,从空堆开始,使用摊销分析求和为 O(n) 时间 在最坏情况下删除最小值需要 O(logn) 时间(取决于新顶节点在与最后一个叶子交换后达到的低点) 逐个删除所有最小值,直到堆为空,需要 O(nlogn) 时间复...
  • 6 votes
     answers
     views

    堆内存和平板分配

    我对 heap 和 free list 很困惑 . 我有几个问题,我对malloc如何在C中工作有我自己的理解 . 如果我错了,请纠正我 . 堆内存是否组织为数据块的链表(空闲列表)? 堆内存和空闲列表之间有区别吗? 我对存储分配的理解(可以改进): - 当我们调用malloc时,它会在堆中分配内存,并通过从 free list 中选择合适大小的数据块来实现,对吧? 当malloc返回...
  • 0 votes
     answers
     views

    使用任意节点类型在C中创建堆 . 如何释放它?

    要求对这种设计选择进行健全性检查 . 我正在通过创建一个可以接受字符串或数字的节点类型的堆数据结构在C中编写堆排序 . (我正在创建自己的私有堆,我可以排序) 堆中的节点是void *,它们被解引用以执行比较操作 . Heap结构在Heap.nodesize中存储每个节点的大小,如果节点是字符串,则为-1 . 插入节点时,将为void *分配内存 . 如果Heap.nodesize为-1,则将...
  • 122 votes
     answers
     views

    用于查找Java堆大小和内存的命令行工具(Linux)?

    是否有一个命令行工具(Linux)来检查Java应用程序的堆大小(和使用的内存)? 我试过jmap . 但它提供了信息 . 关于内部记忆区域,如Eden / PermGen等,这对我没用 . 我正在寻找类似的东西:最大内存:1GB最小内存:256 MB堆内存:700 MB使用的内存:460 MB 就这样 . 我知道我可以在JConsole等中看到这个,但我需要一个命令行工具(不能启用JMX等) 任...
  • 1 votes
     answers
     views

    如何从pid获取当前进程和其他进程堆的起始地址?

    如果ASLR在IOS中起作用并随机化堆的起始地址,那么如何从pid获取当前进程和其他进程堆的起始地址? 在随文件提供的aslr.c中:“iOS内核利用”,似乎你试图让当前进程的堆代码的起始地址自爆 . void* heap = malloc(0); 我测试代码,发现返回值并不完全相同 . 根据ISO / IEC 9899:TC2(即C99标准),§7.20.3规定: 如果请求的空间大小为零,则行...
  • 244 votes
     answers
     views

    无法为对象堆保留足够的空间

    每次尝试运行程序时,我都会收到以下异常 repeatedly . VM初始化期间发生错误无法为对象堆保留足够的空间无法创建Java虚拟机 . 我试图增加我的虚拟内存(页面大小)和RAM大小,但无济于事 . 任何人都可以告诉我如何消除此错误?
  • 2 votes
     answers
     views

    设置Xms Xmx时,Java堆空间不会增加,

    我在tomcat中部署了一个应用程序 . 我需要增加java堆大小以避免java堆空间错误 . 我在tomcat的bin目录中添加了setenv.sh和setenv.bat,内容如下:CATALINA_OPTS =“$ CATALINA_OPTS -server -Xms8192M -Xmx8192M -XX:PermSize = 512m -XX:MaxPermSize = 1024m” 但是当...
  • 4 votes
     answers
     views

    堆栈和堆在c锐利[重复]

    可能重复:当类存储在堆(.NET)上时,为什么结构存储在堆栈中? 任何人都可以告诉我如何分配内存以确定哪个对象存储在堆栈中以及哪些对象存储在内存的堆部分中?
  • 38 votes
     answers
     views

    堆栈和堆内存的大小[重复]

    可能重复:堆栈和堆的内容和位置是什么? 关于c程序中内存布局的基本概念,我理解: 该语言使用两个主要数据结构 stack 和 heap . 创建堆栈以存储子程序的局部变量和簿记数据 创建堆以存储程序的动态分配变量 堆本质上是可变长度的 . (在堆栈上不太确定) 通常,编译器/语言的责任是在执行之前请求OS创建这些数据结构 . 问题 创建堆栈/堆的初始大小是多少?谁...
  • 4 votes
     answers
     views

    Rust如何知道哪些类型拥有资源?

    当有一个指向某个堆分配内存的框指针时,我假设Rust拥有'hardcoded'所有权知识,因此当通过调用某个函数传输所有权时,将移动资源并且函数中的参数是新所有者 . 但是,例如,对于矢量,这是怎么发生的?他们的资源和所有权机制也适用于盒子指针 - 但它们是存储在变量本身的常规值,而不是指针 . 在这种情况下,Rust(知道)如何应用所有权机制? Can I make my own type wh...
  • 1 votes
     answers
     views

    c仅分配函数调用返回的struct的一部分

    我有以下结构: struct foo{ int a[4]; int b[4]; } 我有以下功能: foo get_foo() { foo ret_val; <..some assignments here..> return ret_val; } 现在,我的主要代码: void* process_a() { int* pa = ge...
  • 1 votes
     answers
     views

    这些堆栈分配还是堆分配? [重复]

    可能重复:这种类型的内存是在堆还是堆栈上分配的? class foo{ private: int bar; constructors and other members here... } 如果我使用new运算符创建一个 foo 的实例,它将被创建? 我猜,但我的 int bar; 在哪里创建,堆栈或堆? 如果我的 bar 不是原始数据类型而是另一个像 this->bar=bar();...
  • 10 votes
     answers
     views

    Java静态基元,对象,方法和堆(内存管理和最佳实践)

    好的,所以我已经用Java开发了一年多一点时间,并且正在努力深入学习语言及其最佳实践 . So here is what I know: Java“按类型传递” - 即通过副本传递的基元和通过副本传递的对象引用(引用指向堆上的对象) . 原始实例变量和引用存在于堆中的类对象中,而本地原语和引用存在于堆栈中(在它们各自的堆栈帧中) . Perm Gen.内存空间是存储类元数据的位置(用于...
  • 2 votes
     answers
     views

    Java堆和堆栈

    我想再次学习Java,因为我几年前就离开了 . 读一本书我在理解Java如何在堆中和堆栈中分配内存时遇到了问题 . 这就是我所理解的 - 我会尝试用例子来谈论它 . class TestA { int a; void methodA(int b) { a = b; } int getA() { return a; } } ...
  • 0 votes
     answers
     views

    堆栈和堆和垃圾收集器

    Headers 可能有点不正确,但它的Stack&Heap和Garbage Collector也是如此 . 我的代码: static void Main(string[] args) { MyInt x = new MyInt(); x.MyValue = 3; MyInt y = new MyInt(); y = x; ...
  • 0 votes
     answers
     views

    在运行时在堆上分配缓冲区

    我通过编写简单的二进制解码器来学习Rust . 我正在使用带有byteorder crate的 BufferedReader 来读取数字,但是我在读取字节缓冲区方面遇到了问题 . 我想将字节数据读入运行时分配的缓冲区 . 然后我想将此缓冲区的所有权传递给结构 . 当struct不再使用时,应该释放缓冲区 . 似乎没有办法在堆上分配具有在运行时确定的大小的数组,除了一些 Vec::with_capa...
  • 1 votes
     answers
     views

    堆内存:8字节结构的16字节间隙

    我正在使用以下代码创建新节点并将其插入到链接列表中,随后将其释放 . // the node struct node { int data; struct node *next; }; // returns a pointer to a new node with data struct node *new_node(int data) { struct node *n...
  • 0 votes
     answers
     views

    如何键入将结构转换为已分配的char内存空间

    我试图使用堆上一段内存的前几个字节来存储使用C语言(而不是C)的段内存的元数据 . 使用以下内容创建堆空间: char* start_mem = (char*)malloc(10*sizeof(char)); //10 bytes of memory 现在,我试图在分配的堆空间的前4个字节中放置一个'meta'结构 . typedef struct{ int test; }meta_t;...

热门问题