标签: heap

在运行时设置JVM堆大小

有没有办法从正在运行的Java程序中设置堆大小?

java heap jvm runtime

60
推荐指数
3
解决办法
5万
查看次数

什么是Python的heapq模块?

我尝试了"heapq"并得出结论,我的期望与我在屏幕上看到的不同.我需要有人解释它是如何工作的以及它在哪里有用.

从第2.2 节中的本周Python模块一书中可以看出

如果在添加和删除值时需要维护排序列表,请查看heapq.通过使用heapq中的函数来添加或删除列表中的项,您可以以较低的开销维护列表的排序顺序.

这就是我所做的和得到的.

import heapq
heap = []

for i in range(10):
    heap.append(i)

heap
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

heapq.heapify(heap)    
heapq.heappush(heap, 10)    
heap
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

heapq.heappop(heap)
0    
heap
[1, 3, 2, 7, 4, 5, 6, 10, 8, 9] <<< Why the list does not remain sorted?

heapq.heappushpop(heap, 11)
1
heap
[2, 3, 5, 7, 4, 11, 6, 10, 8, 9] …
Run Code Online (Sandbox Code Playgroud)

python heap python-module data-structures

59
推荐指数
3
解决办法
5万
查看次数

在堆栈上分配的变量上调用delete

忽略编程风格和设计,在堆栈上分配的变量上调用delete是"安全的"吗?

例如:

   int nAmount;
   delete &nAmount;
Run Code Online (Sandbox Code Playgroud)

要么

class sample
{
public:
    sample();
    ~sample() { delete &nAmount;}
    int nAmount;
}
Run Code Online (Sandbox Code Playgroud)

c++ heap stack delete-operator

56
推荐指数
6
解决办法
5万
查看次数

堆叠和堆碰撞时会发生什么

我很想知道堆栈和堆碰撞时会发生什么.如果有人遇到过这个,请他们解释一下这个场景.

提前致谢.

c c++ memory heap stack

55
推荐指数
4
解决办法
1万
查看次数

针对Java的堆分析工具的建议?

列出您最喜欢的堆分析工具(例如jprofiler,jmap,...).让我们为每个答案保留一个工具,并列出每个工具的优缺点.

java memory heap profiling

55
推荐指数
4
解决办法
8万
查看次数

Java原语是在堆栈还是堆上?

我只知道非基元(对象)进入堆,方法进入堆栈,但原始变量呢?

--update

根据答案,我可以说堆可以有一个新的堆栈和给定对象的堆?鉴于该对象将具有原始和引用变量..?

java heap stack

55
推荐指数
4
解决办法
3万
查看次数

Jmap无法连接进行转储

我们有一个应用程序的公开测试版,偶尔会导致堆空间溢出.JVM通过永久度假来做出反应.

为了分析这一点,我想在失败的时候窥视记忆.Java不希望我这样做.该过程仍在内存中,但它似乎不被认为是一个java进程.

有问题的服务器是debian Lenny服务器,Java 6u14

/opt/jdk/bin# ./jmap -F -dump:format=b,file=/tmp/apidump.hprof 11175
Attaching to process ID 11175, please wait...
sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypeEntryTypeNameOffset" in any of the known library names (libjvm.so, libjvm_g.so, gamma_g)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:390)
at sun.jvm.hotspot.HotSpotTypeDataBase.getLongValueFromProcess(HotSpotTypeDataBase.java:371)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:102)
at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:85)
at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:568)
at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:494)
at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:332)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.tools.jmap.JMap.runTool(JMap.java:179)
at sun.tools.jmap.JMap.main(JMap.java:110)
Debugger attached successfully.
sun.jvm.hotspot.tools.HeapDumper requires a java VM process/core!
Run Code Online (Sandbox Code Playgroud)

java heap jvm

54
推荐指数
6
解决办法
7万
查看次数

如何在Eclipse中增加应用程序堆大小?

有人说我需要在运行配置中为我的应用程序执行此操作.当我打开那个窗口时,你能告诉我如何设置正确的参数和内存量吗?说如何设置2GB或1.5GB?

eclipse heap jvm

54
推荐指数
3
解决办法
15万
查看次数

如何查看应用程序正在使用的当前堆大小?

我认为我在NetBeans中将堆大小增加到1 GB,因为我将配置更改为如下所示:

netbeans_default_options="-J-Xmx1g ......
Run Code Online (Sandbox Code Playgroud)

重新启动NetBeans后,我现在可以确定我的应用程序是1 GB吗?

有没有办法验证这个?

java heap netbeans heap-memory

53
推荐指数
4
解决办法
9万
查看次数

Websphere中javacore,线程转储和堆转储之间的区别

有人能告诉我javacore,线程转储和堆转储之间的确切区别吗?在哪种情况下使用这些?

java heap websphere multithreading dump

52
推荐指数
2
解决办法
10万
查看次数