打个好基础
任何语言学习都可以分成两部分:语言基础和具体开发。
语言基础就是变量、函数、基本面向对象、各种语法。
具体开发就是语言在具体领域的应用,这个领域的开发环境、特定的库、领域概念、开发实践等。
Java语言的基础掌握起来并不能,可以借助网络资料,也可以借助在线课程。熟悉语言基础的关键,不在于看书看视频本身,而在于看书和看视频是否动手。
动手的途径很多,可以:本机环境练习;用网上模拟环境练习。
我建议你尽量用本机真实Java环境练习,因为模拟环境未必能模拟出真实编译环境的各种问题。
尽量保证自己能有至少100个小时的基础语法训练,才能形成基本的肌肉记忆。我建议你把练习代码版本控制起来,不要扔掉,给自己留个底,回头看一看有一定作用,看老代码新想法很常见。你可以把练习代码放到GitHub上,如果有人要看会很方便,,也会给你自己找一点流程的感觉。
要慢下来,如果过快,基础不打牢固,后面的高级技能学起来会很不顺手。
资料不是越多越好,而是要适合;学基础不是越快越好,而是要“主动”放慢速度。学习的一般规律是先慢后快,到后面速度会越来越快。
语法的学习最好全面一点,有的语法简单,很好上手,有的语法比较高级,背后有复杂的概念,也要学,也许不需要一下子全部记住,单要印象,这样用资料的时候不至于碰到完全陌生的代码。
心态和预期
学习一定会碰到问题,犯错误,尤其是初学。对待问题和错误的心态很重要,直接决定学习效果。
错误的心态有几种:
觉得自己是“知道”的,所以就放过去的
觉得错误是不“应该”的
碰到就躲,嫌麻烦
如果学习不和问题错误打交道,只拣好啃的骨头啃,那还学什么?学习过程中最有价值的地方,就是你碰到的问题,所犯的错误,用资料用个表面,学一点“容易”的东西,谁不会呢?
问题和错误一个个解决过去,解决一次很可能以后就不用解决了,这就是“经验积累”。
所以学习者应该有心态要对:
问题和错误是“正常”的,“必要”的
问题和错误是“机会”
今天解决,以后就轻松了
我建议你养成一个搜集错误的习惯,不需要和复杂,记一笔,放到一个地方就可以了,不需要记很多,解决一个删除一个,这个问题和错误清单能够帮助你集中注意力。
在具体开发中学习
过了语言这一关,你应该进入具体开发(边开发边学习),注意,开发在前,开发就是最好的学习,这个过程你会碰到更多问题,犯错误,什么是正确的心态,前面已经述说了。
Java的主要应用领域:
Web开发;Android移动开发;大数据处理
其他地方也有应用,这里就不展开分析了。
在你具体开发资料之前,要选一个方向,不要什么都学,不要贪,要做决定,要选择。
每个具体领域的开发所需要的领域知识都不同,用到的库都不同,开发流程也可能有微妙区别,同时学的后果就是互相干扰,会让你信息过载。
当你进入Java web开发的时候,你会同时学web开发的领域知识(domain konwedge),还会学和具体的技术栈,可以是框架、库或其他web开发用到的技术。Android移动开发和大数据处理也一样。
你学习语言基础的目的之一,就是能更好的学习和运用这些库,能把领域内的概念和实现用Java表达出来,你现在在“用”Java而不是“学”Java。
这个阶段,我觉得视频比较好,有几个优点:
新,相比很多书,视频课程更新
多媒体学习本身的优势,有声音、有图像演示、信息量大而且传播快
无论是书,还是在线课程只是工具,你榨取信息的工具。
榨取信息的目的是运用,运用起来你的学习进度条才会前进走,明白这一点至关重要。
使用具体开发的课程要注意:
1.有的课程会先交语言基础,你可以选择性略过,也可以温习一遍
2.课程并不需要多,一个领域最多两门课,资料不是越多越好
3.尽量不要碰“最新技术”,而是去学“最成熟技术”,成熟技术才是最好投资
精通
具体开发所花的时间,不能少于三个月,你可以做个大项目,你可以做多个小项目,但绝对时间必须保证,否则你立刻成为那种半吊子。在这之前不要去求职,你的简历还没有任何有价值的东西可写。有价值的东西,是指你通过这个工程所写的所有东西,尤其是项目和代码。
在具体项目的开发中(哪怕你是边开发边学习),你会“意识”到高级概念和实践的重要性,如设计模式,内存管理,高级语言功能,多线程,甚至数据结构与算法等等,当你有这个意识的时候,你的水平正大踏步往“专业”开发走去,这是开发中最难的部分。
当你想往简历上写“精通”的时候,指的就是这些东西,因为基础和基本运用时无所谓“精通”的。
你在学习语言基础的时候,很可能对这些东西有过印象,现在在具体开发中,你意识到了他们的实际“意义”。
这些高级技能,用视频教程的好处是能更好直观地理解,坏处是往往视频教程讲不到特别深,你可以考虑配合书本。
进入市场
你已经写了很多很多东西,对Java整个栈,对你选定的领域,已经充分了解,现在你缺的就是一份工作,成为Java开发工程师,你能在招聘网站找到很多工作。
但面试和求职是一个准备的过程,学好Java不完全等于你能驾驭开发工程师的面试,求职是一项重要的非技术技能。
此时你已经不需要初级面试题(如果你之前没有偷懒),你现在还做不了高级Java职位,因为你刚开始,而且高级面试题不在纸上,而是要用你几年的经验来回答的那些。
在线客服QQ:3315713922
相关推荐
Spring Boot 2.x 开发实战视频教程
http://www.kokojia.com/course-5368.html
CRM客户关系管理系统商业项目视频课程
http://www.kokojia.com/course-5360.html
ActiveMQ消息中间件实战视频教程
http://www.kokojia.com/course-5349.html
版权声明:本文为博主原创文章,未经博主允许不得转载。