我有一个空白的Spring MVC项目,我已经使用Maven安装了Hibernate和PostgreSQL驱动程序.
我正在简要介绍如何将PostgreSQL与Hibernate连接的完整教程.
这里有什么帮助?
在一个项目中,我有一个Utility类,如下所示:
public final class Util {
private Util() {}
public static String method1(InputStream in) {...}
public static String method2(BufferedReader in) {...}
public static String method3(File file) {...}
}
Run Code Online (Sandbox Code Playgroud)
类是在它所包含的意义上的实用工具类唯一static方法.因此它被声明final并且它的构造函数是private.创建实例或派生子类根本没有任何意义.
我有一套测试项目的单元测试.我正在使用IntelliJ IDEA来运行测试,测量和可视化代码覆盖率.实用程序的构造函数class Util现在降低了覆盖率.我希望看到100%的100%逻辑覆盖率.像Utility类的私有构造函数这样的代码会降低覆盖率.
是否有可能(最好通过注释)将方法或构造函数标记为与代码覆盖无关,以便从覆盖率报告中排除此类代码,从而显示100%的覆盖率?
我知道,一般来说,覆盖率报告中的隐藏代码对您自己不利.我不介意报告是否会有一个"被忽略的项目"列表 - 实际上,这将是好的,检查是否有人忽略了不应忽略的东西.关键在于覆盖范围没有意义的代码,就像Utility类的私有构造函数一样.
我试图找到是否annotations.jar包含候选人.唯一一个看起来就像它可以做到的那样的注释是TestOnly,但它不能实现这个目的.我也偷看了,plugins/coverage/lib/*.jar找不到候选人,但也许我只是错过了?
我想以非零退出状态退出 Forth 程序(使用 Gforth 0.7.3)。
我试过了:
1 bye
Run Code Online (Sandbox Code Playgroud)
但 1 不会被解释为 的参数bye(而且我也没想到这会起作用;我在文档中找不到任何bye接受参数的提示)。
请注意,我不想触发异常,因为这也会打印错误消息(除非有办法从 Forth 程序本身中抑制异常的错误消息)。
那么,如何将 Forth 程序退出回托管环境/操作系统并提供非零退出状态?(基本上,我正在寻找return EXIT_FAILURE; // from main()(C) 或exit(EXIT_FAILURE);(C) 或System.exit(1);(Java) 的等效项。)
在Java 8中,使用包java.util.function和java.util.stream新语言功能lambda和方法引用,将a Stream<Collection<T>>转换为a 的最佳方法是Stream<T>什么?
这是我到目前为止找到的解决方案的例子,但我对此并不满意.为了创建一个Stream<T>来自a Stream<Collection<T>>,我使用collect().stream()一个中间HashSet(我Collection是一个Set).
import java.security.Provider;
import java.util.HashSet;
import static java.lang.System.out;
import static java.security.Security.getProviders;
import static java.security.Provider.Service;
import static java.util.Arrays.stream;
public class ListMessageDigests {
public static void main(final String... args) {
stream(getProviders())
.map(Provider::getServices)
.collect(HashSet<Service>::new, HashSet::addAll, HashSet::addAll)
.stream()
.filter(service -> "MessageDigest".equals(service.getType()))
.map(Service::getAlgorithm)
.sorted()
.forEach(out::println);
}
}
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的方式将a转换Stream<Collection<T>>为Stream<T>?就像Stream<Set<Service>>在这个例子中成了一个Stream<Service>?我不开心与使用中间HashSet …
我有一个小型 X11 应用程序,它有两个线程。XGrabKey()在一个线程中,我正在使用then 循环监听 X11 事件XNextEvent()。另一个线程正在做其他事情,与 X11 无关。
这是相关线程的代码:
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/XF86keysym.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
volatile bool loop = true;
void keyGrab(void)
{
Display *display = XOpenDisplay(0);
Window root = DefaultRootWindow(display);
int keycode = XKeysymToKeycode(display, XF86XK_AudioPlay);
XGrabKey(display, keycode, AnyModifier, root, False, GrabModeAsync, GrabModeAsync);
XSelectInput(display, root, KeyPressMask);
while (loop) {
XEvent event;
XNextEvent(display, &event);
switch (event.type) {
case KeyPress: puts("Play key pressed"); break;
}
}
XUngrabKey(display, keycode, AnyModifier, root);
XCloseDisplay(display);
} …Run Code Online (Sandbox Code Playgroud) 我有一个测试,启动 Docker 容器,执行验证(与 Docker 容器中的 Apache httpd 通信),然后停止 Docker 容器。
\n\n当我在本地运行此测试时,此测试运行得很好。但是,当它在托管 VSTS(即托管构建代理)上运行时,它无法连接到 Docker 容器中的 Apache httpd。
\n\n这是.vsts-ci.yml文件:
queue: Hosted Linux Preview\n\nsteps:\n- script: |\n ./test.sh\nRun Code Online (Sandbox Code Playgroud)\n\n这是test.sh重现问题的 shell 脚本:
#!/bin/bash\nset -e\nset -o pipefail\n\nfunction tearDown {\n docker stop test-apache\n docker rm test-apache\n}\ntrap tearDown EXIT\n\ndocker run -d --name test-apache -p 8083:80 httpd\nsleep 10\n\ncurl -D - http://localhost:8083/\nRun Code Online (Sandbox Code Playgroud)\n\n当我在本地运行此测试时,得到的输出是:
\n\n$ ./test.sh \n469d50447ebc01775d94e8bed65b8310f4d9c7689ad41b2da8111fd57f27cb38\nHTTP/1.1 200 OK\nDate: Tue, 04 Sep 2018 12:00:17 GMT\nServer: Apache/2.4.34 …Run Code Online (Sandbox Code Playgroud) java ×3
azure-devops ×1
c ×1
collections ×1
docker ×1
forth ×1
gforth ×1
hibernate ×1
java-8 ×1
java-stream ×1
postgresql ×1
x11 ×1