小编Adr*_*ebs的帖子

为什么ExecutorService接口没有实现AutoCloseable?

未能调用shutdown()线程执行程序将导致永不终止的应用程序.关闭ExecutorService的最佳做法是:

ExecutorService service = null;
try {
  service = Executors.newSingleThreadExecutor();
  // add tasks to thread executor
  …
} finally {
  if (service != null) service.shutdown();
}
Run Code Online (Sandbox Code Playgroud)

由于Java知道try-with-resources概念,如果我们能做到这一点会不会很好?

try (service = Executors.newSingleThreadExecutor())
{
  // add tasks to thread executor
  …
} 
Run Code Online (Sandbox Code Playgroud)

java multithreading interface try-with-resources

25
推荐指数
3
解决办法
2764
查看次数

如何在生产中为vue.js应用禁用源地图?

我的应用程序是用vue cli.我找不到任何在生产中禁用源地图的选项.npm build我的步骤package.json看起来像这样:

"build": "vue-cli-service build",
Run Code Online (Sandbox Code Playgroud)

在角度,我可以添加--prod到我的构建步骤,使其工作.有没有这样的选择vue.js?或者我是否必须更改webpack配置(cli隐藏)?

webpack vue.js

24
推荐指数
2
解决办法
9080
查看次数

如何从流中获取随机对象

假设我有一个单词列表,我想创建一个方法,将新列表的大小作为参数并返回新列表.如何从原始sourceList中获取随机单词?

public List<String> createList(int listSize) {
   Random rand = new Random();
   List<String> wordList = sourceWords.
      stream().
      limit(listSize).
      collect(Collectors.toList()); 

   return wordList;
}
Run Code Online (Sandbox Code Playgroud)

那么我如何以及在哪里使用我的随机数?

java java-8 java-stream

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

IDEA错误"托管bean必须是具体类,或者使用@Decorator注释"

在我的Java EE项目中,我有一些抽象类.IntelliJ IDEA强调它们是红色并告诉我:

托管bean必须是具体类,或者使用@Decorator注释

如果顶级Java类被任何其他Java EE规范定义为托管bean,或者满足以下所有条件,则它是托管bean:

  • 它不是一个非静态的内部类.
  • 它是一个具体的类,或者注释为@Decorator.
  • 它没有使用EJB组件定义注释或在ejb-jar.xml中声明为EJB bean类.
  • 它有一个合适的构造函数 - 或者:
    • 该类有一个没有参数的构造函数,或者
    • 该类声明一个注释为@Inject的构造函数.

我只想使用抽象类,没有任何注释.虽然IntelliJ告诉我这是一个错误,但我的JBoss服务器并没有抱怨它.

任何解释?

abstract-class intellij-idea java-ee cdi

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

这些Go构建标志意味着什么?netgo -extldflags"-lm -lstdc ++ -static"'

我目前正在上一个微服务在线课程,我将小型应用程序部署到docker容器.构建二进制文件的漫长而丑陋的命令行是这样的:

go build --tags netgo --ldflags '-extldflags "-lm -lstdc++ -static"'
Run Code Online (Sandbox Code Playgroud)

到现在为止我只是用来go install编译我的应用程序.

任何人都可以向我解释这个命令吗?

command-line compilation go

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

为什么这个流没有返回任何元素?

我尝试将以下代码编写为流:

AbstractDevice myDevice = null;

for (AbstractDevice device : session.getWorkplace().getDevices()) {

    if (device.getPluginconfig().getPluginType().getId() == 1) {
        myDevice =  device;
    }

}
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常.

但是当我像这样重写它时它不再起作用了:

myDevice = session.getWorkplace().getDevices().stream()
                  .filter(s -> s.getPluginconfig().getPluginType().getId() == 1)
                  .findFirst().get();
Run Code Online (Sandbox Code Playgroud)

Optional它我回来从流没有值.为什么?

编辑

当我尝试这个时(我仍然从两个设备回来getDevices()):

 List<AbstractDevice> testList = session.getWorkplace().getDevices()
                                        .stream().collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

testList是空的.所以我List的设备流似乎出了问题?

这是一个JavaEE应用程序,我从相应的实体获取我的设备:

@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
@JoinTable(name = "Workplace_AbstractDevice",
            joinColumns = {
                @JoinColumn(name = "Workplace", referencedColumnName = "ID")
            },
            inverseJoinColumns = {
                @JoinColumn(name = "AbstractDevice", referencedColumnName = "ID")
            })
@OrderColumn
private …
Run Code Online (Sandbox Code Playgroud)

java jpa eclipselink java-8 java-stream

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

如何远程调试heroku上的node.js应用程序?

我正在构建一个node.js聊天机器人,然后我将它部署在heroku上.该应用程序使用webhooks,它必须位于服务器可以访问的公共URL.因此,在我的机器上本地运行服务器将无法正常工作.有没有办法可以远程调试我的应用程序?有小费吗?

remote-debugging heroku node.js facebook-chatbot

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

Files.walk.filter和Files.find有什么区别?

此代码搜索特定文件:

Stream<Path> findMyFile = Files.find(Paths.get("c:\\temp\\pathtest"), Integer.MAX_VALUE,(p, a) -> p.endsWith("test.txt") && a.isRegularFile());

Stream<Path> findMyFileSecond = Files.walk(Paths.get("c:\\temp\\pathtest"),Integer.MAX_VALUE).filter(p -> p.endsWith("test.txt"));

findMyFile.forEach(System.out::println);
findMyFileSecond.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

两个结果都包含相同的文件,两种方法几乎同时完成.JavaDoc说如下:

此方法以完全按*walkwalk方法指定的方式遍历文件树.比较调用*java.util.stream.Stream #filter过滤器对@ {walk walk}方法返回的Stream*,此方法可能是通过*避免重复检索BasicFileAttributes来提高效率

什么时候应该和什么时候walk结合使用?什么是最佳做法?filterfind

java file path nio2

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

如何使用 OpenCV 检测 X 射线图像上的文本

我想检测 X 射线图像上的文本。目标是将定向边界框提取为矩阵,其中每行都是检测到的边界框,每行包含所有四个边的坐标,即 [x1, x2, y1, y2]。我正在使用 python 3 和 OpenCV 4.2.0。

这是一个示例图像:

在此输入图像描述

应检测字符串“test word”、“a”和“b”。

我遵循了有关为轮廓创建旋转框的OpenCV 教程和有关检测图像中的文本区域的stackoverflow 答案。

生成的边界框应如下所示:

在此输入图像描述

我能够检测到文本,但结果包括很多没有文本的框。

这是我到目前为止所尝试的:

img = cv2.imread(file_name)

## Open the image, convert it into grayscale and blur it to get rid of the noise.
img2gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
ret, mask = cv2.threshold(img2gray, 180, 255, cv2.THRESH_BINARY)
image_final = cv2.bitwise_and(img2gray, img2gray, mask=mask)
ret, new_img = cv2.threshold(image_final, 180, 255, cv2.THRESH_BINARY)  # for black text , cv.THRESH_BINARY_INV


kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (3, 3))
dilated = …
Run Code Online (Sandbox Code Playgroud)

python opencv image image-processing computer-vision

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

更改键盘布局boot2docker tinycore

如何更改boot2docker发行版的键盘布局(基于tinycore)?

/ usr/share/kmap仅包含us.kmap

我找到了一些解决方案如何获取kmaps.tcz,但只能使用X服务器,而不仅仅是命令行.

linux command-line boot2docker

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