小编Don*_*nie的帖子

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

我总是假设堆(数据结构)用于实现堆(动态内存分配),但我被告知我错了.

通常情况下,如何实现堆(例如,通过典型malloc例程或Windows 实现的堆HeapCreate)?他们使用什么数据结构?

不是要问:

在线搜索时,我已经看到了大量关于如何实施严格限制的堆的描述.
仅举几例,我已经看到了很多关于如何实现的描述:

  • 永远不会将内存释放回操作系统的堆(!)
  • 堆只能在小型,类似大小的块上提供合理的性能
  • 堆只能为大型连续块提供合理的性能
  • 等等

而这很有趣,他们都避开更难的问题:
如何是"正常"的,通用的堆(如一个在后面malloc,HeapCreate)来实现?

他们使用什么数据结构(可能还有算法)?

heap memory-management data-structures

25
推荐指数
2
解决办法
1万
查看次数

Java短路评估

我认为Java有短路评估,但这一行仍然抛出一个空指针异常:

if( (perfectAgent != null) && (perfectAgent.getAddress().equals(entry.getKey())) ) {
Run Code Online (Sandbox Code Playgroud)

在这种情况下perfectAgentnull,所以我只是希望整个表达式返回false,但我的应用程序与一个NullPointerException这条线仍然会崩溃.

编辑,一般回复:

由于perfectAgentIS null,没什么的权&&应该被执行,因为这是不可能的表达是真实的.更重要的是,它不可能执行,perfectAgent.getAddress()因为perfectAgent它不包含有效的引用(它是null和all).我正在尝试使用短路评估,而不必在单独的语句中检查null,因为这会使逻辑变得更加草率.

编辑2(或者,我是一个白痴):是的,就像生活中的许多事情一样,在向世人宣布你是个白痴之后,你就找到了答案.在这种情况下,我在执行其他操作时关闭了Eclipse的autobuild而没有将其重新打开,因此我调试了与我的源不匹配的类文件.

java short-circuiting logical-operators

17
推荐指数
3
解决办法
9984
查看次数

UPDATE sql for DB2中的INNER JOIN

有没有办法在DB2的update语句中使用连接?

谷歌真的让我失望了

这大致是我想要实现的目标(......除了明显的工作......)

update file1 inner join file2                                 
       on substr(file1.firstfield,10,20) = substr(file2.anotherfield,1,10)                                                                    
set file1.firstfield = ( 'BIT OF TEXT' concat file2.something )                                                                             
where file1.firstfield like 'BLAH%'                             
Run Code Online (Sandbox Code Playgroud)

干杯

sql db2

13
推荐指数
6
解决办法
10万
查看次数

Derived类中的抽象方法覆盖,如何使私有

嗨我有一个类"A"与抽象方法

protected abstract List<Contributor> GetContributors(List<SyndicationPerson> contributersList);
Run Code Online (Sandbox Code Playgroud)

我想在以下条件下在派生类"B"中覆盖此方法

  • 它应该是B类私人的.

编译器不允许我在派生类"B"中将此方法声明为私有什么是正确的语法?

c# oop overriding private abstract-methods

7
推荐指数
1
解决办法
4564
查看次数

在sql函数中声明变量

我有一个sql函数,我需要在该函数中声明几个变量.请告诉我如何实现这一目标.

例如,我需要把 - >

Declare @ClientResult TABLE(
        RowIndex int identity(1,1),
        SplitText varchar(50) 
    )  
Run Code Online (Sandbox Code Playgroud)

在下面的功能.

create FUNCTION [dbo].CLIENT_SHIPPINGREPORTDATA_Function_Test  
(                    
 @CLIENTPK_NEW TABLE,
 @CGNEEPK TABLE
 @type varchar(100)              
)                 
RETURNS TABLE                    
AS              

RETURN                 

SELECT   distinct              
OP_PartNum,            
OP_PK       
FROM Client_whsPallet pallet                 
Run Code Online (Sandbox Code Playgroud)

我正在使用sql server 2005

谢谢

sql sql-server-2005

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

什么时候不用matlab进行矢量化?

我正在研究一些处理大型(但不是很大)数据集的matlab代码:10,000个784个元素向量(非稀疏),并计算有关存储在10,000x10稀疏矩阵中的信息.为了使代码工作,我迭代地完成了一些棘手的部分,对10k项进行循环处理,并在稀疏矩阵中的10个项上进行循环以进行清理.

我的过程最初进行了73次迭代(因此,大约730k循环)进行处理,并在大约120秒内运行.不错,但这是matlab,所以我开始对它进行矢量化以加快速度.

最后,我有一个完全矢量化的解决方案得到了相同的答案(所以它是正确的,或者至少和我的初始解决方案一样正确),但是运行需要274秒,它几乎快一半!

这是我第一次遇到matlab代码,它运行速度比迭代运行速度慢.是否有任何经验法则或最佳实践来确定何时可能/可能?

我很乐意分享一些反馈的代码,但这是针对目前开放的学校作业,所以我现在真的不能.如果它最终成为其中之一"哇,这很奇怪,你可能做了一些错误的事情"我可能会在一两周内重新审视这一点,看看我的矢量化是否以某种方式关闭.

optimization matlab

6
推荐指数
2
解决办法
645
查看次数

WPF控件在窗口中的位置?

在应用了所有当前的RenderTransforms 之后,有没有办法让WPF控件的当前渲染位置成为窗口?我可能只是失明,但我没有看到明显的方法.

.net c# wpf

6
推荐指数
1
解决办法
9816
查看次数

struct x vs x_t in C

In my recent operating systems class we have a bunch of objects defined as such:

typedef struct someobj {
  ... stuff ...
} someobj_t;
Run Code Online (Sandbox Code Playgroud)

I know what that does just fine.

The question is that sometimes in the given support code the structs were refered to as struct someobj *some, and sometimes as someobj_t *some. Is there an actual/useful reason to refer to structs in these two different ways, or is just a stylistic difference?

c struct

5
推荐指数
2
解决办法
893
查看次数

需要帮助在许多一个字母不同的单词之间创建一个单词梯(java)

我已经在这个问题上付出了很多努力,而且我真的很接近尾声.总体目标是在两个五个字母单词之间创建最小长度的单词梯子,其中梯子的每个"梯级"是与前一个单词不同的一个字母.例如:

[heads, heals, hells, halls, hails, tails]
Run Code Online (Sandbox Code Playgroud)

程序从必须输入开始和结束字以及所需梯形图的长度开始,程序必须解决它.我已经相当远了,所以我将把大部分细节都解释一下,以解释我目前的情况.

说我要从"辣妹"到"孩子",我正在寻找一个10个字母的字梯.

我有几千双字,其中两对是彼此不同的一个字母.这里只是一些对的一小部分样本.

[(bares, babes), (banes, babes), (bates, babes), (babel, babes), (bases, babes), (bales, babes)...] etc.
Run Code Online (Sandbox Code Playgroud)

这种情况持续了很长时间,但在那里保证我的目的词存在,并且我的起始词(辣妹)和我的结束词(孩子)之间有一条路径,那个梯子是10个字长.

我该如何做到这一点?

编辑:我已经实现了一个图表,并使用BFS从开始到结束的单词,这是有效的.

public List<T> minLengthPath(T src, T dest, int length) 
{
    T start = src;

    Deque<T> queue = new LinkedList<T>();                       //Holds items to visit
    Queue<List<T>> ladder = new LinkedList<List<T>>();      //Holds all the ladders?
    Set<T> checker = new HashSet<T>();                          //Holds visited items

    queue.add(start);
    checker.add(start);

    while(!queue.isEmpty()){
        T slot = queue.remove();
        if(slot.equals(dest)) 
        { 
            System.out.println(slot);
            return null;  //Should be returning …
Run Code Online (Sandbox Code Playgroud)

java algorithm

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

onBackPressed()没有被执行

我正在我的活动中实现onBackPressed()方法.我的应用程序拥有此功能至关重要.但是,控件永远不会进入此功能.当我按下后退按钮时,它会进入onPause().

但问题是我在onPause()中不能有相同的逻辑,因为当我调用另一个活动时,当前活动调用onPause()并且我不希望它执行onBackPressed()中的内容.

请帮忙.

public void onBackPresed(){

   Log.d(TAG,"inside onBackPressed()");
       if(STATE == PREVIEW){

       } 
}
Run Code Online (Sandbox Code Playgroud)

android

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

如何使用XNA在C#中显示数字和文本?

我正在制作一个乒乓球克隆,我想在屏幕上显示玩家得分.我不知道如何显示它.

c# xna

2
推荐指数
1
解决办法
9773
查看次数

检测Windows中的日期/时间格式更改

我有一个长时间运行(并且几乎总是显示)的应用程序,它显示当前时间.目前,如果您更改时区,时间格式或语言格式不会更改,除非我退出并重新启动应用程序.如何检测这些更改以便立即刷新格式?

请注意,这是本机的,而不是托管代码(我不能改变它),所以任何只管理的东西都是正确的.

windows winapi windows-runtime

2
推荐指数
1
解决办法
306
查看次数