文编|JavaBuild
大家好呀,我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,厚积薄发!
当你看到这一篇文章的时候,希望你已经阅读过《大一篇》和《大二篇》了,这次花了差不多一个礼拜的时间梳理了这些年学习Java的一个经验,整理的一份万字长篇Java全过程学习路线,希望能够给很多刚接触Java的同学们一点点的参考和指令。还没看过大一和大二学习路线的朋友,可以通过下方的链接进行顺序性阅读,最后四年的学习路线全部完成后,鸟哥也会汇总一份四年的全路线哈,请持续保持关注哟。
大学四年如何学好Java拿到offer?这条过来人的Java学习路线送给你(大一篇)
大学四年如何学好Java拿到offer?这条过来人的Java学习路线送给你(大二篇)
在大二学习路线为文尾就提到过,大一与大二是学习编程的打基础阶段,学习了大量的公共类互联网技术,也就是无论学不学Java都必须要学习的内容,而进入到大三的学习阶段,则是真正的走入了Java的世界。
老样子,我们在这里先放一下大三的Java学习路线图,觉得不清楚的小伙伴可以私聊鸟哥哈
别看大三的学习章节只有4章,但光章一就几乎包含了当下Java后端开发工程师所用到的Java技术栈,因此,需要大家花大量的时间去学,去动手练习,以后找工作能够拿多少K的薪水,主要就看你对于章一的掌握程度了。
JavaWeb其实分了两个部分,web前端和web后端,前端做我们在浏览器上看到的页面展示,后端做前端背后的业务逻辑,只不过现在大家在提到JavaWeb时,指的就是Web后端。
虽然servlet已经过时了,很是作为JavaWeb容器的基石,SpringMVC的底层,快速的学一下也是可以的,学习之前先搞清楚两个名词,客户端/用户端,服务器端/程序端
客户端:发出请求的地方,一般是浏览器的网页端
服务器端:接收并处理请求的地方,多为后台程序
而servlet要干的活就是接受由客户端发来的请求,调用其他Java程序处理请求,并将处理结果返回给客户端。
JSP(Java server pages):Java服务器界面,一种动态的网页开发结束,可以将Java代码嵌入到html中,并由JSP引擎编译执行生成页面,再返回给客户端,一度十分强大,但随着现在前后端分离开发的盛行,它的热度也在持续走低。
Tomcat是一个servlet容器,也是一个web服务器,我们编写的JavaWeb程序要想运行起来,必须部署到Servlet容器上,而Tomcat就是其中之前,其他的有jetty,Jboss等。
在之前的大一与大二学习路线中,鸟哥都提到过“万物皆为数据”,所有的后端语言做的事情就是处理数据,那么如何通过应用程序处理数据?这就不得不提JDBC,作为一个较为底层的JavaAPI,它主要的作用就是执行Sql语句,链接数据库与Java应用程序。
目前最主流,也是学习Java最核心的技术栈来了,那就是Spring的全家桶,包括Spring、SpringBoot、SpringData、SpringCloud、SpringSecurity。不过现在大部分的技术人员已经用mybatis替代了springdata去操作数据。
这里推荐两本学习书籍《Spring实战》、《SpringBoot实战》
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录
看名字就知道是Mybatis的增强版,在Mybatis的框架基础之上进行的开发,同时增加了很多便捷功能,诸如代码生成器、条件构造器、分页插件等。
对于很多高并发的项目,MQ是必不可少的,MQ是MessageQueue的缩写,中文称之“消息队列”,是一种先进先出的数据结构,常见的消息中间件有ActiveMQ、RabbitMQ、RocketMQ,Kafka等。
xml是一种可扩展标记性语言,主要用于保存数据、项目的配置文件等,结合Mybatis进行sql的处理,功能挺强大。
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,可以代替postman等调试工具,进行后端接口的测试。
Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池!
官方介绍
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
我们在提到JavaWeb的时候,已经说过了Web分为Web前端和后端,上面介绍的技术栈都属于后端范畴,而接下来我们也要了解一下前端,所谓的前端:
那么为什么我们Java后端开发工程师要学习前端呢?个人认为,如果时间不够的同学,完全忽略前端的学习,也是可以找到工作的,但是前端是组成整个应用的一部分,学习前端能够让我们技术全面,了解一个PC端项目的构建的全过程!
学以致用,是我们做程序员的必要准则,面试八股文考不考?一定考,那能够出色的胜任工作,光靠背八股文行不行?肯定不行!所以,学到这个阶段的你们,是时候敲一两个实战项目了!
这部分内容,属于技术的增强内容,也是一个初中级程序员,迈向高级程序员的蜕变之路,在这份学习路线里只列举清单,具体的学习内容,鸟哥会在接下来的时间里,分模块的详细整理成册,分享给大家!
能够坚持按照鸟哥整理的路线学到这里的,已经是一个中级Java开发工程师的水平啦,路漫漫其修远兮,吾将上下而求索!持续关注大四的学习路线啦