1、什么是学习
学习通过自己体验或者他人教授而获得对各种具体和抽象事物的认知过程。亦即学习是一个过程。这整个过程中始终存在着两个方面,“学什么”和“怎么学”。
“学什么“指明我们学习的内容,只有明确知道了学什么不至于徒劳无功。
”怎么学“指明学习的方法,只有知道怎么学才能够事半功倍。
所以学习前首先要明确”学什么“和”怎么学“。但是,问题就在于对于一个未知的事物,我们怎么才能知道学什么和怎么学呢?
2、学什么
在讨论学什么之前,我举两个个例子说明一下自己的感受。
例子一:我在做一个windows下webservice项目的时候需要连接Oracle数据库,当时第一个反映了上网找连接oracle的方法,很容易google到jdbc-odbc连接oracle,连接测试轻轻松松成功。我想很多人也像我这么做,或者比我考虑的更周全。后来无意中翻出一本将连接oracle的书籍,看到java连接oracle的方法一共有四种,每一种都有其优劣,目前比较好的是类型四的驱动程序连接,如果webservice部署在weblogic这样的中间件中可以利用类型三的驱动,使用weblogic管理连接池。而我做项目的时候确实用的效率和性能最低的jdbc-odbc方式。所以对某一技术的整体了解使”学什么“不再像表面上看起来那么简单
例子二:我以前做到一个linux下的数据处理项目,要用JAVA语言,很明显要学习JAVA了,学什么很明确了。于是翻书,看视频。最终项目也做起来了。这里我有一点自己的思考,JAVA语言本身各类技术知识庞杂,例如,字符串连接用String‘+’String可以实现,用StringBuffer可以实现,也许项目里用的就是String+String 来实现的频繁连接,其好坏在此不再赘述;又比如对各种容器的使用是否考虑到线程安全等等诸多边边角角的问题。这些细节问题也许不妨碍你完成项目,但却极大的影响项目的质量。所以这些纷繁复杂的细节使”学什么“变得不再像表面看起来那么简单
所以我认为不论对于任何知识”学什么“主要是两个方面:整体的学习和细节的学习,亦即系统化学习,也就是将自己的知识系统化。
想想以前刚接触计算机肯定以为计算机不过就是语言,后来发现计算机还有数据结构,再后来发现计算机还要算法,在后来发现计算机大部分是数学。所以说虽然我们知道要学习整体和细节,要将自己的知识系统化。但是,我们有时很难认清系统学习到底要学习那些,学习内容的整体光框架是什么,哪些细节又是必须要注意的。接下来我就讲一下自己对怎么学的认知。
3、怎么学
”怎么学“主要解决的两个问题:如何不断完善自己的知识体系,在完善知识体系的过程中该如何高效的学习,以及知识如何应用
个人认为如何完善知识体系是一个大的循环过程,讲究效率和学而能用是正事正确学习方法的精髓。
以下是我的草图:
qi zhong you shi jian xiang yao xue de guan jian shi : ba wo zhong dian he ren qing gong xing wen ti.
you yao xue xiang yi xue de guo cheng shi zhi dao wei shen me xue ta ,jian li kuang jia
practise makes perfect.