2019-Java-全栈工程师进阶路线图一定要收藏

技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。 <!--more--> 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临的问题。我当时经常胡子眉毛一把抓,那会学习资料倒是不缺,学校图书馆啥都有,就是无从下手,后来有高人指导之后,进步就很快了。 精研某一个方向,或者走全栈路线,都是可以的,两种路线各有优缺点,如果非要整个争个高下,我觉得没有必要。 自己喜欢的,才是最好的,我读书的时候就接过几百块钱的小活,没几个钱,要是跟人合作更没有赚头了,所以后来我一直在尝试全栈的路线,也一直在这条路上努力。 专精于某一方面,成为某一个领域的执牛耳者,也是让人钦佩了。 结合我自己的经验,我整理了一份 Java 全栈工程师进阶路线图,给大家参考。我整理出来的大部分知识点都有相关的学习资源,大家在公众号后台回复相应的口令就可以获取相关资源(学习资源口令)。 希望大家明白,如果你是在校学生,有大把时间,个人觉得这些东西可以挨个去学,如果你已经工作了,可以根据公司的业务需求有针对性的去学习,下面的列表仅仅起一个参考的作用,当你想学的时候,知道有哪些东西需要学习。 乾坤大挪移第一层第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,差一点的 3 到 6 个月也说不准。如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻之间就练成了。 第一层主要包括如下部分(已经列好顺序): Java 基础语法Java 面向对象Java 常用类详解Java 异常机制Java 集合与数据结构Java IOJava 多线程Java 网络编程Java 注解+反射23 种设计模式正则表达式XML 解析/ JSON 解析Java 10、11、12 新特性AIO、BIO、NIO乾坤大挪移第二层第二层主要是修炼数据库,从基本用法到查询优化、读写分离等等都需要掌握,这里以 MySQL 数据库为例: 数据库的基本概念数据库和表的基本操作索引与数据完整性约束数据库中的各种复杂查询操作MySQL 中常见函数的使用存储过程、触发器以及事件等数据库的备份与恢复数据库用户管理与数据库安全性事务和多用户读写分离环境搭建+实践JDBC常见数据库连接池的配置+使用乾坤大挪移第三层第三层主要是修炼 Web 基础,主要包括前端的基础知识,先不用深入学习前端,后端的 Jsp/Servlet,有人会说现在公司都不用 Jsp/Servlet 了,还学这些干嘛?但是万变不离其宗,哪个顶尖高手不是从扎马步开始的?这些掌握好了,框架的原理才好理解。 HTMLCSSJavaScriptjQueryTomcatServlet(基本用法,Session、Cookie 等)Jsp(原理、九大内置对象等)EL 和 JSTL过滤器/监听器等AjaxEasyUIEChartsBootStrapGit/SvnWebSocket前三层练好后,做个大学的毕设应该是够用了。 乾坤大挪移第四层第四层主要是修炼各种框架以及工具: SpringSpringMVCMyBatisMaven/GradleFreemarker/ThymeleafLinuxActiveMQ/RabbitMQNettyZookeeperDubboRedisRBACShiroElasticsearchNginxSSOActivitiQuartzSpring BatchMongoDBSpring CacheJpa这一层修炼完,你已经基本上达到了阳顶天的水平了,阳顶天是明教教主,那你出去找个项目经理的位置坐坐估计差不多吧。 乾坤大挪移第五层最后还不得不说 Java 目前最火的微服务,这也是一项必备技能: Spring Boot 基本原理Spring Boot 基础配置Spring Boot 整理视图层技术Spring Boot 整合 Web 开发Spring Boot 整合持久层技术Spring Boot 整合 NoSQLSpring Boot 构建 RESTful 服务Spring Boot 整合各种缓存Spring Boot 安全管理Spring Boot 整合 WebSocketSpring Boot 整合消息服务Spring Boot 整合 Swagger、邮件等Spring Boot 应用监控Spring Cloud Eureka、Consul微服务注册与消费Spring Cloud OpenFeign服务容错保护 Resilience4jSpring Cloud Zuul/GatewaySpring Cloud ConfigSpring Cloud BusSpring Cloud StreamSpring Cloud Sleuth/ZipkinSpring Cloud AdminSpring Cloud Alibaba第五层修炼成功后,让老板加波薪水应该是可以的吧! ...

