海量编程文章、技术教程与实战案例

网站首页 > 技术文章 正文

Spring Boot打包成JAR后。内置Tomcat你真的懂吗?

yimeika 2025-07-28 22:51:47 技术文章 1 ℃

每次打 jar 包,脑子里总冒出一句:“200兆的 Tomcat 不见了,这40兆的小东西真能跑?”可事实就是:java -jar 之后,浏览器就能连上 8080。

这事儿搁几年前不敢想。

以前布一个服务,先得装 Tomcat,再调 server.xml,光启动就要半分钟。

现在 Spring Boot 把 Tomcat 揉进 jar,点一下运行,3-5 秒完事,内存也从 200 MB 骤降到 50 MB 左右。

差别在哪儿?

简单说,人家把 Server、Service、Connector 三层直接压成了一个 Bean,XML 也扔进历史了。

可别以为这就一劳永逸。

线上真刀真枪的时候,默认参数能让服务器瞬间挂彩——并发一上来,线程池两百条根本打不住。

压测试过:把 max-threads 调到 800、max-connections 拉满 1.5 万、再把压缩打开,QPS 能翻三倍。

不过要是偷懒不改,高并发瞬间教你做人。

还有俩小坑也劝早点踩。

一,想用 JSP?

jar 打包不解析,要么换成 war,要么改用 Thymeleaf,省得上线当天才发现页面 404。

二,端口冲突就让系统自己抓随机口,省事又安全,尤其是测试环境。

真的嫌 Tomcat 撑不住高并发,把
spring-boot-starter-undertow 丢进依赖就能换引擎,实测 IO 场景再多扛个 15%。

一句话总结:小 jar 不是魔法,只是有人把麻烦提前踩完了。

下次看到 "Tomcat started on port: 8080" 这句,别急着关窗口,里面其实堆着一堆精细调优和取舍——省事儿可以,但想跑得久,还是得把那几个参数拧到刚刚好。

最近发表
标签列表