Java CPU占用过高

今天发现一个奇怪的问题,发现运行一个Java程序时CPU占用超过了50%。
在公司测试并没有这个问题,而且家里电脑配置比公司更好,理论上不应该出现这个问题。

后来发现这个问题的原因是没有配置JVM参数:-Xms128m -Xmx256m

暂时还不清楚原理,以后在研究。

问题找到了,并不是上面参数的问题,是由于Java11默认的HttpClient使用TLSv1.3的问题,修复代码:

	public static final HttpClient newClient(int timeout) {
		return HttpClient
			.newBuilder()
			.executor(EXECUTOR) // 线程池
			.version(Version.HTTP_1_1)
			.followRedirects(Redirect.NORMAL) // 重定向:正常
			.sslParameters(newSSLParameters()) // SSL参数
			.connectTimeout(Duration.ofSeconds(timeout)) // 超时
			.build();
	}

	private static final SSLParameters newSSLParameters() {
		final var sslParameters = new SSLParameters();
		// 不使用TLSv1.3:CPU占用过高
		sslParameters.setProtocols(new String[] {"TLSv1.1", "TLSv1.2"});
		return sslParameters;
	}