小编Hos*_*Aly的帖子

String.Join vs. StringBuilder:哪个更快?

之前关于格式化double[][]为CSV格式的问题中,Marc Gravell 表示使用StringBuilder将比使用更快String.Join.这是真的?

.net string performance stringbuilder

73
推荐指数
4
解决办法
5万
查看次数

服务器崩溃后MongoDB无法启动

我的Ubuntu计算机崩溃了,当我重新启动它时,MongoDB无法运行.我尝试了以下命令,并得到以下输出:

$ mongo
Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed

$ service mongodb status
mongodb stop/waiting

$ service mongodb restart
stop: Unknown instance: 
start: Rejected send message, 1 matched rules; type="method_call",
       sender=":1.57" (uid=1000 pid=2227 comm="start mongodb ")
       interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)"
       requested_reply="0"
       destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

$ tail /var/log/mongodb/mongodb.log
[initandlisten] exception in initAndListen: 12596 old lock file, terminating
dbexit: 
[initandlisten] shutdown: going to close listening sockets...
[initandlisten] shutdown: going to flush diaglog...
[initandlisten] shutdown: going to close …
Run Code Online (Sandbox Code Playgroud)

ubuntu administration mongodb

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

为什么.NET中的多维数组比普通数组慢?

编辑:我向大家道歉.我实际上想要说"多维数组"时使用了"锯齿状数组"一词(如下面的例子所示).我为使用错误的名字道歉.我实际上发现锯齿状阵列比多维阵列更快!我已经为锯齿状阵列添加了测量值.

我试图用一个 盘陀今天的多维数组,当我注意到它的性能并不像我预期的那样.使用单维数组和手动计算索引要比使用2D数组快得多(几乎两倍).我使用1024*1024数组(初始化为随机值)编写了一个测试 ,进行了1000次迭代,我在我的机器上得到了以下结果:

sum(double[], int): 2738 ms (100%)
sum(double[,]):     5019 ms (183%)
sum(double[][]):    2540 ms ( 93%)
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码:

public static double sum(double[] d, int l1) {
    // assuming the array is rectangular
    double sum = 0;
    int l2 = d.Length / l1;
    for (int i = 0; i < l1; ++i)
        for (int j = 0; j < l2; ++j)
            sum += d[i * l2 + j];
    return sum;
}

public static double sum(double[,] d) …
Run Code Online (Sandbox Code Playgroud)

.net arrays performance

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

在RSpec-2.11中使用带有`expect`的隐式`subject`

使用expectrspec-2.11中的新语法,如何使用隐式subject?有没有比明确引用更好的方法subject,如下所示?

describe User do
  it 'is valid' do
    expect(subject).to be_valid    # <<< can `subject` be implicit?
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby syntax rspec rspec2

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

在Java中,是否可以知道是否已经加载了一个类?

是否可以知道是否已加载Java类而不尝试加载它?Class.forName试图加载该类,但我不希望这种副作用.还有另外一种方法吗?

(我不想覆盖类加载器.我正在寻找一种相对简单的方法.)

java classloader

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

哪些递归函数不能使用循环重写?

据我所知,大多数递归函数可以使用循环重写.有些可能比其他人更难,但大多数都可以重写.

在哪些情况下,使用循环重写递归函数是不可能的(如果存在这样的条件)?

recursion

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

如何在C#中为泛型类创建别名?

如何在C#中执行以下操作?编写此代码段的第一行的正确方法是什么?

using KVP<K, V> = System.Collections.Generic.KeyValuePair<K, V>;

class C { KVP<int, string> x; }
Run Code Online (Sandbox Code Playgroud)

c# generics syntax

36
推荐指数
1
解决办法
3684
查看次数

如何将SVN项目作为Java项目签入Eclipse?

我试图使用Eclipse从SVN检查一个项目.我尝试使用"Checkout As"将其变为"来自现有Ant脚本的Java项目",但项目向导要求已经下载了该文件.有没有办法将项目签入Eclipse作为Java项目,而不必先将其下载到其他地方?

(我正在使用带有Subversive的Eclipse Ganymade 3.4.1.)

java eclipse svn ant subversive

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

如何在C#中检查(dis)连接(TCP)套接字?

我应该如何检查(TCP)套接字以确定它是否已连接?

我已经阅读了MSDN中Socket.Connected属性,但它说它只根据最后一个I/O显示状态.这对我没用,因为我想尝试从套接字读取之前这样做.备注部分还指出:

如果需要确定连接的当前状态,请进行非阻塞,零字节发送调用.如果调用成功返回或抛出WAEWOULDBLOCK错误代码(10035),则套接字仍然连接; 否则,套接字不再连接.

同一页面上的示例显示了如何执行此操作.(1)Ian Griffiths的帖子说我应该从套接字读取,而不是通过它发送.

Pete Duniho的另一篇文章说:

...在你打电话之后Shutdown(),打电话Receive()直到它返回0 (假设远程端点实际上不会向你发送任何东西,一旦远程端点收到你的所有数据就会发生这种情况).除非您这样做,否则您无法保证远程端点实际上已收到您发送的所有数据,即使使用延迟套接字也是如此.

我真的不明白他关于调用Receive()以确保远程端点实际上已经收到我发送的所有数据的说法.(套接字阻塞接收,直到发送缓冲区为空?)

我对提出的不同方法感到困惑.你能解释一下吗?


(1)但不知为何,例如Socket.Connected属性分配1字节的数组,即使它调用Send与0长度?

.net sockets

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

与连接表的一对多关系

我有一个使用连接表建模的一对多关系:

create table t1 (id int primary key, name varchar(10) /*...*/);
create table t2 (id int primary key, name varchar(10) /*...*/);
create table t1_t2 (t1_id int, t2_id int, primary key (t1, t2));
Run Code Online (Sandbox Code Playgroud)

这些表应该模拟一个t1到多个t2的关系.使用JPA对这些表建模的正确方法是什么?

java persistence jpa

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