请问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颗星星了,发布之处,还获得了一周热门推荐:
总而言之,就是多参与到实践当中去,只有多实践,才能把我们所掌握的理论知识最大化的固化到我们的脑海中,形成我们自己的知识体系。
祝早日成为大神!
关注 银河架构师,发现更多科技精彩内容。
这是一个大家常问的问题了,Java的学习一定是要适合自己才可以的,不仅是Java是学习其它的学习也都是一样的,无论学习什么技术内容第一个条件就是要适合自己,要不再花费了时间和精力,甚至还有大量的金钱的情况下选择一个不合适的技术进行学习,到最后很容易导致浪费。
下边我们就来说一下Java该如何进行学习?
1、在决定学习Java前一定要先去了解一下Java行业的发展和Java岗位相关工作内容需要掌握的技能有哪些,通过了解这些内容,我们大体上就可以决定在找学习资料或者的找Java培训机构的时候应该如何去找什么样的课程比较好。
2、确定自己适合自学还是要报名Java培训机构学习,自己根据实际情况进行选择即可,选择一个合适的学习方式可以大幅度的增加学习效率。如果不太确定的话可以自学一段时间体验一下在做决定,可以到b站上边学习依稀下尚硅谷的教程视频。
3、制定一个系统的学习计划,尽量把每一天学习的内容都确定好,什么时候进行视频教程的学习,什么时候进行课程的相关练习。一个好的学习计划也能够提升一定的学习效率。
4、一定要结合实际项目进行学习,要多动手进行实战,先可以从基础的理论课程案例学起,学习优秀案例能够更快的掌握相关技术,然后,在逐渐的过多到整个项目的开发学习。项目的学习除了可以帮助学员更好的掌握相关技术,同时也可以学习一定的项目经验,工作后可以更快更好的融入。
本人it从业14年,谈谈自己的看法。
1、首先,一门语言的学习路线首先都是基本数据类型,Java是面向对象语言、面向对象的基础必不可少,然后会学到异常处理、输入输出流、多线程、数据库编程、网络编程、反射等等必不可少的基础,基础一定打牢、后面会触类旁通。建议一本书《Java编程思想》(要反复研读、每次都会有新收获)。
2、除了理论学习,一定要结合实际项目,要动手来实战,先从改别人的代码做起,学习优秀代码的书写规范对自己的习惯养成很有帮助。github是必不可少的学习园地,可针对某个场景搜索解决方案。
3、再次强调,基础一定要打牢,接触过很多开发人员基础不扎实,不理解原理本质,甚至连javac都不知道、在开发质量和解决问题时都比基础好的同事差很多,所以一定是理论+实践,重视数据结构、算法等没错的。
4、最后,一定得坚持,一两天都能做到,长期的坚持积累就很不容易了,一份付出一份回报,学到的都是自己的,形成学习习惯后终会成为大牛的。
加油💪!
学了基础后可以开始学习主流框架,比如springmvc、mybatis等等,不同的场景会有对应框架,可学习的内容还是很多的,你所说的爬虫只是很简单的网络编程加上html结构解析就可以搞定,Java、python等等都可以easy完成。
很多培训机构基础讲的不深,直接上项目,可以快速上手、但一定
老生常谈的问题了,为什么这么讲了呢?无论学习什么,首先都会有人问这个东西该怎么学习?怎么学习效率高?有什么好的方法?也都能找到各种五花八门的回答,但无外乎都是先打好基础,结合实践,最后后慢慢进阶。其实也就是这样,学习没有捷径,只有一步一步脚踏实地,慢慢积累,下的功夫足够了,自然就会了。
但是呢,各个行业的学习方法上是有一些差异的,就it行业来说,学的东西基本都是用来应用的,所以多动手是必不可少的,无论是打基础,还是后面的进阶学习,多敲多思考是贯穿始终的,遇到不懂的始终想不通的,不要管,往后看就对了,不要钻牛角尖,这些问题往往是由于你的知识面太窄了造成的,所以看到后面,前面的自然就顿悟了。总之,脚踏实地,慢慢来,坚持不懈,两个月se基础语法,面向对象基本特性都能够掌握的差不多。
随着你学习的深入,你会感觉自己什么都会了,无敌的感觉,那么恭喜你,刚刚踏进门槛,但还没有入门,我把这个阶段称为“门外汉阶段”,这个阶段,你的见识太少,觉得自己什么都会,其实只是个井底之蛙。
很快你就会度过这个阶段,突然有一天,你感觉自己什么都不会了,你很迷茫,觉的路很长,走不到尽头,这个时候你才全是真正的入门了,达到第一层。
继续往后,你会发现,入了门之后,学起来变得轻松许多,不是自己的代码也能读懂了,学习起来如日中天,这是也是你技术大幅提高的时候,也就到达了第二层。
再往后,你的技术越来越高,你发现自己懂的却越来越“少”了,这时候你的眼界比之前高了好几个层次,视野更大了,看到的东西很多,觉得自己懂得太少,这才到了第三层。
于是,你不断地学,不断地补短板,了解的越来越多,你又发现,自己好像又什么都不会了,就到了第四层。
有一天,你发现第一层到第四层是个循环的过程,你瞬间明白其实it行业就是这样,技术更新迭代的很快,今天你是行业大佬,明天你可能就成了“门外汉”,只有保持不断学习,才不会被行业淘汰,这就是第五层。