如何系统地自学Java?
学习的话,一定需要有自控力,系统的学习,老师也是讲授知识,学习还是靠自己。
一定要提前预习,预习是很重要的,学习的过程有问题和bug学会问百度,你现在遇到的问题,基本都遇到过,所以解决方法是绝对能找到的。代码一定要多敲敲,这样才会养成编程思维。
需要掌握的技能
- 深入理解Java面向对象思想
- 掌握开发中常用基础API
- 熟练使用集合框架、IO流、异常
- 能够基于JDK8开发
- 掌握最流行关系型数据MySQL常见操作
- 熟练增删改查数据处理
- 掌握Java JDBC、连接池操作
- 掌握基本的JavaWeb基础知识JSP/Servlet/jQuery等
- 具备基本的B/S结构软件开发能力
- 可以动手开发一个B/S架构的Web项目
- 掌握SSM框架技术
- 掌握使用Maven进行模块的开发
- 熟悉基本的Linux命令以及Linux服务器的使用
- 掌握高级缓存技术Redis的原理,并熟练使用
- 分布式管理系统、Keepalived+Nginx主备、微服务架构技术、消息中间件技术、MySQL调优、高并发技术、性能优化、内存和GC等
首先,Java作为一门适用性很强的语言,入门是不难的。
但要系统全面地自学Java,那可就很难了!
如果每个人都能通过自学,系统全面的掌握Java。
那还要开设计算机专业干嘛?还要培训机构干嘛?
1、自学java难在哪儿
- 没方向,无从下手,容易形成东一榔头西一棒槌的学习状况;
- 学习是反人类的,一个人学习是“要命”的。寂寞孤独、枯燥乏味;
- 长时间看不到成绩,容易自我怀疑。
真的不能自学JAVA了吗?当然不是!
在你知道了自学会面临哪些困难,依然坚定不移地要踏上自学之路时,
说明你具备了自学的核心要素之一:强大的信念
2、如何自学java?
有了坚定的学习信念后,咱们再来说怎么学。
网上学习的资料有很多,但我们首先要有个清晰的学习思路。
我个人觉得java学习大致可以按这几个阶段来:
第一阶段:基础课程学习
包含Java开发介绍、Java数组、Java面向对象、常用基础类、集合、IO流、多线程、异常、反射等;
第二阶段:java Web
包含HTML5课程、CSS3、JavaScript、MySQL使用、JDBC连接池、Servlet、JSP、AJAX、jQuery、Bootstrap。
第三阶段:Java框架
内容涉及:Spring、Spring MVC、MyBatis、SVN、Git、Maven、SpringBoot等
3、自学java需要哪些工具
- 一本经典书籍
java算是殿堂级别的编程语言了吧,我们能找到很多不错的相关书籍。
比如,《Java编程思想》、《Java核心技术》
而书籍相比于视频课程来说,更体系化,知识点更全面。
- 视频课程
这类视频课程网上不少,高赞回答已经罗列了很多JAVA系列课。
代码森林、实验楼这些网站上也有很多课程资源。
但我们在学习的时候,别只顾着看,
你得自己把课程里的代码一行一行敲出来。且尽量多敲几篇。
- 一个好老师
说实话,编程这件事儿,完全靠自己学是不现实的。咱们得找个大腿来抱!
有时候大佬的三言两句,就能为你指点迷津,节省一两天的时间。
最后
学习不是闭门造车,找到一群志同道合的张学友,会事半功倍哦!
不是因为他们唱歌好听,而是你的问题,他们刚好也会遇到。
相信这个问题许多同学都很疑惑,那源妹儿就用源码的课程来告诉大家:学习Java的路线是怎么样的:
第一阶段:Java编程入门(JavaSE)
Java基础语法、面向对象编程思想。
第二阶段:JavaSE进阶
Java常用API、多线程并发编程、数据结构/集合框架、IO/反射/注解。
第三阶段:主流数据库管理系统
MySQL/Oracle、JDBC。
第四阶段:JavaWeb开发技术详解
JavaWeb前端、JavaWeb基础、JavaWeb基高级。
第五阶段:大型项目实战
内容管理系统(CMS)-团队协作、全栈springboot+ssm项目实战(多项目选择)、前后端分离+微服务项目实战(多项目选择)、大数据实践、移动端微信程序项目。
第六阶段:前沿高薪技术
短信验证码集成;第三方支付(微信或支付宝)第三方登陆技术;阿里OSS存储.....
第七阶段:就业与服务
就业指导、面试直通车、售后服务。
全程多个项目演练,让你迅速知晓自己的掌握情况,并且毕业后可以直接将项目经验写在简历里。
还会根据IT市场更新课程内容,让每一位同学能学到与就业市场1:1匹配的IT技术。
请问java如何学习?
首先,对于IT行业来说,基础最重要。万丈高楼平地起,不论什么技术、中间件、工具,都是由基础知识为根基搭建起来的。就像建造大楼,没有水泥、钢筋、混凝土,也建不起来。
基础知识是所有技术的根基,应该花足够的时间学习、巩固。
Java开发方面的知识不少,总结了一下:
- 计算机基础,计算机原理、数据结构、算法基础、网络原理、操作系统原理、数据库原理、汇编原理等等;
- 编程语言基础,Java基础知识、JVM内存模型、GC原理、性能调优、设计模式、数据结构Java版等;
- 架系列,Spring系列如Spring Framework、Spring Security、Spring Boot、Spring Cloud等、Redis、MongoDB、ActiveMQ/JMS/RocketMQ/RabbitMQ/Kafka、zookeeper、dubbo等框架、中间件;
- 架构基础,CAP原理、BASE原理、Paxos、Raft算法、高性能架构理论、负载均衡算法、网关、流量削峰等等;
- 容器化,Docker原理、k8s、DevOps原理与实践等;
- 高级技术,大数据、区块链
一定要自主学习
我们都是从学生时代过来的,可以说我们一生之中的知识巅峰时期,正是高中那三年,确切的来说,是高三那一年。各种资料、书籍、试卷堆积如山,一周一小考,一月一大考,反复强化记忆。
这说明,我们的大脑是健忘的,需要我们持续不断的去复习,去巩固。但是,其遗忘也是有规律的。一天后,只剩余了所记忆内容的四成,甚至更低。随着时间的推移,遗忘的速度会加快。
所以,我们要做的,就是持续不断的学习、复习、巩固。第二天复习巩固一下第一天的内容,一周后复习本周的所有内容。为的就是能记住这些东西,对抗遗忘。
抓住碎时间,挤出长时间
上班族最大的问题就是没有时间,偶尔过个周末、放个假,还想歇一会儿,或者追个剧。那怎么办呢?其实,我们可以利用碎片时间。比如,在公交车上,地铁上,路上,我们都可以以各种形式记忆知识,比如听音频内容。
但是,碎片化时间毕竟有限,我们要做的,还是需要挤出来长一些的时间,多学习复杂的知识,可以看视频教程,也可以自己研究、自己实践。周末了,拿着电脑,去咖啡店,一坐一天。
固化知识
主动学习的效果是最好的。那作为Java开发者,我们该怎么主动学习呢?
此时不要觉得你已经学到了Java的知识。其实不然,这些知识知识在你闹钟游离,随时都有可能离去,而我们要做的,就是要固化这些知识,让他们彻彻底底的变成自己的资产。
而此时,笔记、博客等都是很好的方式。
把我们平时遇到的问题,归纳总结,然后组织语言描述出来,发到博客上,一方面巩固了自己的知识,另一方面也帮助了他人,何乐而不为呢?
实践里面出真知
光说不练假把式,掌握再多的理论知识终归无用,还是要看动手能力的。在学了这些理论知识之后,一定要试着自己做一些挑战性的项目,或者试着参与一些开源项目。
下面就是笔者花了1个月的时间,做的一个开源的定时任务调度框架开源项目,已经212颗星星了,发布之处,还获得了一周热门推荐:
总而言之,就是多参与到实践当中去,只有多实践,才能把我们所掌握的理论知识最大化的固化到我们的脑海中,形成我们自己的知识体系。
祝早日成为大神!
关注 银河架构师,发现更多科技精彩内容。

