2018-04-28 14:21

 版权声明:本文为博主原创文章,未经博主允许不得转载。

  打个好基础

  任何语言学习都可以分成两部分:语言基础和具体开发。

  语言基础就是变量、函数、基本面向对象、各种语法。

  具体开发就是语言在具体领域的应用,这个领域的开发环境、特定的库、领域概念、开发实践等。

  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



 版权声明:本文为博主原创文章,未经博主允许不得转载。

评论

kvc636757024

#2

kvc636757024

http://v.qq.com/x/search/?q=%E7%BC%85%E7%94%B8%E5%8D%8E%E7%BA%B3%E5%A8%B1%E4%B9%90%E5%BC%80%E6%88%B7_18183615678
2020/06/26 14:08回复
kvc636757024

#1

kvc636757024

http://v.qq.com/x/search/?q=%E5%8D%8E%E7%BA%B3%E5%A8%B1%E4%B9%90%E5%BC%80%E6%88%B7_18183615678
2020/06/26 14:08回复