0
点赞
收藏
分享

微信扫一扫

关于spring native初步体验

        最近自己搞了台云服务器,由于是收费的所以比较节省先选了台2cpu,2G内存的机型先试用下。在上面用nginx发布了几个静态站点,期初用下来感觉还挺好的没啥问题,但是当我装了mysql和发布了java程序后立马发现不对,内存占用已经达到了1.5G了,我查询了下发现mysql,java占用都超过2百多m,虽然mysql最大,单毕竟也只是一个进程,但是多发布几个java程序肯定就抗不住了,这时候我才意识到程序的内存占用是多么的重要(对于个人来说)。

        

        虽然我知道go的内存占用很小,但是要用go把java那些复杂的系统都再重新开发一遍实在也太不划算了,所以就去研究spring native,因为它也是号称资源占用小,启动速度快的特点。

        我在spring的项目创建的站点选了一个native依赖,一个web依赖,然后下载下来,首先我看了下介绍,在使用前需要先准备好java(最低需要11),maven,graalVM(需要安装native-image),然后折腾了好几天总结出下面这些坑:

1. 准备工作特别多,除了上面说的这些,如果是windows系统上还需要VS的c++编译器的支持

2. windows上无法编译成功,原因是命令行太长,这个是windows系统的本身限制,我只有编译不带任何依赖的springboot才成功,如果选了一个web依赖或者其他的就会导致命令行太长的问题

3. 编译超级慢,后来没办法,只要利用win10的LTS子系统来编译linux版本,但是编译时间特别长,估计要10分多(我在吐槽的时候还在编译),也可能是我笔记本性能问题,但是go编译就不需要这么慢

4. 不支持交叉编译,要编译win版本就要装windows上装这些工具,要编译linux版本就需要在linux上装这些工具

目前体验下来感觉还不是很实用,只能等他再发展一段时间吧。

举报

相关推荐

0 条评论