小编Fre*_*Man的帖子

Netbeans中的"转换为资源试用" - 酷豆?

我在Netbeans 7.1.2中有以下代码:

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filename));
bos.write(newRawData);
bos.close();
Run Code Online (Sandbox Code Playgroud)

警告表明我"转换为尝试资源".当我选择这样做时,我的代码变为:

try (BufferedOutputStream bufferedFos = new BufferedOutputStream(new FileOutputStream(filename))) {
        bufferedFos.write(newRawData);
    }
Run Code Online (Sandbox Code Playgroud)

这类似于在C#中使用(...)的语法...它们的工作方式是否相同?使用第二种格式有什么缺点吗?我担心没有bos.close();,但是这种格式根本没有必要吗?

java netbeans

10
推荐指数
2
解决办法
8110
查看次数

在线性时间内在二进制图像中查找特定索引?

我有一个640x480的二进制图像(0s和255s).图像中有一个白色的斑点(接近圆形),我想找到斑点的质心(它总是凸起的).基本上,我们正在处理的是2D布尔矩阵.如果可能的话,我希望运行时线性或更好 - 这可能吗?

到目前为止有两条思路:

  1. 利用这个numpy.where()功能
  2. 对每列和每行中的值求和,然后根据这些数字找出最大值的位置......但有一种快速有效的方法吗?这可能只是我对python相对较新的一个例子.

python boolean numpy image-processing python-imaging-library

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

为什么ArrayList和HashMap等类不同步?

我正在更新一个旧项目,我想知道是否应该在IDE中删除一些标记为"过时"的对象.有问题的对象是Vector和Hashtable.我做了一些研究,看起来这些对象的新对应物 - ArrayList和HashMap - 基本相同,只是没有同步.

我的问题是,为什么要进行切换?我不是只是从我的应用程序中取走一点安全性以换取少量速度吗?看起来这不是一个巨大的决定,但我想我会在做出决定之前看看是否值得花时间.

谢谢!

java synchronization arraylist hashmap

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

只有"静态"的方法签名如何工作?

可能重复:
Java中的静态初始化程序

我有几年的Java经验,但我最近遇到了一些我以前从未见过的东西:

public class Project{
...
static{
  initDataTypeMapping();
}
...
}
Run Code Online (Sandbox Code Playgroud)

这种方法签名如何工作?事实上这在技术上是一种方法吗?我想知道为什么不会简单地将方法调用initDataTypeMapping()放在构造函数中.只是想增加我的理解,所以我不会弄乱一些东西.谢谢!

java static

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