问题列表 - 第21269页

拆分字节数组

是否有可能从java中的字节数组中获取特定字节?

我有一个字节数组:

byte[] abc = new byte[512]; 
Run Code Online (Sandbox Code Playgroud)

我希望这个数组有3个不同的字节数组.

  1. 字节0-127
  2. 字节128-255
  3. byte256-511.

我试过abc.read(byte[], offset,length)但只有当我将偏移量设为0时才有效,对于任何其他值,它会引发IndexOutOfbounds异常.

我究竟做错了什么?

java arrays byte bytearray

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

资源管理类中的单元测试私有方法(C++)

我之前用另一个名字问了这个问题,但删除了它,因为我没有很好地解释它.

假设我有一个管理文件的类.假设此类将文件视为具有特定文件格式,并包含对此文件执行操作的方法:

class Foo {
    std::wstring fileName_;
public:
    Foo(const std::wstring& fileName) : fileName_(fileName)
    {
        //Construct a Foo here.
    };
    int getChecksum()
    {
        //Open the file and read some part of it

        //Long method to figure out what checksum it is.

        //Return the checksum.
    }
};
Run Code Online (Sandbox Code Playgroud)

假设我希望能够对计算校验和的这个类的部分进行单元测试.单元测试加载到文件中的类的部分是不切实际的,因为要测试getChecksum()方法的每个部分,我可能需要构建40或50个文件!

现在假设我想在类中的其他地方重用校验和方法.我提取方法,使它现在看起来像这样:

