Java8之合并list并去重

核心代码如下:

1
2
List<String> result = Stream.of(Lists.newArrayList("A", "B", "C"), Lists.newArrayList("A", "B"))
.flatMap(Collection::stream).distinct().collect(Collectors.toList());

最终的结果输出是A B C。

应用场景:
有些时候我们需要合并两个返回类型相同的结果集,就可以用这个,不必SQL查询合并结果。

前端代码规范

这是我上家教育saas公司前端同事整理出来的(当时我们公司主要用的前端框架是React),当时我在这家公司除了主写后端之外,还需要写一些前端代码,按照这个规范写,前端代码可读性、可维护性、可扩展性以及性能都会大大提高。

springboot jar包部署如何不占用过多的服务器内存

springboot部署方案有很多,可以将其打成war部署到tomcat,也可以直接jar部署(利用内嵌的tomcat),还可以使用docker部署等。

今天主要说的是springboot jar包部署占用内存确实有些大,该怎么调整呢?其实很简单,核心代码如下:

1
nohup java -Xms64m -Xmx128m -jar blog-gateway-2.0.0.jar  > blog-gateway.log 2>&1 &

最关键的是-Xms64m -Xmx128m,与JVM有关。

关于JVM内存设置可以参考如下链接:
https://www.cnblogs.com/jack204/archive/2012/07/02/2572932.html

org.springframework.context.ApplicationContextException: Unable to start web server; nested exceptio

详细错误信息:

1
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

常规解决办法:
参考如下链接即可:
org.springframework.context.ApplicationContextException: Unable to start web server; nested exceptio

但是也分情况。比分我这次遇到是关于不同Maven多模块相互依赖关系导致此类错误,理解Maven多模块之间的依赖关系即可解决。

由此可以看出Maven多模块一定得设计好以及依赖关系一定要明确,否则项目启动报错、打包报错等各种奇葩错误弄得你怀疑人生。

不过兵来将挡,水来土淹。经过这几年得错误洗礼,面对错误,我也不再像过去烦躁或胆怯,因为我知道烦躁和胆怯是解决不了问题的。面对错误,就是要直接面对它,然后解决它。我提供我的通用思路: