分享Vert.x免费教学视频 —— 最强java web框架,性能高、坑少,【接私活利器】【创业项目利器】哦

IT极客之家
130阅读13评论1 个月前

今天给大家分享一项非常牛X的java web技术——Vert.x,接私活的利器哦~当然如果是自己创业的项目用它做也是非常适合的~

什么?java的web框架用的最多的不是Spring(SpringBoot)吗?你说的这个Vert.x是什么鬼?

哈哈先分享一下我自己的经历吧,当我还是小白的时候,我一直以为java是这个世界上最好的编程语言,而Spring是这个世界上最好的web框架,因为网上到处都是各种安利java和Spring的视频嘛,当时还是小白的我,缺乏辨别能力,所以就这么糊里糊涂的确立了自己的信仰。

后来自己创业了,给自己的项目做技术选型的时候,理所当然的选择了java+Spring的开发方式(具体技术栈为:java11+SpringBoot2.x+MyBatis-Plus3.x+MySql8.x),后来遇到了一个执行特别慢的SQL,有多慢呢~每次用SpringBoot2.x+MyBatis-Plus3.x去执行它都要花费十几秒,而用MySql自带的命令行直接执行查询只需要花费零点几秒,也就是说,同一条Sql,放在SpringBoot2.x+MyBatis-Plus3.x的环境下执行速度慢了足足几十倍。

我当时都震惊了,我去,网上到处都是安利SpringBoot、MyBatis-Plus的,但是没有人提过还有这个坑啊,当时可无助了,摆在我面前的路只有两条:一是用所谓的性能分析工具找到性能瓶颈,然后优化它,但这样可能会面临一个问题,就算顺利找到性能瓶颈,但是想正确优化它恐怕还得了解SpringBoot、MyBatis-Plus的底层原理才可以;二是直接换个技术把这个模块重写一下。

当时我的直觉告诉我,用方式一就算解决了这个问题,恐怕Spring后面还会有坑等着我,况且这个是我的创业项目,我还要把很多精力放在思考业务的发展方向上,哪还有那么多时间研究Spring的底层原理?你Spring难用我不用你就得了呗,但问题是我要换什么技术来代替Spring呢?经过多番查找,我知道了java世界里有个Vert.x,很多业界知名的大公司都在用它,然后就花了几天时间简单学习了一下Vert.x,并且重写了那个运行速度贼慢的模块,结果重写过后,那个Sql在Vert.x中的执行时间只有3秒!性能是SpringBoot+MyBatis-Plus的5-6倍,而内存占用只有Spring的四分之一!

PS:在我用Vert.x重写了项目之后,又经过了半年我才发现,其实当时执行SQL速度慢很大一部分原因是我用java的UUID做MySQL的id值了,而java的uuid做MySQL的id值,会导致MySQL查询性能大幅下降,后来我把uuid换成了MySQL自增的id,又测试了一次,不管SpringBoot+MyBatis-Plus还是Vert.x,性能都获得了大幅提升,但Vert.x的性能仍然是SpringBoot+MyBatis-Plus的好几倍,这个结果的趋势是没有任何变化的,所以,SpringBoot+MyBatis-Plus依然很坑。

哈哈,用了Vert.x,妈妈再也不用担心我的创业项目遇到坑了~

后来考虑到可能有朋友会跟我一样被Spring坑,所以专门录了一套Vert.x的免费教程放到了B站,分享给有需要的朋友,视频地址:深入浅出Vert.x 第一季 vertx快速入门

另外~请允许我打个小广告~本人是一名全栈工程师,可以在前端(Vue、React)、后端(Java、Golang、C#、PHP、Kotlin、Python、C++、Rust、Nodejs)、移动端(原生Android、IOS,跨平台的uni-app、rn、flutter)之间自由切换,希望以远程工作的方式跟同行或客户进行各种合作,如有意向欢迎联系我哦~

分享主题:
工具/资源
城市:
其他
加载中…
精选评论
1 个月前真tm奇怪

蟹蟹分享

蟹蟹支持~

1 个月前鱼儿游🐠

十八般武艺,样样都会呀

哈哈仅仅是会用而已,特别底层的一些原理就不太知道了

1 个月前KK

前端(Vue、React)、后端(Java、Golang、C#、PHP、Kotlin、Python、C++、Rust、Nodejs)、移动端(原生Android、IOS,跨平台的uni-app、rn、flutter)之间自由切换

失敬 失敬

哈哈别闹别闹

1 个月前Yuchen

直接撸官方提供的 example 就可以了
https://github.com/vert-x3/vertx-examples/pulls

1 个月前Yuchen

官方文档 先看 vertx core
https://vertx.io/docs/

嗯,不过官方文档太过简略,特别是vert.x core的部分,有时一句话背后可能就是一篇论文,还是需要一些基础才能领会到文章中没有说到的、背后的理论

1 个月前bigC

很赞👍
是不是还有后续第二季、第三季

谢谢,原本是规划了第二季、第三季的,但是第一季的播放量太少了,导致我没有动力往下录制第二季、第三季啊啊啊

1 个月前迷彩风情

所以还是要知道问题的根本才行,不是解决不了问题了就换个轮子,你这种方法只是解决问题的其中一个方向。

所以你以为只要知道问题根本就能解决问题了吗?那这里有个问题,用java的人都知道java的程序需要预热才可以发挥出性能,但标准的openjdk在预热java程序的时候都要花费一段时间,所以很多公司或组织推出自己定制版的jdk,来解决这个问题,既然你这么强调要知道问题根本,那我相信你已经知道这里面的原理了,现在我有个问题问你,就限定你用openjdk来运行SpringBoot,来优化它的从启动到发挥最佳性能的耗时,降低它的预热时间,在不换其他版本jdk的情况下解决这个问题(不换轮子),你能讲讲从openjdk的角度,怎么解决这个问题吗?