首先我给你一个肯定的答复,现在的公司和企业,基本上会关心你是不是半路出家自学出来的。他们看中的都是你的技术水平和开发经验,你永远都要相信这个。
那么对于一个之前从未接触过编程,想要通过自学Java技术从事这方面的岗位工作,如何自学呢?自学过程当中应该注意哪些问题?下面我们就详细的来说明一下。
知己知彼才能百战不胜,首先你学一个技术,必须对这个技术的整体行业有所了解。要搞清楚目前Java应该学习什么内容,这是最基本的常识。
2020年应该学习的Java内容如下:
JavaSE:Java基础,既然是基础,那肯定是最重要的,所以学习的时候也是需要重点学习的地方。
数据库:为什么要学数据库呢,因为我们的web数据需要持久化到磁盘上统一管理,而数据库无疑就是最好工具。目前主流的关系型数据库有mysql 和oracle。我建议先学mysql。为什么呢mysql相比Oracle难度要低,而在国内应用场景又是最多的。
学会了mysql可以开发出一个完整的产品了,再学oracle都可以的。
前端基础:既然是做一个网站,那肯定不能是后台的数据,这样用户也是没办法看的,所以需要学习前端知识,把数据展示到页面上,而对于后台人员来说,学习阶段只需要学习前端基础就可以了。Html 、js、css、jquery就可以了。当然到离开后期你也可以学学专门为后端人员定制的前端框架,比如,layui,easyui。如果还觉得不够可以学学前端专用框架。比如vue element ,但是大前提是把自己的后台学到位了再学其他的。
Javaweb:jsp、servlet。为什么用了html还要学jsp呢。因为jsp和Java是无缝连接的。学了javaweb以后就可以自己做一个项目出来了,比如你想做一个个人网站。你可以给你们学校做一个教务管理系统都是可以的。
Spring:后台框架。为什么要用框架呢,可以快速开发,并且降低了耦合。Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用,Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
Mybatis:持久层框架,当然持久层还有一个框架应用也很广的,那就是hibernate,一个是半自动的一个是全自动,而在国内应用最多的是mybatis,在国外用得最多的是hibernate,具体原因,大家可以百度查查。持久层框架有什么好处呢?如果你用原始的jdbc做开发,那你得自己来管理每一个连接,连接的打开和关闭,都是有开发人员来操作的,而且jdbc也没有实体的映射,需要我们写代码把值set进去,而用了框架这些都交给框架去做了。
Maven:mavne是一个工具,他的核心是pom.xml,这个配置文件,pom的全英文是project object model,意思是对象管理模型,也就是把项目也看成一个对象来操作了。给我们带来最直观的好处就是依赖问题,以前我们需要自己下载jar包,在构建到项目中,但是有了maven只需要写jar的依赖就可以自动给我们下载了。
Springboot:springboot是基于maven的,springboot最明显的特点就是开箱即用,也就是构建了一个springboot项目 直接就可以做开发了,而不需要像我们自己配一个springmvc的框架一样的需要去配置大量的xml文件。让我们开发人员更着重于业务上的开发。
Redis:前面的mysql,oracle是关系型数据库,什么是关系型呢,就是一对一 一对多 多对多。有表与表之间有这些关系在,所以就叫关系型数据库,而redis就是非关系型数据库,也就是他存储数据之间是没有这些关系,他是以键值对 list set方式存储的。
Springcloud:微服务框架,什么是微服务呢,就是把我们传统的单体服务拆分开了,就是将一个单体架构的应用按业务划分为一个个的独立运行的程序即服务,微服务架构其实就是一个分布式架构,具体的就不详细的讲了,因为这里面牵涉到的解决方案是灵活的。
Linux:linux的应用通常都是在底层,那我们上层开发人员为什么也要学它呢,其实我们的主要应用是在服务器上,也就是服务器的系统。当然系统也有Windows的,而Windows的和Linux的区别就是Windows服务器有问题是微软来解决,很方便:别人替你做,但也不方便:你遇到问题都得让他官方来解决漏洞,但是Linux就不一样,他是完全开源的,有问题自己马上就可以解决,只要开发人员能力够硬去改内核都是可以的。
Git:版本管理工具,与之对应的还有svn,最大的区别在于git是分布式系统,而svn不是分布式的,因为你们进企业以后都是协同开发 也就是一个项目小组里面几个小伙伴一起开发一个项目,所以就要有一个代码的管理工具来保证你们做的不同模块可以整合,所以说git也是需要学的。
了解了Java应该学习什么内容后下面你应该这样做:
制定一个适合自己的学习计划和学习路线,这个需要根据你每天的学习时间来订,我的建议时间是6个月就是半年的时间,能否自学成为,就完全看你这半年的执行力了。每天的学习内容要定量,分割成平均等分,这样的学习Java才叫“循序渐进”,有规律可言。每天学什么新的知识点,每天写什么作业,做什么练习,今天学了的新知识要理解到什么程度,这是比较正确健康的学习方式。
这里有一个Java新手学习交流群:3907814,里面有2020年最新Java基础精讲视频教程,群文件还有我做Java技术这段时间整理的一些学习手册,面试题,开发工具,PDF文档书籍教程,需要的话都可以自行来获取下载。
学习Java编程有很多误区,少走弯路才是最好的捷径:
1.很多人凭着自己的感觉乱学,无脑的看视频,他认为一直看视频就是在学习Java技术,大错特错,这跟刷韩剧没什么区别,看完就忘。课后反复的练习,做大量的代码是决定了你是否可以找到一份月薪不错的Java开发工作。盲目自学的人就是反复的浪费时间,浪费生命。
2.初学者自学Java的时候不要看书,我知道每个人都有适合自己的学习方式,书籍永远也是一个不错的学习工具。但是对于一门IT技术来说,更多的是需要我们看视频教程,动手去练习,以此在脑海当中产生深刻的记忆,再者,对于一门编程语言,书籍能诠释的东西毕竟有限。把书籍利用最好的方式是你学完了教程之后,学完了今天的内容之后,然后在看书补充一下理论知识,对于今天学习的内容有一个更加深入的理解,而更多的Java技术性书籍都是工作之后才看,这样才能发挥出最大的用处,这是我的见解。
3.学习Java专业知识一定要有懂技术,有经验的老师带着我们学。在整个自学Java的过程当中我们肯定会遇见很多问题,当然我们遇见问题可以自行去百度,去相关的技术论坛请教,但不是所有的问题都可以去百度,也不是所有的问题都适合去百度,也不是我们遇见问题去相关的论坛请教,就会得到及时的答复。这个时候老师的作用就体现出来了,帮助我们解决问题,制定规划,扫除盲区,以此提高我们的学习效率和学习积极性。
你学Java肯定是为了就业,明确应该达到什么水平是目标:
没有目标的学习是盲目的,目前Java的重点在于JavaSE、数据库、框架这三个部分,其他的部分会简单的操作就可以。现在想要获得一份Java开发10K以上的工作,唯一的标准就是你符合你面试公司的做项目的水平。“能达到做项目的水平”就是你需要在学习过程中达到的目标。那么在整个过程中你至少需要做三个项目,多少要积累一些项目经验,而在整个学习过程中,你跟专业的老师交流的过程是学习东西最多的也是最重要的“编程思维”。
总结:
1.先了解Java都学什么。
2.制定每天的学习规划。
3.运用最好的学习方法。
4.明确的学习目标(就业水平)。
5.一个专业的老师全程带你。
以上就是一个初学者应该考虑的事情,仅供参考。有学习Java任何的疑虑可以来咨询我,希望可以帮助你少走弯路。