Sonar提到,这段java代码应该与lambda一起使用,但我从未使用过lamdas,也不知道如何使用它。有人能给我指出这段代码的正确版本吗:?
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
closeable.close();
logger.info("Close closeable.");
executorPool.shutdown();
logger.info("Shutdown executorPool");
}
}));
只需将new Runnable()
替换为()->
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
closeable.close();
logger.info("Close closeable.");
executorPool.shutdown();
logger.info("Shutdown executorPool");
}));
Runnable是一个函数接口,这意味着它只有一个抽象方法,所以它可以被lambda表达式替换,这是一种不能作为参数传递的功能
编辑:我忘了加上有一个全局线程使程序保持活力。我通过按Netbeans右下角的[x]来关闭它。
主要内容:1 什么是Java 关闭钩子,2 JVM什么时候关闭,3 Java 关闭钩子的语法,4 Java 关闭钩子的例子,5 Java 关闭钩子的例子:匿名类1 什么是Java 关闭钩子 当JVM正常或突然关闭时,shutdown关闭钩子可用于执行清理资源或保存状态。例如:关闭日志文件,发送一些警报或其他内容。因此,如果要在JVM关闭之前执行一些代码,请使用shutdown关闭钩子。 2 JVM什么时候关闭 以下情况,JVM将关闭: 用户在命令提示符下按ctrl + c 调用System.ex
问题内容: 自从Java8最近发布以来,它的全新lambda表达式看起来真的很酷,我想知道这是否意味着我们曾经习惯的Anonymous类的消亡。 我对此进行了一些研究,发现了一些很酷的示例,这些示例说明Lambda表达式将如何系统地替换这些类,例如Collection的sort方法,该方法用于获取Comparator的Anonymous实例来执行排序: 现在可以使用Lambdas完成: 并且看起来
由于Java8最近发布了,它的全新lambda表达式看起来真的很酷,我想知道这是否意味着我们已经习惯的匿名类的消亡。 看起来出奇的简洁。所以我的问题是,有没有理由继续在Java8中使用那些类,而不是lambdas? 编辑 同样的问题但是相反的方向,使用Lambdas而不是匿名类有什么好处,既然Lambdas只能与单一方法接口一起使用,那么这个新特性只是一个只在很少情况下使用的快捷方式还是真的有用呢
本文向大家介绍Windows的钩子机制详解,包括了Windows的钩子机制详解的使用技巧和注意事项,需要的朋友参考一下 一、概述: 了解windows程序设计的人都知道,Windows系统程序的运行是建立在消息传递机制的基础之上的,几乎所有的程序活动都由消息来驱动。钩子机制可以看作是一个消息的中转站,控制系统发出消息的处理和传递。利用钩子,我们可以截获系统发给应用程序的消息,并且在经过处理后决定是
以下是我的POM的相关部分: 编辑:当我在方法中添加关闭挂钩时,问题就解决了。当我将它添加到方法中时,我遇到了问题。我希望能够在任何时候添加钩子。