如何才能達到一定的高度和深度
新進了項目組,再一次看到 頭 的深度和高度
看了這位仁兄的文章 感覺前面的路還長
http://keypoints.javaeye.com/blog/211814
1
Java 新技術學習 層次 方式
2
昨天我的一個在上海工作的學生在QQ上問了一個問題,今天才看到,現將我的回復發上來,也爭取一下大家的意見,怎樣才算掌握了一項技術,或者說怎么才能學會一項技術?
3
4
馬** 17:25:44
5
6
leo 你好,上網很少能碰到你,現在有個問題比較困惑:怎樣才算掌握了一項技術,或者說怎么才能學會一項技術?也許這些問題有點可笑,但還是希望能聽一聽你的指點 。
7
8
Leo 08:37:09
9
根據我的理解,針對一項技術的學習使用可以分為了解、熟悉、掌握、精通4個層次。
10
11
第一層次:了解。即知道是什么,知曉這個技術的概念、基本原理、定義、方法,而且自己能夠獨立的做一個DEMO程序。比如了解Hibernate就是知道Hibernate是一個Java數據持久化的一個框架,通過O/R Mapping實現,封裝了數據的DAO操作,可以方便的切換數據庫等,并且完成了一個1:n關系表的CRUD操作。
12
13
Leo 08:40:39
14
第二層次:熟悉。就是已經知道為什么要使用這個技術,他用來解決什么問題的,并且已經在一個項目中熟練的使用這個技術。比如說Hibernate出現的背景就是解決關系數據庫和OO編程中的障礙,使用戶不必關心數據持久化的問題,能夠完全使用OO的編程思想,精力放在業務處理代碼的編寫上,自己也可以在項目中熟練的使用Hibernate 。
15
16
Leo 08:45:01
17
第三層次:掌握。知道這個技術在什么情景下可以使用,以及怎么用,什么情況下不能使用。比如Hibernate做統計分析和批量操作都不是很方便,那么大規模的數據操作并不適用,比若說銀行和電信的大數據處理就不適合;同時要清楚Hibernate怎么用,比如Hibernate有一些缺點,怎么去解決,比如怎么解決延遲加載,怎么進行性能優化,怎么進行緩存,怎么進行各類事務處理,如何與各種框架集成使用等。
18
19
Leo 08:48:31
20
第四層次:精通。在掌握的基礎上知道這個技術為什么在某種情況、某種場合要這么用,比如說Hibenate在分布式開發中,如果是WebService下要使用獨立的DTO進行數據封裝,不能使用POJO,而在RMI的情況下就可以使用POJO,并且POJO要序列化。同時了解在這兩種情況下,都有哪些問題和替代技術,他們的優缺點是什么。或者如何去修改Hibernate的源代碼來解決一部分問題 。
21
22
Leo 08:48:52
23
我的理解就是這樣的,可能不是很正確哦。呵呵……
24
25
Leo 08:54:13
26
關于怎么才能學會一項技術,我想比較快捷的方式就是有人引導一下,能帶著你達到了解的程度。就是告訴你Hibernate是什么東西,基本原理是什么,并幫你把環境搞起來,做一個例子讓你對一個技術有一個基本的了解。當然也可以自己去學,買一本書,或者在網上查一下,找到一個入門教程,跟著教程做一遍,也能達到了解的程度。前種方式可能需要2個小時到半天,后者根據個人能力和獲取資料程度可能需要半天甚至一周,根據個人學習能力了。但前者要注意不要過于依賴指導,要自己去實踐,一定要自己在一個新的環境下獨立的完成一個DEMO的編寫。
27
28
Leo 08:57:28
29
當然如果一個技術不準備去用,只是想了解做到這個了解的程度就可以了。但如果想用,就至少要達到熟悉的地步,這個時候最好就能找一本書,找到API文檔,把HIBERNATE的相關技術都熟悉起來,最好的方式就是做一個項目了,所以建議對一項技術達到了解就可以了,用的時候再去熟悉,同一個技術做過兩個項目以后就要很好的總結一下這個技術,爭取達到掌握的地步。如果用這個技術做個幾個項目,并由你來負責項目持久層技術或做架構設計的話,一般需要精通的地步。
30
31
32
Leo 08:58:10
33
以上是我的一點拙見了,希望對你能有所幫助,以后有什么問題多交流 。
34
35
36
拋了塊磚頭 ,大家拿玉來砸我吧!嘿嘿……

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36
