小编101*_*100的帖子

Thread.sleep()永远不会返回

Thread.sleep()在Java上遇到了一个奇怪的错误.出于某种原因,当我在某些机器上调用睡眠时,它永远不会返回.我无法弄清楚可能导致这种行为的原因.起初,我的错误可能是我的代码中的其他地方,所以我做了最简单的睡眠测试:

public class SleepTest {
    public static void main (String [] args) {
        System.out.println ("Before sleep...");
        try {
            Thread.sleep (100);
        } catch (InterruptedException e) {
        }
        System.out.println ("After sleep...");
    }
}
Run Code Online (Sandbox Code Playgroud)

在大多数机器上它都可以工作,但是在我远程登录的几台机器上,它会在打印语句之间无限期地暂停.我等了半个小时,行为没有变化.显示此错误的计算机是Linux计算机.以下是有关机器的一些信息:

$ uname -a
Linux zone29ea 2.6.32-220.17.1.el6.x86_64 #1 SMP Tue May 15 17:16:46 CDT 2012 x86_64 x86_64 x86_64 GNU/Linux
$ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

什么可能导致这种行为?

UPDATE

修订版仍然永远不会结束:

public class SleepTest {
    public …
Run Code Online (Sandbox Code Playgroud)

java sleep

20
推荐指数
1
解决办法
3502
查看次数

字典的枚举器<TKey,TValue>是否按照添加的顺序返回键值对?

我知道字典不是有序集合,不应该依赖于字典中插入和检索的顺序.

但是,这是我注意到的:

  • 为Dictionary添加了20个键值对
  • 通过做foreach(KeyValuePair ...)检索它们

检索顺序与添加顺序相同.测试了大约16个键值对.

这是设计的吗?

.net c# collections

17
推荐指数
2
解决办法
4009
查看次数

为什么我们需要对某些对象使用Dispose()方法?垃圾收集器为什么不这样做?

问题是:为什么我们需要调用Dispose()一些对象?为什么垃圾收集器在超出范围时收集它?我试图理解为什么它被实现的原因.我的意思是,如果Dispose()在垃圾收集器收集范围对象时调用它会不会更容易.

c# garbage-collection dispose

11
推荐指数
2
解决办法
3934
查看次数

从浮雕/浮雕图像获得近似深度图的算法

我试图从硬塑料身份证的照片中读取信息.作为第一步,我一直在尝试处理图片,使文本更具计算机可读性.这些照片相当清晰,但它们很棘手,因为它们一面是浅色而另一面是黑暗的.似乎应该可以使用此信息来创建深度图,然后可以将其转换为黑白图像.主要是,我想知道是否有一些已知的算法(越简单越好)我可以实现.我目前正在使用Python和PIL进行剩余的处理,但我能适应的任何实现都会很棒.

我正在使用的图像的一个小例子:

在此输入图像描述

algorithm image-manipulation image-processing

9
推荐指数
1
解决办法
990
查看次数

是否可以将struct的字段存储在与包含类相同的表中?

我目前正在使用Entity Framework 4和2011年6月的CTP(用于枚举支持),并且我很难在持久化类中嵌入结构体.我有一个Patient带有InclusionCriteriastruct字段的类(以及其他):

public class Patient
{
    public InclusionCriteria inclusionCriteria
    {
        get;
        set;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

结构非常简单,具有原始字段:

public struct InclusionCriteria
{
    public bool withStemi
    {
        get;
        set;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

运行系统后,很明显结构的数据没有被保存.当我查看生成的表时,结构不存在(作为外键或其他).我想结构的字段位于Patient表中,所以我没有DbSet为标准做出.我可能会这样做,但我宁愿把它全部放在同一张桌子上.这在实体框架中是否可行?

entity-framework

9
推荐指数
1
解决办法
2875
查看次数

更改HTML文本框:覆盖而不是作为用户类型插入

我正在开发一项允许编辑文本的服务.为了帮助用户完成此过程,我想允许用户将文本字段设置为覆盖模式,如Word中所示,等等.如何将HTML文本框的行为更改为覆盖而不是插入文本作为用户类型?

例如,如果文本框有文本:

This is a trst.
Run Code Online (Sandbox Code Playgroud)

用户可以在r和t之间单击,键入单个e,然后文本将是

This is a test.
Run Code Online (Sandbox Code Playgroud)

用光标es.之间的光标.我目前正在使用jQuery,因此使用该方法或纯javascript的方法将是首选.不过,我会接受任何合理的解决方案.

html javascript jquery

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

java:统一处理子类

假设我有这个:

abstract class Command {
  static void run (String[]argv) {}
}
class Slice extends Command {
  static void run (String[]argv) {/* slicing code */}
}
class Dice extends Command {
  static void run (String[]argv) {/* dicing code */}
}
Run Code Online (Sandbox Code Playgroud)

我希望能够迭代命令,所以我写道:

Class<Command>[] commands = {Slice.class,Dice.class}; /* compile error */
for (Class<Command> c : commands) {
  if (some_string.equals(c.getName()) {
    c.getDeclaredMethod("run",String[].class).invoke(argv);
    return;
  }
}
Run Code Online (Sandbox Code Playgroud)

然而,它似乎Slice.class并且Dice.class不能放入同一个容器中Class<Command>.

如果我更换Class<Command>Class无处不在,代码编译一个警告:

 [unchecked] unchecked call to getDeclaredMethod(java.lang.String,java.lang.Class<?>...) as a …
Run Code Online (Sandbox Code Playgroud)

java generics reflection

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