A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Code_M 初级黑马   /  2019-5-31 09:07  /  1985 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学习Java其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。每一种语言的程序设计思想大同小异,只是一些由语言特性的而带来的细微差别,比如Java中的Interface,你几乎在以前的学习中没有碰到过。以下我仔细给你说几点:
1。我们必须明确一个大方向,也就是说现在面向对象的编程范畴。尽管人工智能曾经有所浪潮(看看Borland为什么有Turbo Prolog),但未来5-10年工业界广泛承认并接受的将是面向对象式的编程。
2。工业界目前最流行的面向对象编程语言就是C++和Java。所以基本上锁定这两个方向就可以了。而且完全可以同时掌握。
3。掌握Java的精华特性而且一定要知道为什么。比如,Interface和multi-thread。用interface是更好的多继承的模型,而多线程则是设计到语言一级的重要特性。要完全理解interface是为什么,用多线程又有几种常用的编程模型。
4。理解了语言的特性是为什么了之后,就可以试着上升到设计这个层次,毕竟学习语言是要用的。目前比较好的开发模式是采用自定向下的面向对象的设计,加上MVC的模式(你可以看一下我介绍的关于MVC的内容)。首先要找出最顶层的对象(这往往是最难的),然后一层一层往下递归,记住每次应符合7+/-2的原则,因为我们人的短记忆就是这样。一般有图形用户界面的应从界面开始设计。
5。有了基本设计模型后,可以学一些设计模式(Design Pattern)。这是目前证明很有效的。比如体系结构模式(Layering分层,Pipe/Filter管道或过滤器),设计模式(有很多,比如对象池Object Pool、缓冲池Cache等),编程模式(比如Copy-on-Write)。懂了这些模式之后,就会对系统的整体结构有很好的把握,而学术上也有倾向一个系统完全可以由各种模式组合而成。前面提到的MT实际上就有好几种模式,掌握后就不用自己花很多时间去试了。另外一个很重要的领域就是并行和分布式计算领域,大概有20种左右。
6。接下来就不能纸上谈兵了,最好的方法其实是实践。一般教科书上的例子并不能算是实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能是你自己越来越迷糊。我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的,比如在我的实践当中,我曾经学习过一个很经典的例子就是用Java实现的HotDraw(源自SmallTalk),你可以用rolemodel或hotdraw在搜索引擎上找一下,我记不大清楚了。好象rolemodel.com是个网站,上面有原代码和一些基本设计的文档。另一个来源可以到www.umlchina.com是个不错的文档基地。从HotDraw上我学到了什么是Framework,以及如何用rolemodel的方式来构造,这样我就可以应用到其他的地方。顺便说一句,这个例子你绝对不会觉得小,只会觉得大,并且他还是真正的商用的Framework。
7。结合前面学到的设计模式你就可以很好的理解这些经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
8。好象以上谈的跟Java没什么关系,其实我们早就应该从单纯的学习语言到真正的学习好编程的领域。学习技术是没有止境的,你学习第一种语言可能要半年时间,以后每种语言都不应该超过两个月,否则你会觉得学习语言是包袱,是痛苦。
9。学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。
没有第10点了,因为没有东西是十全十美的,哈哈~~



15 个回复

倒序浏览
加油坚持就是胜利
回复 使用道具 举报
不忘初心
回复 使用道具 举报
加油加油加油
回复 使用道具 举报
加油加油加油
回复 使用道具 举报
希望你开开心心的来学习
回复 使用道具 举报
冉辉 中级黑马 2019-6-15 10:59:34
7#

希望你开开心心的来学习
回复 使用道具 举报
天道酬勤
回复 使用道具 举报
天道酬勤
回复 使用道具 举报
人生只有走出来的美丽,没有等出来的辉煌。
回复 使用道具 举报
在醒着的时间里,追求你认为最有意义的。
回复 使用道具 举报
一个人几乎可以在任何他怀有无限热忱的事情上成功。愿你早日达成目标
回复 使用道具 举报
能坚持学习的人都是最棒的。
回复 使用道具 举报
预测未来最好的方法就是去创造未来。
回复 使用道具 举报
加油,一起学习丫
回复 使用道具 举报
只要朝着一个方向努力,一切都会变得得心应手。加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马