小编cah*_*hen的帖子

.asSet(...)是否存在于任何API中?

我正在寻找一种非常简单的方法来创建一个Set.

Arrays.asList("a", "b" ...) 创造一个 List<String>

有类似的东西Set吗?

java collections

97
推荐指数
8
解决办法
4万
查看次数

Java 8 Supplier在构造函数中包含参数

为什么供应商只支持no-arg构造函数?

如果存在默认构造函数,我可以这样做:

create(Foo::new)
Run Code Online (Sandbox Code Playgroud)

但如果唯一的构造函数采用String,我必须这样做:

create(() -> new Foo("hello"))
Run Code Online (Sandbox Code Playgroud)

java lambda functional-programming java-8 functional-interface

63
推荐指数
5
解决办法
7万
查看次数

如何恢复不必要的"git reset HEAD~1"

运行后git reset HEAD~1,我注意到实际上没有别的事可做了,提交也没问题.有没有办法恢复此命令?

git

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

spring-boot默认日志位置

spring-boot应用程序中,我可以使用指定自定义日志文件

java -jar spring-boot-app.jar --logging.file=/home/ubuntu/spring-boot-app.log

但是,如果我没有指定一个,他们去哪里了?

我在以下任何文件夹中都找不到它:

/tmp/
/var/log/
~/
Run Code Online (Sandbox Code Playgroud)

具备spring-boot-starter-logging或任何额外的日志依赖.

我希望有类似的东西,catalina.out因为默认配置运行嵌入式Tomcat:

INFO 10374 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8100 (http)
Run Code Online (Sandbox Code Playgroud)

java logging spring-boot

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

Eclipse中的Maven Profiles和Tomcat

如果我有一个WAR应用程序的2个maven配置文件,如下所示:

mvn clean install -Pdevelopment
mvn clean install -Pproduction
Run Code Online (Sandbox Code Playgroud)

我在Eclipse中导入它以在Tomcat中运行,如何告诉Tomcat使用一个配置文件或另一个配置文件?

eclipse tomcat maven-3 maven

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

哪些HTTP错误永远不会触发自动重试?

我正在尝试使一些微服务更具弹性,并且重试某些类型的HTTP请求将有助于此.

重试超时会给客户带来非常缓慢的体验,因此我不打算在这种情况下重试.重试400s无济于事,因为错误的请求在几毫秒后仍然是一个错误的请求.

我想还有其他原因不能重试一些其他类型的错误,但是哪些错误以及为什么?

http httpresponse spring-retry hystrix microservices

13
推荐指数
2
解决办法
4378
查看次数

监控和警告pod状态或使用Google Container Engine(GKE)和Stackdriver重新启动

有没有办法监控pod状态并使用Stackdriver重新启动在GKE集群中运行的pod的数量?

虽然我可以看到Stackdriver中所有pod的CPU,内存和磁盘使用情况指标,但似乎没有办法获得有关由于崩溃而重新启动副本集中的pod或pod的崩溃的指标.

我正在使用Kubernetes副本集来管理pod,因此它们会在重新生成时重新生成并在崩溃时使用新名称创建.据我所知,Stackdriver中的指标由pod-name(在pod的生命周期中是唯一的)显示,这听起来并不合理.

警告pod故障听起来像是一件很自然的事情,听起来很难相信目前还不支持.我从Stackdriver for Google Container Engine获得的监控和警报功能似乎相当无用,因为它们都绑定到了生命周期非常短的pod.

因此,如果这不起作用,那么有关于如何监控持续崩溃的pod的已知变通方法或最佳实践吗?

monitoring kubernetes google-kubernetes-engine stackdriver google-cloud-stackdriver

12
推荐指数
3
解决办法
3412
查看次数

Java JAR内存使用VS类文件内存使用情况

我最近将我的大型Java应用程序更改为在JAR中提供,而不是单个类文件.我有405个JARS,它拥有5000个类文件.我的问题是,当我将程序作为JAR运行时(类路径是一个通配符来获取所有JAR),Java将不断使用越来越多的内存.我已经看到内存大于2GB,看起来Java并没有采用世界末日的垃圾收集方式来降低内存.如果我对爆炸的JAR(只有类文件)运行完全相同的程序,Java的内存使用率会保持低得多(<256MB)并保持不变.这种情况发生在Windows 7(x64)和Windows Server(x64)上的Oracle Java 8中.为什么将我的应用程序打包为JAR会更改内存配置文件?此外,我已经运行了很长一段时间的程序作为JARs,内存最大限制为128MB,没有任何问题,所以我没有内存泄漏.

使用类路径中的JAR文件 使用类路径中的JAR文件

使用classpath中的类文件 使用classpath中的类文件

编辑:我接受了@K Erlandsson的回答,因为我认为这是最好的解释,这只是一个丑陋的Java怪癖.感谢每一位(特别是@K Erlandsson)的帮助.

java profiling

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

为什么在重写finalize()方法时首选调用super.finalize()?

我收到SonarQube错误:" 强烈建议在此方法实现结束时调用super.finalize(),以防父实现必须也处置一些系统资源. "

但我发现Object该类没有实现finalize方法.

protected void finalize() throws Throwable { }
Run Code Online (Sandbox Code Playgroud)

那为什么需要打电话super.finalize()

java sonarqube

7
推荐指数
2
解决办法
2872
查看次数

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