July 15, 2019 · 1 min · jiezi

大三学生想做程序员,自学还是培训?

一位小兄弟联系我说:本科是市场营销的,网上找的学习资料自学的编程。入行半年后我有点后悔了,觉得自己不是开发的料,在技术上存在明显的先天不足,而且一直坐班的工作方式真的很压抑,最关键的是感觉没有什么兴趣再往下学了,相比科班出身的其他人,我对技术越来越不敏感,比如什么框架更新了什么功能,对公司现有架构有什么提升的建议。。一窍不通,半懂不懂的也不好意思拿出来卖弄,只懂的写业务代码,是一个纯粹的码农,后悔当时没去培训班至少可以结实一帮同学,互相的交流,现在都是独来独往,每天同事半年时间也是换了一波又一波。现在他的亲戚家的孩子,读大三了,专业也不是做编程的,想转做程序员,他想让我给他一些意见。那孩子准备去培训班,他考虑是劝他去呢?还是像自己自学呢?IT培训推动了IT行业的发展。IT行业从上世纪90年开始出现在中国,在00年后开始得到迅速发展,到如今已经成为了一个非常成熟的行业。IT行业得到这样的快速的发展,离不开IT培训机构的大量人才输出。从我国高校开始建设IT相关专业以来,虽然培养的大量的IT人才,但是和市场对IT人才的需求来比较,还远远不够,何况高校毕业的大部分IT人才还只是停留在基础理论阶段,离能胜任企业的工作还有一段距离,然而IT培训机构以理论为基础,以实战为主导的培训理念给市场做了很好的补充。随着大量的人员涌入IT行业,人才质量出现参差不齐的现象,这是行业发展得必然结果。记得移动互联网刚火那会,只要会一点Android或者iOS,工资都在一万以上,即便如此,企业还是找不到合适的人才,但是高校也没有这样的课程,于是只能求救于培训班毕业的学生。过了4年多,由于培训班培养的大批量的iOS和andriod工程师,而岗位却有限,市场逐渐出现饱和的现象,很多从培训班毕业的学生开始找不到工作。到了2015后,基本大部分都找不到工作,很多学了Android的转学Java,学iOS的转学前端等等,培训机构也开始停止培训这两个学科。基本上所有在2017年开的机构,都不再培训Android和iOS,主打课程也只培训Java和软件测试这两个目前热门学科,没有Android和iOS。从培训机构的科目变化,我们能知道市场需求情况,反过来,我们也能从企业对人才的需求情况来预计该学什么。如果要说,培训班培训的程序员对IT行业的影响,在我看来,就是加快了行业发展得进程,弥补了高校人才不足,同是也提高了人们进入这个行业的门槛。从轻松的校园走到社会时,多少人面临这巨大的落差,社会需要的,完全不是学校教的,按部就班的学习已经造成了巨大的能力与认知差异,这种差异必须要有坚定的意志,多次的跌打滚爬才能弥补。选择建议:朋友们就经常问我该不该去培训,我就会告诉他们。培训真正的作用是断了你的退路,让你面临死地,真正能站起来的,需要有强烈的战斗力!但是,同样,自学也是需要有坚定的意志力,学习力。你也是需要花费更多的时间去找资料,遇到问题也不能及时解决。当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间。做任何事从零开始的时候都是很难的,程序员更加如此,互联网技术更新迅速,从0到1的过程还不是最艰辛的,最难的是在1+1时候是否等于2,或者更多,你才能在这个IT界生存下去!

December 2, 2018 · 1 min · jiezi