|
当你真正意识到该学习的时候,可能学习效果才最好。
首先你是真的想学习,而不是跟风java,在最开始的时候你可以选择利用网上的资源去自学,这里先和我了解一下学Java学什么?——现如今java基础学会,再学个ssm框架已经找不到工作了,要学技术栈的话就是spring boot,mysql,redis这些,一般去公司的话刚去会CRUD就可以的,基本技能过关,上面交给你的活不出错就没问题。
工作过程中关键看公司用的什么技术栈,像rabbitMQ这些都是加分项,知道了更好,不知道也没什么关系,后期进阶可以作为一个方向。计算机基础、数据结构、计算机网络这些一定要看,这些能帮助你在工作中如虎添翼。
一、我推荐的学习方法,大家可以看看
不建议小白一上来就看书,这也是我一直以来的观点,我认为刚上来就看书,不仅看不懂,还会造成厌学情绪,从入门到放弃真的很快。所以建议大家可以看一些基础类的教程,等有了一定的基础再去看书,相信效果会好很多。
关于视频教程,现在网上资源泛滥,很多人都是直接摆一堆资料和教程的图片,然后最后再放联系方式吸引领资料(见过很多次了),大家也可以找这些渠道领取,但最好还是建议找一些最新、最系统的教程,这里推荐3个渠道:
- 一个是程序员博主推荐的,像鱼皮、沉默王二这些人推荐的学习路线,大家可以参考;
- 另一个就是在github上有很多前辈总结的学习路线,多数资源都是直接罗列好的;
- 最后一个就是在知乎、csdn这些平台去找一些高赞资源,或者一些机构放出来的免费教程等;
二、这里还有Java学习计划表
每天学习5-6小时,学习半年左右,这样下来找个实习没问题了。
- 看视频:这个没什么好说的,新手小白压根不用看书,直接看视频跟着学,当然要选择自己能看得懂,是面向零基础的视频
- 敲代码:看十遍不如敲一遍,很多人都说一看就会,一学就会,那是你太依赖视频了,适当的时候放下视频,自己敲代码试试
- 做笔记:不知道有的人会不会说现在的资源这么多,哪还用自己做笔记呀,这里想告诉你的是,别人的笔记是别人脑子里的知识体系,你要形成自己的知识体系
- 看书:等你学的差不多了,能看懂书的时候就可以开始看书了,如《java核心技术2》、《java编程思想》等
学习阶段 | 知识点 | 第一阶段:Java基础 | 计算机基础,java基础语法,流程控制和方法,数组,面向对象编程,异常,常用类,IO多线程,GUI编程,网络编程,注解和反射,23种设计模式,数据结构和算法,正则表达式 | 第二阶段:JavaWeb | MySQL初级,JDBC,HTML,CSS,JavaScript,jQuery,Http协议,Tomcat,MVC三层架构,过滤器,监听器,文件上传下载 | 第三阶段:SSM框架 | Maven,Junit,MyBaits,Spring,SpringMVC,JSON,Ajax,SSM框架整合,Git,MyBaits-Plus,MySQL高级 | 第四阶段:Linux运维 | Linux基础,Shell编程,Linux系统管理,Linux网络,LAMP平台部署,LNMP平台部署,Nginx,ELK日志分析,MySQL集群,Redis,Linux集群,Docker | 第五阶段:微服务和分布式 | Vue,Node.JS,Spring Boot原理,SpringData,SpringSecurity,SpringBoot分布式开发 | 三、学Java要不要看书?看什么书?
个人经验来说,其实并不是先看书,而是先学知识点,看视频上手操作,最后再是看书。
希望大家根据Java学习路线来看书,从先看懂一本书来学习,找一本书读三遍。第一遍通读,第二遍跟着动手,第三遍就是查漏补缺地学习。
- 第一阶段(入门):
- 《Java编程思想》第4版
- 《Java核心技术》
- 《Java编程规范》
- 第二阶段(进阶):
- 《代码整洁之道》
- 《Java并发编程实战》
- 《深入理解Java虚拟机》
- 第三阶段(高级):
- 《Java性能权威指南》
- 《Hadoop权威指南(中文版)》
- 《Java消息服务》
- 《大型网站技术架构》
四、免费视频教程分享
Java基础
基础阶段如果你什么都不知道的,可以先从JDK、IDEA开始上手试试,另外像数组、运算符、面向对象等等这些基础知识也是非常重要的,下面我推荐的这个教程里有一些小案例如双色球、买飞机票、数字加密等等,学起来还是不至于枯燥的。
JavaWeb
关于这阶段的学习主要是要为微服务打下坚实的学习基础,包括 javaweb+mysql+maven+html+css+ajax+vue+项目实战等内容,这套教程的好处是比较极简吧,一些知识点什么的都很简洁易懂,很方便大家上手操作。
框架学习
现在企业级开发的项目多数用的Spring Boot框架,形象地说,Spring Boot就像一种快速、有效的“万能胶”,它几乎能将Java领域的所有框架与Spring框架迅速地整合在一起,而且由于Spring Boot为这些框架的整合提供了自动配置功能,因此整合它们几乎不需要提供。
Redis
你需要了解 Redis 的各项关键技术的设计原理,这些能够为你判断和推理问题打下坚实的基础,而且,你还能从中掌握一些优雅的系统设计规范,例如run-to-complete 模型等等,这些都能帮助到你后期的开发实践。
要知道Redis 是一个非常优秀的系统,它在 CPU 使用、内存组织、存储持久化和网络通信这四大方面的设计非常经典。
微服务
这里的话重点可以用项目来带动学习,给了大家一些资源也,另外学技术的话大家要知道学什么?要学那些?能派上哪些用场?解决什么问题?围绕这些问题来学习就可以啦。
- Maven 从基础到高级应用
- 全面学习 Mybatis 插件之 Mybatis-Plus
- Java 微服务支付项目实战
- MongoDB 基础到进阶
五、一些不错的开源项目
练手小案例
- Flappy Bird:https://github.com/kingyuluk/Fl
- Hutool:https://github.com/dromara/huto
- Java小游戏:https://github.com/AlmasB/FXGLG
商城类项目
- SpringBoot 完整电商系统 Mall:包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。
- paascloud-master:基于 spring cloud + vue + oAuth2.0,前后端分离商城系统
- mall-swarm:mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。
- onemall:mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。
- xmall:基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理系统
博客类项目
- My-Blog: My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验。
- community:码问,开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap
|
|