因linux系统或者mac系统下java项目打包比windows下快将近一倍,然而阿杰并不想切换arm架构的macbook m2 air 或使用ubuntu作为主力开发机,所以阿杰想出了一套如何不买mac或者不使用linux作为主力机的条件下,怎么在windows上实现快速打包,快速启动服务的方法
1 需要安装idea2022及以上版本(只要版本支持ssh远程开发)
2 windows需要安装VMware虚拟机,其他的虚拟机virtualbox,hyper-v暂未尝试
3 需要给虚拟机配置4核8G
1.确保windows idea版本为2022版
2.下载idea2022的linux版 至centos随便一个目录下(其他linux系统也可以)虚拟机并解压tar -xvf ,不用打开
3.将代码上传至虚拟机随便一个目录
4.windows启动idea2022 —> 选择远程开发SSH —> 新建连接 —> 配置ssh(虚拟机的ip,端口,ssh账号密码) —> 连接
5.具体怎么ssh可查看idea官网,以下为ssh开发界面,与本地开发界面基本一致
6.进行maven的clear,install ,微服务启动速度等测试,与windows对比
1.linux系统java编译速度比windows快接近1倍
2.无论是linux安装在虚拟机上还是原生安装在机器上,java编译速度几乎一致,并且当核心数大于4核或内存大于8G时,与核心数,内存大小无关紧要.原因可能是java是靠JVM运行的,JVM本身就是虚拟机,只要是虚拟机,它的核心频率是按照物理CPU的基准频率设定,比如5800hCPU,基准频率3.2G,最大睿频4.4G,如果在5800h上安装虚拟机,那么虚拟机的频率将始终运行在3.2Ghz频率,并且不会发生睿频,又比如物理机cpu为i5 -1035ng7基准频率2.0g,睿频4.0G那么它的虚拟机CPU频率维持在2.0G
所以阿杰猜想:vmware虚拟机上运行JVM,JVM的cpu频率为3.2g与ubuntu物理机上运行JVM它的CPU核心也是3.2G,所以他们运行java时的实际性能是一致的,并且取决于CPU的基准频率下的单核性能
所以也验证了虚拟机下跑JVM,与在原生ubuntu下运行JVM性能是一致的,再次强调:JVM性能靠的是物理CPU的基准频率下的单核性能(也就是把CPU当不能睿频使用)
有了这样一套开发环境,笔记本里安装centos虚拟机,虚拟机中安装idea再利用Idea的ssh远程开发功能连接自己的虚拟机中的idea,大大的提高了启动微服务的速度,windows老用户再也不用想着去买mac或者转ubuntu来提高微服务启动速度了
macbook arm架构芯片(m1系列 或m2) 芯片,并处于docker版本不兼容状态,亦或是您的mac是最低配8+256版本解决方案:
mysql,redis,kafka等环境安装在随便一个台式机或者不用的笔记本的centos虚拟机上(有mac的人一般不止一台电脑吧…),一并ssh远程开发使用;这样解决了mac内存不够用,高配贵的离谱,开发环境不兼容的尴尬局面
mac与远程电脑下同时安装zerotier,一款免费好用的内网穿透软件,这样mac随时随地远程开发,不用担心服务器放在哪里,只要大家都连着网.
至此