几年前进入到IT行业,现在发现学习Java的人越来越多,今天我想根据自己的行业经验给大家提一些建议。跟其他行业相比,做Java开发的岗位确实算是高薪职业,我们那个时候起步的工资并不高,而看现在很多毕业的学生薪资都是8000起步,工资越来越高是肯定的,因为现在都伴随着通货膨胀。
目前Java程序员如果拥有两年开发经验,他的薪资范围最少都要在10K这个阶段,所以就导致来转行学习Java的人越来越多,毕竟现在做其他很多行业都赚不到什么钱。但是高薪并没有像大家想的那样容易拿到,很多人都认为身边的朋友有做Java开发月薪都几万几万的,但是我们往往忽略了他们在学习技术上付出了多少辛苦,只是看到了别人表面的风光而已。
但我认为问题的关键还是很多人忽略了学习Java语言的难度,想转行学习Java的人虽然不少,但最后真正能成功的也就是百分之一二的概率,这些人往往学习能力强,有强烈的赚钱欲望,并且不怕吃学习的苦,肯付出时间去研究学习。而很多人都想走捷径,以为参加个培训班就可以高薪就业,有这样想法的人都想的太简单了,线下培训班的水有多深,懂行的人都明白。
我用了五天的时候整理了今年我认为Java就业的主流技术栈大纲,由于内容实在太多,我就能弄成了一张长图,如果你需要实体图的话,可以直接管我要。
自学Java必须注意的问题:
(1)代码规范
初学者一定要注意培养自己的代码规范,每行代码必须要注释,我之所以只学了5个月就能拿到9K的薪资,就是因为我代码规范很好。其实一个初学者在开始的时候能培养出好的代码规范很难,这源于在整个学习过程中有大佬带我的原因。
(2)交流沟通
切记不要认为自己可以摸索自学成功,能达到一定高度的水平,一定离不开很多专业人的指导,所以多认识一些大佬尤为重要,圈子真的可以决定我们可以达到什么水平。如果大家找不到合适的圈子,我强烈建议大家添加下面的Java技术研讨群,多认识几个大佬对于职业生涯有好处。
(3)效率:
能快尽量快,如果你已经决定要转行学习Java,就千万别拖泥带水,把大部分的精力都投入进来,如果你是那种三天打鱼两天晒网的情况,我劝你尽早的放弃不要浪费时间,有这个时间去锻炼锻炼身体不好吗?
(4)学习心态
一定要抱着决心转行的心态来学,自身的意愿强度决定了你是否能转行成功。
给自学Java的初学者的学习建议:
1.了解如今的市场,都需要掌握哪些主要技术就可以快速就业,目前的企业都需要什么人才,这是你学习的方向和目标。
2.系统的学习规划: 有一个整体学习大纲,要知道自己每天学习什么,做什么练习进行知识巩固,一个阶段学完后应该完成什么项目实战,进行循序渐进的学习,不可以盲目的瞎学。
3.一个大佬的指导: 作为一个初学者一定要记得找大佬指导你,即使是花点钱也没关系,只要你能把技术学好就行。自己摸索基本都是弯路,很多人为什么学了一两个月就放弃了,因为他不知道路在哪里,整个人都是迷茫的,自然容易放弃。但如果你有了一个大佬带你,他就会给你做详细的学习计划,给你安排好一切,在整个学习过程中给你解答疑问,你学习起来就会思路清晰,简单效率。
Java主要的学习内容:
一、JavaSE基础篇
JavaSE就是一种标准版,是Java语言的基础部分,Java衍生出来的各种框架(如Spring系列)各种产品都是基于JavaSE标准,JavaSE是Java向上发展的基础,Java任何高级产品的底层基础都是JavaSE,通俗来讲这是所有孩子的”爹“。JavaSE如果学不好,理解不透彻,后面学习框架时就有如天书一般,所以JavaSE这部分的重要性是不言而喻的,希望各位初学者铭记。
主要包含内容: 数据类型、基础语法、运算符、流程控制、数组、面向对象、常用类、异常处理、集合、IO流、多线程、反射、注解、解析、网络编程。
2022全新版Java入门教程_Java零基础小白自学Java必备优质教程
二、数据库篇
数据库是学习Java语言必学的一项内容,常见的数据库就是MySQL和Oracle这两种,作为初学者一般都是学习MySQL为主,一般情况下中小型企业都会选择MySQL数据库,比较大型的互联网公司会选择用Oracle,而学习Oracle相对于MySQL也要复杂一些,建议是主要学习MySQL数据库,Oracle作为了解即可。学习数据库较为简单,基本的操作就是增删改查。
MySQL数据库零基础入门到精通全套教程_Mysql基础_最常用的数据库
三、Web开发
Web前端内容: HTML/CSS/JavaScript/(前端页面)
注意:Java后端开发可以不用过多关注HTML页面及CSS的处理,但是最起码要会用简单的HTML,JavaScript是必需要会的,因为Javaweb后端程序员毕竟要接触使用AJAX方式处理数据及显示。当然如果只关注服务器端实现而不考虑任何用户界面,则HTML、CSS、JavaScript都不用关注,但是完全脱离前端的开发现在虽然也不少,但是绝对不关心前端是不可能,尤其是JavaScript,但是前端却可以完全不关心服务器后台的任何实现。
web前端_HTML5+CSS3零基础视频教程_HTML5课程实战课程
JavaEE内容:Servlet/JSP
虽然现在网上在传JSP很少用了,可能是被一些模板或JS AJAX方式代替了一些,但是我认为还是应该接触一下,万一要用到不会怎么办,而且它是Java EE的动态网页实现标准组件。学习JSP过程也能更好的帮助我们理解web会话的过程,掌握web会话都有哪些我们必需知道的。如果学习Javaweb、JSP都不接触那就相当于学习使用Springboot而一点不接触SpringFramework一样,岂不是稀里糊涂。包括开发Javaweb 我们必需知道的概念诸如Web应用上下文,请求对象,响应对象,HttpSession,Cookie等都是在接触学习JSP和Servelt中体现的,还有一些比较少见的EJB JSF JMS 以及 Java Felix等。
一些初学者不清楚这些难免会有误区,尤其是有些较成熟的工程师也这么说,我只能说他们很无知,只是代码机器而已,其实对于应用开发设计也就稀里糊涂,人云亦云罢了。
永远没有被淘汰的技术也没有永远流行万能的技术,要看在什么环境和场合应用,符合我需求的技术和工具就是好的,就是对的。
四、高级框架
1、Springframework 核心IOC容器
2、Spring boot 在Spring基础上的更全面提升效率的Spring工具
3、ORM 框架当今流行使用较多的是Mybatis 和 MP(Mybatis插件),Hibernate是可选性学习的
4、模板技术,比较成熟的Freemarker
5、Spring Cloud 微服务框架,Spring Cloud提供的全套的分布式系统解决方案。
Java微服务架构阶段SpringBoot实战视频教程
Java微服务架构阶段SpringCloud实战视频教程
五、工具
maven 是构建管理项目的工具,svn 和git是团队协作开发的项目源代码及相关文档资料管理工具,需要学习者初步掌握其应用。
像Tomcat,jetty ,resin,JBoss,GlassFish 等都是部署运行Java web应用的服务器。
Maven视频实战教程_maven构建项目_maven基础视频课程
以上就是初学者大概学习的内容,我是尽量站在初学者的角度来说的,没有写得特别复杂,怕初学者看不懂,没有实质性的帮助。所以我尽量用白话把话说的简单一些,给大家罗列出主要学习的Java知识点。
有任何关于Java相关的疑问,随时私聊我。