Java正式诞生是在一九九五年,起初开发者认为,C/C++在使用过程中存在一定的弱点,一方面是操作上的繁琐,另一方面也是处于安全性的考量,因此Java被开发了出来。在此之前开发者就已经对这套计算机语言进行了多年的优化,那时候还叫Oak。随着时间的积累和实际上的应用,到现在Java已经成为了计算机语言排行榜上常年霸榜的一种。
即使在之后越来越多的的计算机语言被开发出来,但是多数在应用上远不及Java,在近十几年来Java的优势地位实实在在长期存在于在工程、教学和供应商中的。并且在相当长的一段时间内,Java依然会是主流编程语言,不会轻易被其他语言替代。在工作方面,熟练使用Java存在更大的竞争力,这也是多数人选择学习Java的主要原因。
Java的学习难度是一直讨论热度比较高的话题,学习的方向和方式比较多,不同人的知识接受理解能力也不同。平时在和朋友聊天的过程中,得到的反馈信息中,认为难度高的明显更多,许多人都用《从入门到入土》来调侃自己的学习经历。
为什么这么难?我认为80%是自制力的问题,这个世界的诱惑太多了,学习实乃枯燥无味的事情。在校大学生还好,至少还有一定的学习习惯,而毕业多年的小青年,太久没有学习,思维非常容易生锈。硬着头皮去学习更大的可能性是看书15分钟,刷短视频2个小时,基本上有用的知识没法形成记忆。
所以不管用什么方法,首先要做的就是把自己的生活节奏完全推翻,重新建立一套更适合学习的生活习惯。即使是强迫自己,或者给自己定奖励惩罚机制,又或者找人监督,总之熬过这个阶段,后续慢慢的会发现,自己能够看进去书了。
在心态调整好之后,学习进度一般就会飞速提升了,此时你要开始制定一个学习流程。光入门还不行,学习Java的人一般都是抱着入行的目的去的,如果想要在今后的行业竞争中站稳脚跟,还需要更升入的学习。所以我把Java学习流程大致分为四个部分:
- 第一阶段:Java基础以及Web开发基础—小程序项目阶段,可掌握Java基本面向对象知识、Java 常用集合的使用、JDBC 与 MySQL 基础、HTML/CSS/JavaScript 前端基础技术、 Servlet 编写服务端程序等,同时熟练使用 IDEA 开发工具,能实现简单的小程序;
- 第二阶段:Java高级基础 SSM 前端框架代码管理 持续集成,是进阶阶段,可以深入理解 Java 面向对象相关知识点,可以胜任Java 初级软件工程师、Web 初级前端开发工程师、初级 BI 工程师等岗位。
- 第三阶段:微服务与分布式解决方案,掌握Linux、Docker、Vue、SpringBoot、Shiro、分布式事务的使用等,可以熟练使用Docker 完成项目部署,胜任Java 中级开发工程师等岗位;
- 第四阶段:大型互联网解决方案,掌握JUC、Zookeeper、Dubbo、MySQL 高级、MyCat和微信小程序以及微信支付的开发等内容,可以胜任Java高级软件工程师等岗位。
如果你是非科班、零基础想要开始学习,不建议上来就看书,书本知识专业性太强并且缺少口语化的段落,即使你能够投入100%的精力去学习,也不一定能有比较好的效果。此类人群我会比较建议先从视频看起:
- 首先B站上入门级的教程有很多,讲的也不会特别深,可以先从一些简单的基础知识介绍开始看看,理解了各个名词的含义,再开始慢慢看进阶视频。
- 然后可以去各个程序员论坛刷刷帖子,多看多想,上面大佬比较多,在之后的正式学习中,遇到问题也可以在这些论坛上找到解决方式。
- 同时也可以报个培训班去跟着老师慢慢学,大学没有选择计算机专业,你想要系统化的学习也只有这条路可以走。
结语:
计算机科班出身的应届生,即使缺少实操经验也有一定的工作机会,而零基础从入门到可以开始找工作不是一朝一夕的事,开始学习之前,首先要问自己几个问题。
- 有足够的时间和经济去支撑自己学习吗?
- 有信心坚持下去吗?
- 会受到其他重要的事情影响吗?
行动力是做好任何事情的关键因素,从你决定要学习Java开始的那一刻,最好马上复出行动。世上没有绝望的处境,只有对处境绝望的人,Java的难度还不至于到绝望的程度,更何况现在这个时代,获取信息的媒介多到你无法想象。我敢说只要你真心想学,并不断的进行实践,就一定可以做到。
