标签: heap

如何在PHP中堆排序?

我在php中编写有关堆排序的作业.我处境有点困难.请帮我.任何人建议我的代码.提前致谢.

php sorting heap

0
推荐指数
1
解决办法
4387
查看次数

eclipse中10000x10000 int数组的OutOfMemoryError

我写了一个小的临时程序来检查按行或列循环遍历二维数组的时间,因为我记得大数据集的一种方法更快,但我不记得哪种方式.当我运行我的程序时,我遇到了一个有趣的错误.

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at testing.ForLoopTest.main(ForLoopTest.java:10)
Run Code Online (Sandbox Code Playgroud)

现在在我的测试中,我使用在eclipse中使用默认堆设置运行的int [10000] [10000].我知道我可以增加堆大小,但我的直觉告诉我,这应该运行得很好而不需要我这样做.这是正常的吗?在我的代码中有些愚蠢的东西我没有看到吗?

这是我的代码

public static void main(String[] args){
    final int arrSize = 10000;
    long start = 0;
    long rowFirstTime = 0;
    long colFirstTime = 0;
    int[][] arr = new int[arrSize][arrSize];

    start = System.currentTimeMillis();
    for(int x = 0; x < arrSize; x++){
        for(int y = 0; y < arrSize; y++){
            arr[x][y] = -1;
        }
    }
    rowFirstTime = System.currentTimeMillis() - start;
    start = System.currentTimeMillis();
    for(int y = 0; y < …
Run Code Online (Sandbox Code Playgroud)

java arrays heap

0
推荐指数
1
解决办法
1382
查看次数

这段代码是不确定的行为?OS和堆怎么样?操作系统如何处理堆栈?

char * s;
s[400] = 'd';
Run Code Online (Sandbox Code Playgroud)

如果它不是未定义的行为,那么这是否意味着我不能随意访问堆栈外部RAM的任何部分?所以每次操作系统启动一个进程时,它都会分配一个RAM区域,我可以在那里做一些讨厌的东西(mallocs除外),因为操作系统会在进程完成后清理堆栈.

为什么操作系统在进程结束后无法清理堆?这是否意味着堆与所有其他进程共享?

如果我在堆栈中放入太多数据,那就是缓冲区溢出,但是我可以放入多少堆栈?是OS绑定,RAM大小绑定还是CPU缓存绑定?

c heap stack operating-system

0
推荐指数
1
解决办法
152
查看次数

字符串对象和堆

我正在攻读SCJP考试,我正在处理一系列问题.

一个问题的回答我不确定,希望有人能够帮我把这个问题放到一边.

这是问题,

鉴于:

11. public String makinStrings() {
12.    String s = "Fred";
13.    s = s + "47";
14.    s = s.substring(2, 5);
15.    s = s.toUpperCase();
16.    return s.toString();
17. }
Run Code Online (Sandbox Code Playgroud)

调用此方法时将创建多少个String 对象

A. 1
B. 2
C. 3
D. 4
E. 5
F. 6
Run Code Online (Sandbox Code Playgroud)

提前感谢您提供的任何帮助.我非常赞赏它.

java string heap object

0
推荐指数
1
解决办法
1197
查看次数

c在堆上创建一个字符串

我需要在堆上创建一个字符串,我想知道标准库中是否已经包含类似的内容,或者我是否必须自己实现它(使用malloc())?

c string heap string.h

0
推荐指数
1
解决办法
603
查看次数

可能是在C++中被视为"正在堆栈"的堆上创建的对象?

有代码:

struct FooBar
{
  FooBar()
  {
    MyObject obj;

    /// when c-tor is ended, obj must be deleted through d-tor call
  }
};
...
FooBar* fooBar(new FooBar);
Run Code Online (Sandbox Code Playgroud)

fooBar在堆上分配.但是对象MyObject obj里面FooBar的构造函数不知道它的创建位置.那么可以在被处理MyObject的上下文中实例化FooBar它就像在堆栈中创建的那样?

堆上分配的对象是否有自己的堆栈?这种堆栈的大小是多少?

c++ heap stack memory-management

0
推荐指数
1
解决办法
100
查看次数

可用的RAM iPhone应用程序

如何增加我的应用程序可以使用的可用内存(更具体:RAM的一部分)?我不是指iphone硬盘上的可用空间,而是指RAM.

有没有人知道是否有办法只为我的应用程序使用RAM的整个免费部分?

我必须清楚一点,对不起,如果它太模糊了:

我不得不考虑java堆大小,可以通过在java编程的启动命令中添加一个参数来增加它.我不知道,但目前在iphone上假设类似的事情发生(每个应用程序只有xxMB RAM执行)这个值可能是可调的,所以我可以使用整个剩余的RAM为我的应用程序.这几乎是我需要的特殊应用程序(非app-store-publication;文件大小在50MB到几个100MB之间)

iphone heap ram

0
推荐指数
1
解决办法
1314
查看次数

在Objective-C中使用指针?

每当Apple创建自己的自定义类时,它通常会创建一个指向对象的指针,而不是实际的对象本身.

例如,而不是做:

Class object
Run Code Online (Sandbox Code Playgroud)

他们经常这样做:

Class *object = [[Class alloc] init];
Run Code Online (Sandbox Code Playgroud)

为什么指针如此常用而不是将对象放在堆栈上?是否有一些技术原因,因为我没有看到这样做的任何直接好处.

编辑:如果Objective-C不支持堆栈上的对象,他们怎么能创建任何非指针?我的意思是我见过人们直接使用NSInteger.

memory heap stack objective-c

0
推荐指数
1
解决办法
109
查看次数

如何将对象放在堆之外的其他地方?

我们可以在堆之外的其他地方放置动态分配的对象吗?我将如何定义一个重载的新运算符?

如果我有一些类竞技场

 class Arena{
      char area[2000];
 public:
      Arena(){}
 };
Run Code Online (Sandbox Code Playgroud)

Arena my_arena(1000);

我想从Arena my_arena分配对象..

此外,与在性能等上从堆分配相比,这种内存分配有哪些可能的缺点?

c++ heap dynamic

0
推荐指数
1
解决办法
171
查看次数

在C++与Java或C#中回收堆内存的方式有何不同?

我知道C++有析构函数,Java/C#有垃圾收集器,但内存解除分配有什么区别?

c# c++ java memory heap

0
推荐指数
1
解决办法
367
查看次数