每日一博 | 云原生时代的 Java 应用优化实践
Java从诞生至今已经走过了26年,在这26年的时间里,Java应用从未停下脚步,从最开始的单机版到web应用再到现在的微服务应用,依靠其强大的生态,它仍然占据着当今语言之争的“天下第一”的宝座。但在如今的云原生serverless时代,Java应用却遭遇到了前所未有的挑战。 在云原生时代,云原生技术利用各种公有云、私有云和混合云等新型动态环境,构建和运行可弹性扩展的应用。而我们应用也越来越呈现出以下特点: 基于容器镜像构建 Java诞生之初,靠着“一次编译,到处运行”的口号,以语言层虚拟化的方式,在那个操作系统平台尚不统一的年代,建立起了优势。但如今步入云原生时代,以Docker为首的容器技术同样提出了“一次构建,到处运行”的口号,通过操作系统虚拟化的方式,为应用程序提供了环境兼容性和平台无关性。因此,在云原生时代的今天,Java“一次编译,到处运行”的优势,已经被容器技术大幅度地削弱,不再是大多数服务端开发者技术选型的主要考虑因素了。此外,因为是基于镜像,云原生时代对镜像大小可以说是十分敏感,而包含了JDK的Java应用动辄几百兆的镜像大小,无疑是越来越不符合时代的要求。 生命周期...