只有两样东西可能是无限的:宇宙和人类的愚蠢。但是对于前者我不太确定。
——爱因斯坦
--------------------------------------------------------------------------------
Java新手的通病[0]:概述
其实很早以前就想写这样一个短文,可惜当时我没有Blog,所以到现在才写下来。
最近几年,随着Java在Web应用和企业应用两个方面的普及,对Java程序员的需求量大增。因此Java程序员的数量也突然猛增(从TIOBE的排行榜可以看出来)。这虽然对Java社区来说是好事,但也暴露出一些问题。一方面由于大量的开发人员进入Java这个领域,相应的教学、培训跟不上;另一方面,很多进入Java领域的开发人员都比较浮躁,寄希望于"速成",没有耐心练好基本功。
根据最近几年我面试Java程序员的经历以及对周围使用Java的同事的观察,我总结了一些共通的问题以及相应的解决方法。如果你是一个Java新手(刚学会Java不久,工作1-2年),你可以看看我说的通病是不是你也有,如果有的话,得赶紧补救一下了!
简单即是美!(Simple is beautiful)
--------------------------------------------------------------------------------
Java新手的通病[1]:对算法和数据结构不熟悉
为什么我先拿"数据结构和算法"说事捏?这玩意是写程序最最基本的东东。不管你使用Java还是其它的什么语言,都离不开它。而且这玩意是跨语言的,学好之后不管在哪门语言中都能用得上。
既然"数据结构和算法"这么重要,为什么很多Java新手却很不熟悉捏?我琢磨了一下,估计有两种可能。有些人虽然是计算机系毕业的,但是当初压根没好好学过这门课程,到工作时早都还给老师了;还有一些人是中途转行干编程,转行后又没有好好地打基础(都指望速成)。
下面我列出几个很基本的问题,如果你每一个问题都搞得很清楚,那说明你过了这关,可以去看看下一个帖子了。否则的话,你赶紧去找本算法和数据结构的书恶补一下吧。
什么时候该用数组型容器、什么时候该用链表型容器?
什么是散列函数?HashMap的实现原理是什么?
什么是递归?如果你以前从来没写过递归函数,尝试着写一个(比如用递归函数进行目录树遍历
——爱因斯坦
--------------------------------------------------------------------------------
Java新手的通病[0]:概述
其实很早以前就想写这样一个短文,可惜当时我没有Blog,所以到现在才写下来。
最近几年,随着Java在Web应用和企业应用两个方面的普及,对Java程序员的需求量大增。因此Java程序员的数量也突然猛增(从TIOBE的排行榜可以看出来)。这虽然对Java社区来说是好事,但也暴露出一些问题。一方面由于大量的开发人员进入Java这个领域,相应的教学、培训跟不上;另一方面,很多进入Java领域的开发人员都比较浮躁,寄希望于"速成",没有耐心练好基本功。
根据最近几年我面试Java程序员的经历以及对周围使用Java的同事的观察,我总结了一些共通的问题以及相应的解决方法。如果你是一个Java新手(刚学会Java不久,工作1-2年),你可以看看我说的通病是不是你也有,如果有的话,得赶紧补救一下了!
简单即是美!(Simple is beautiful)
--------------------------------------------------------------------------------
Java新手的通病[1]:对算法和数据结构不熟悉
为什么我先拿"数据结构和算法"说事捏?这玩意是写程序最最基本的东东。不管你使用Java还是其它的什么语言,都离不开它。而且这玩意是跨语言的,学好之后不管在哪门语言中都能用得上。
既然"数据结构和算法"这么重要,为什么很多Java新手却很不熟悉捏?我琢磨了一下,估计有两种可能。有些人虽然是计算机系毕业的,但是当初压根没好好学过这门课程,到工作时早都还给老师了;还有一些人是中途转行干编程,转行后又没有好好地打基础(都指望速成)。
下面我列出几个很基本的问题,如果你每一个问题都搞得很清楚,那说明你过了这关,可以去看看下一个帖子了。否则的话,你赶紧去找本算法和数据结构的书恶补一下吧。
什么时候该用数组型容器、什么时候该用链表型容器?
什么是散列函数?HashMap的实现原理是什么?
什么是递归?如果你以前从来没写过递归函数,尝试着写一个(比如用递归函数进行目录树遍历