class Foo {
    std::wstring fileName_;
    static int calculateChecksum(const std::vector<unsigned char> &fileBytes)
    {
        //Long method to figure out what checksum it is.
    }
public:
    Foo(const std::wstring& fileName) : fileName_(fileName)
    {
        //Construct a …
Run Code Online (Sandbox Code Playgroud)

c++ unit-testing raii boost-test

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

如何将Mercurial标签嵌入到我的C/C++代码中?

我想知道是否有办法将Mercurial标签嵌入到我的C/C++代码中.

基本上我希望标签字符串最终成为一个版本号(major.minor.rev),自动插入我的C代码的确定位置作为静态字符串.

总体目标是,在使用'-v'命令行参数执行时,可以查询应用程序的版本号.任何不涉及尝试嵌入Mercurial标签的替代方法也将作为答案受到欢迎.

我在Linux环境中使用Code :: Blocks,因此解决方案不能依赖Visual Studio功能.

c c++ mercurial codeblocks

8
推荐指数
2
解决办法
3724
查看次数

JavaScript中"this"的范围

我有一个JavaScript类,如下所示:

function SomeFunction()
{
    this.doSomething(function()
    {
        this.doSomethingElse();
    });

    this.doSomethingElse = function()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

此代码抛出一个错误,因为传递给doSomething()的函数内部的"this"范围与该函数外部的"this"范围不同.

我理解为什么会这样,但处理这个问题的最佳方法是什么?这就是我最终做的事情:

function SomeFunction()
{
    var thisObject = this;

    this.doSomething(function()
    {
        thisObject.doSomethingElse();
    });

    this.doSomethingElse = function()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

这很好,但它只是感觉像一个黑客.只是想知道某人是否有更好的方法.

javascript

8
推荐指数
2
解决办法
692
查看次数

为什么迭代器(.Net)在此代码中不可靠

我有一个例子,每次我使用迭代器时我都可以使用它,但它可以在for循环中正常工作.所有代码都使用执行方法的本地变量.我很难过.有一个关于迭代器的事实我不知道,或者.Net中有一个诚实的善良错误.我打赌前者.请帮助.

此代码每次都可靠地工作.它一次一个地循环(假设10)所有元素并启动一个新线程,将整数作为方法中的参数传递给新线程.它启动10个线程,每个项目一个.1,2,3,4,5,6,7,8,9,10 - 这总是有效的.

工作代码:

//lstDMSID is a populated List<int> with 10 elements.
for(int i=0; i<lstDMSID.Count; i++) 
{
    int dmsId = lstDMSID[i];
    ThreadStart ts = delegate
    {
        // Perform some isolated work with the integer
        DoThreadWork(dmsId);  
    };
    Thread thr = new Thread(ts);
    thr.Name = dmsId.ToString();
    thr.Start();
 }
Run Code Online (Sandbox Code Playgroud)

而这段代码实际上重复了元素.它一次迭代(比如说10)所有元素并开始一个新线程.它启动10个线程,但它不能可靠地获得所有10个整数.我看到它开始1,2,3,3,6,7,7,8,9,10.我正在失去数字.

忙碌的代码:

//lstDMSID is a populated List<int> with 10 elements.
foreach(int dmsId in lstDMSID) 
{
    ThreadStart ts = delegate
    {
        // Perform some isolated work with the integer
         DoThreadWork(dmsId);
    };
    Thread thr = …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

我应该将此新列添加到customers表还是单独的新表中?

我有一个客户表,其中包含有关我们客户的信息(ID,登录名,姓名,联系信息,不同选项,TS列等,约15列,〜几百个客户).

现在我们需要向我们最大的客户发送每日更新(<10%的客户).我需要存储发送给客户的最新更新的时间戳,所以下次我只发送新的更新(我的意思是在TS大于存储的TS的订单行中更新).

如果我将一个新列"LastUpdatesSentTS"添加到customers表中,那么,据我所知,它将符合规范化规则(如果没有,请提供证明它将破坏规范化的链接).

但是,正如我也知道,从物理数据库设计的角度,最好是创建2列[客户,LastUpdatesSentTS]新表,因为客户只有不到10%的有TS存储的信息.我的意思是,如果我将列添加到customers表 - 大多数客户在该列中将为null.另外,如果我创建一个单独的新表,也许这将是更好地从客户表中删除布尔列"SendUpdates"(因为我将能够了解哪些客户需要更新,通过连接客户表,新表发送).此外,在这种情况下,我担心在几年内我会有一堆非常小的表,当它全部可以在客户表中(没有按照我的理解打破规范化).

简单来说,我看到了两种可能的表格设计:

1)

Table customers:  
[CustomerID, Name, ..., SendUpdates, LastUpdatesSentTS]
Run Code Online (Sandbox Code Playgroud)

2)

Table customers:  
[CustomerID, Name, ...]  
Table customer_updates_sending:
[CustomerID, LastUpdatesSentTS]
Run Code Online (Sandbox Code Playgroud)

你怎么看?

mysql sql database sql-server database-design

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

适当的矢量内存管理

我正在制作一个游戏,我有一个子弹飞来飞去.子弹完成后,我做bullets.erase(bullets.begin()+ i); 然后子弹消失了.然而,它似乎没有得到记忆棒.如果我创造了5000个子弹,那么在这些子弹消失之后再创建5,000个子弹,内存保持不变,但如果我创造5000多个,而这些5000个飞行,它将分配新的空间.我该怎么办才能真正释放这段记忆?

c++ memory-management vector

8
推荐指数
1
解决办法
2573
查看次数

如何从Java程序中获取JVM的最小和最大堆大小设置

如何从Java程序中获取VM的最小和最大堆大小设置?

java memory heap

10
推荐指数
1
解决办法
3093
查看次数

如何在iphone中的表格单元格内显示多行文字?

我是iphone开发的新手.我正在解析一个xml文件并在表格的每一行显示标题,日期,视图和摘要.摘要的内容很大,所以在单元格中只显示前3个单词.我增加了行的高度.我的单元格中显示了3个单词.如何在单元格中正确显示,并且应显示完整的内容.请帮助我.谢谢.

iphone objective-c cell multiline

3
推荐指数
1
解决办法
1363
查看次数

如何判断Java类是否是抽象的?

是否有一种方法可以告诉Java类是否是抽象的?(除了尝试实例化并捕获错误)谢谢!

java abstract-class

14
推荐指数
1
解决办法
3922
查看次数