十年总结-开篇:歇一歇,才能走的更远

经常见坛子里有人问,学习java该如何入手,或者是该学java还是学XX语言。
我一直觉得,编程跟语言关系不大,重点是要有解决问题的思路。
学习一门语言,其实只是寻求如何将编程的思路落地。
学习软件开发,可能还是先从原理入手比较好,很多人喜欢例子,
但我觉得例子所能提供的信息虽然直观,但也非常有限。
而且通过例子入手学习,由于例子先入为主,可能会带来一个后果:
限制了对一种技术手段的灵活运用。
这种限制,会导致学习者无法充分发挥某项技术的优势,
也可能使他无法在技术和要解决的问题之间做出最好的匹配。
所以,我说,用自己会的东西去解决所有问题,还是基于问题去寻找适用的技术,
应该是能力高与低的重要差异。
什么是原理?
以武侠小说为例,
高手都是内外兼修,而且往往先通过各种方式积累了深厚的内力,
有此基础,在修炼精妙招式的时候,才能达到事半功倍的效果。
那么,内功修为是激发人体潜能的原理,而招式则是一种技能,
招式是容易传承和模仿的,可以速成,但内功修为则没有取巧的可能性。

那么在编程学习过程,什么可以看作原理?
以很多人曾问过的,将来必定还会有更多人问的“多线程聊天代码”为例,
我认为其中可以看作原理的知识点有:
线程(进程)的同步与互斥模型,
TCP/IP通信协议
进程控制方面,计算机科班出身的兄弟们应该知道,进程的同步与互斥是在操作系统中学习的,而不是在哪门编程语言中学到,
java有自己的线程控制机制,c++也有,但他们的原理是相通的。
而TCP/IP协议,可能会引起争议,有人会觉得学这个没有实用价值。
的确,现代语言对底层通信封装的非常好,但我觉得还是有必要了解TCP/IP中的IP/UDP/TCP这三层的工作原理,
平常没用,可一旦出现问题,这些知识才是解决问题的根本。

再说两句现在的J2EE, 
我觉得学习J2EE,最先要看的就是SUN官方的tutorial,必须理解J2EE的架构, 
并至少了解jsp、servlet在J2EE架构中的位置、作用和工作方式。 
J2EE架构,可以认为是现在所有J2EE相关框架、容器、工具的核心原理。
--------------------
一篇文章难以承载太多内容,我今后要陆续发帖,表达我的看法, 
主要是关于软件开发学习过程、软件开发过程本身、我对自己所掌握的技术的看法, 
以及软件开发过程中的非技术因素(主要是人的因素)。 
这是我从业10年的一份总结,以证明我这10年没有白混, 
也是我未来五年的一个新起点。 
无论您有什么想法、看法,只要是善意的,欢迎您与我讨论、辩论。 
如果这一系列的文章能够帮到某些人,我也会非常开心。

原地址链接:http://bbs.51cto.com/thread-587555-1.html

十年总结,一个JAVA人的十年人生路相关推荐

  1. 【每天一个java设计模式(十八)】 - 观察者模式

    观察者模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.这种模式有时又称作发布-订阅模式.模型-视图模式,它是对象行为型模式. 观察者 ...

  2. 【每天一个java设计模式(十五)】 - 命令模式

    命令模式是一种数据驱动的设计模式,它属于行为型模式.请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令. 命令模式也就是一个 ...

  3. 【每天一个java设计模式(十四)】 - 解释器模式

    解释器模式提供了评估语言的语法或表达式的方式,它属于行为型模式.这种模式实现了一个表达式接口,该接口解释一个特定的上下文. 解释器模式主要包括以下几个部分: 抽象表达式角色:定义解释器的接口,约定解释 ...

  4. 【每天一个java设计模式(完)】 - 四万字实现23种设计模式(附示例源码)

    什么是设计模式:[每天一个java设计模式(零)] - 设计模式基本概念及七大设计原则 创建型模式 工厂模式:[每天一个java设计模式(一)] - 工厂模式 抽象工厂模式: [每天一个java设计模 ...

  5. 【每天一个java设计模式(十七)】 - 状态模式

    在状态模式中,类的行为是基于它的状态改变的,允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类.这种类型的设计模式属于行为型模式. 在状态模式中,我们创建表示各种状态的对象和一个行为 ...

  6. 【每天一个java设计模式(二十三)】 - 访问者模式

    在访问者模式中,我们使用了一个访问者类,它改变了元素类的执行算法.通过这种方式,元素的执行算法可以随着访问者改变而改变.这种类型的设计模式属于行为型模式.根据模式,元素对象已接受访问者对象,这样访问者 ...

  7. 实践人生 —— 一个普通IT人的十年回顾(下)

    作者: CSDN 网友Bitfan (金旭亮) 1.希特勒地堡与CIH病毒 99年4月,我来到北京参加研究生复试.复试完了之后就不回去了,我拿着一张光盘,里面 刻着我用VB和Authorware3.5 ...

  8. 一个普通IT人的十年回顾

    学习人生(上篇) 序 从1994到2003,不知不觉之间,我已在计算机技术的世界里沉浸了十年.有位哲人说过:如果一个人能用十年的时间专心致志地研究一门学问,或学习一门手艺,或从事一个职业,他一定能成为 ...

  9. 读书笔记:一个普通IT人的十年回顾

    作者简介:金旭亮于1989年与超级解霸的开发者梁肇新同时迈入广西大学的校门,却走了一条与其不同的路.1994年起开始自学计算机专业本科课程,并开始编程,从未间断,迄今已逾10年,仍对软件痴心不改.20 ...

最新文章

  1. 为DEDE织梦添加XMl网站地图
  2. Web安全之代码执行漏洞
  3. Python导入模块Import和from+Import区别
  4. JFinal常量配置学习笔记
  5. Python基础(五)
  6. java 命令行 读取文件_java – 将文件作为命令行参数传递并读取其行
  7. 用C语言统计给定文本文件中汉字的个数
  8. VC 2015 x86的DLL绿色包(QT 5.6)
  9. 【免费域名】freenom免费申请域名步骤
  10. 我的政治理想《爱因斯坦文集》
  11. 随机数字信号处理实验报告三——Levinson和Burg递推法MATLAB实现
  12. 程序员技术面试与HR谈薪资技巧的一些经验心得
  13. Sublime text3 高级操作(直接上代码,超爽。)
  14. Python怎么安装?教程来咯
  15. 在DW中实现鼠标移入字体变色
  16. 音符起始点检测(音频节奏检测)(1)
  17. Linux系统-gzip命令 – 压缩和解压文件
  18. [BJOI2006]狼抓兔子
  19. NFT 的洗盘交易,真的赚钱吗?
  20. DVWA11_Insecure CAPTCHA(不安全的验证码)

热门文章

  1. layui分页limit不显示_【图片】新手 分页显示不了呀【layui吧】_百度贴吧
  2. linux 嗅探密码,Linux下嗅探又一实例截取
  3. 地图库地之图地图窝_「方舆」秦朝地图及行政区划
  4. 《javaScript100例|04》自动播放——Js幻灯片缓冲效果
  5. 疫情期间,在家使用java的SSH框架实现一个简单的任务调度系统
  6. mysql binary blob区别_SQL中binary 和 varbinary的区别 blob
  7. java textfield类方法_java.awt.TextField类
  8. vue 如何点击按钮返回上一页
  9. 解决关于 ionic3 启动白屏 控制台错误提示:Uncaught SyntaxError Use of const in strict mode.
  10. HTML5 参数传递