JAVA学习方向比较单一,基本上是就是做web后端。后端基本上是spring框架的天下,所以学习方向比较固定(就是学spring和spring的周边[受虐滑稽])。
spring系列框架从零几年就有了,到现在一直在更新,从ssh到ssm,然后springboot,到现在企业中比较常用的springcloud。spring框架可以说已经是一个庞然大物了,基本上很多你需要的东西,spring中都会集成,所以用起来很方便[机智]。
除开spring框架,数据库也是JAVA开发中必不可少的一环,很多时候开发就是对数据库增删改查,常用的比如mysql、postgresql,工作中常常需要熟悉多种数据库,加上现在大力支持国产化,有时候也会接触很多的国产数据库,比如达梦、人大金仓、瀚高等[皱眉]。
很多企业级软件还会使用redis来缓存部分数据,减少数据库的压力和提升响应速度,redis作为内存数据库,使用起来确实很轻量级,占用内存也小,相比于运行起来的spring程序,redis真的是小太多了[喝酒]。
现在讲究前后端分离,前后端采用restful接口来进行交互,其实就是用nginx来代理前端的静态页面和后端服务,这里大概率会涉及到跨域问题和无法获取到客户端IP地址的问题,萌新处理起来可能有点费劲[难过]。nginx功能还是很强大的,除了代理HTTP,还可以代理传输层的TCP段或者UDP数据报。此外一般情况下可能还需要使用nginx来配置HTTPS服务,这里面又会涉及到证书的签发问题[无奈]。
容器的概念很早就火了,使用docker能让安装部署变得非常简单,不需要再针对不同的Linux发行版准备不同的安装包了,docker能提供一致的环境,减轻运维支持的压力。就比如上面的nginx、redis很多时候需要针对现场环境来进行编译,导致运维成本提升,而在使用docker后直接下载通用的镜像文件即可,还是挺方便的[皱眉]。
企业软件基本上都会部署在Linux系统上,常见的就是centos7,不过近些年很多企业会使用国产化操作系统,比如银河麒麟之类的,所以还是需要熟悉一下Linux命令和shell脚本,方便去排查问题[害羞]。
现在有很多的消息队列,比如Kafka、rabbitMQ,我只用过Kafka[受虐滑稽]。队列就是先进先出,保证有序。消息队列是能保证有序同时有缓冲能力的一个中间件,他能将系统各部分功能进行解耦[哼唧],提高系统健壮性和代码的可维护性。
一般来说前后端分离后前后端接口统一后是各写各的,后端一般会用Postman来进行接口测试,Postman可以发送HTTP请求,接收响应,同时可以自由设置HTTP的头部,是大家都爱用的工具[哼唧]。
做web开发是离不开IDE的,首先IDE推荐使用idea,大佬可以用vscode,idea上手就能用,vscode需要进行一下配置,比如安装spring插件、手动配置maven等,对新手可能有点费劲[真正的音乐]。
目前的计算机行业内卷严重,就业形势远不如前几年,网络上也有前端已SI的说法(前端:勿Q我[挨打])。这都是真的[表面开心],今年大小公司基本上都在裁员,就业难度上升,学历变得很重要[喷血]。
如果你已经在这个行业里,那也没有办法,各行各业都不行,也不止计算机[喷]。如果你想考研,考研难度也很大,计算机考研分数也是逐年上涨[t耐克嘴]。
人生就一次,多看看风景,做自己想做的事情吧,祝大家身体健康[笑眼]。