您的位置:网站首页 > Java软件 > 正文

Java从入门到精通》主编:Java可能会死但肯定不是最近

类别:Java软件 日期:2016-12-10 9:48:43 人气: 来源:

  摘要:“Java肯定会死,但不是最近的未来。这是因为Java有庞大的用户群和产业链、自身自我改良和提高以及庞大的公司作为推手。”这是张玉宏对Java的评价,他还表示“物联网是人类最终努力方向,而Java在这上面早就布局。”

  Java两条路线:算法、工程

  对于未来的职业规划和发展,大多数开发者都有困惑,Java学习者也不例外。Java的职业方向可以分为两类,一类是算法线路;另一类是工程线路,对于如何走好这两个方向,不少人都存在困惑。

  张玉宏的建议是:“如果想走算法路线的,就要多去OJ(注:OnlineJudge,在线评分系统)在线刷题。现在诸如电子科技大学()、哈尔滨工业大学()、杭州电子科技大学()等很多高校,都有非常不错的ACM-OJ,在这些OJ系统里,所有算法都可以用Java来实现。”光刷题还没用,在刷了一定的题量后,尽量去参见一些实际ACM比赛,定下目标,争取获奖。人,只有定了目标,才会有前进的方向,才能有理由压制内心的惰性。

  而对于想走工程线路的Java程序来说,张玉宏的建议自然是多干活,也就是有机会多接手一些工程项目。在完成工程项目时,遇到问题不可怕,因为遇到问题,经过努力解决问题、学到知识,这个流程是最好的自我提升机会。

  当然,要想成为一流的工匠(码工),也要多留意学习新的技术,例如学习一些新计算框架(如SSH2)。再如,在JVM体系框架下,诞生了很多新语言,如Jython、Scala等,都值得关注下。此外,当然,想成为干活的高手,还需要从理论上提升自己,诸如《Java编程思想》、设计模式等类别的书籍,在空闲的时候也可以自我充充电。在任何时候,多读书,读好书,都是极其有用的!

  未来还打算写本半学术化的大数据书籍

  在聊天中张玉宏还提到,未来他打算写本大数据方面的科学类图书。对于原因,他称,目前大数据的概念很火,甚至连股票交易大厅的大爷大妈都在讨论大数据概念,但到底什么是大数据,其实很多人对这个概念,仅仅是有个“似是而非”的理解。

  尽管市面上有很多大数据方面的书籍,但张玉宏觉得书籍还有些欠缺。他分析,大数据方面的书籍分为两类,一类是是布道型的,另一类是技术型的。“前者书籍的特点是视野宏大、高屋建瓴,以人类或产业为着力点,分析大数据的脉络及重要性。读这类书时,会让你热血膨胀,大呼过瘾。但合上书,你依然不知道——面对大数据,我该怎么办?“道”给你“布”了,“路”依然不知道走。”而后者的图书由于专业性很强,读起来比较吃力,很容易让读者迷失于具体代码,陷入“只见树木,不见森林”的困顿中。

  而他则打算写本半学术化的大数据图书,桥接这两类图书,糅合这两类图书的优点,融会贯通。“我的优势是拥有教学经验、良好的IT技术背景,谈起大数据能接地气。不至于像第一类图书‘顶天,但不立地’。”但张玉宏也很谦虚表示,对于大数据这个前沿的课题,他现在还是一个学习者和探索者。他的一点研究心得有两个层面。

  《易经》里有句话:“形而上者谓之道,形而下者谓之器”。“在较高的‘道’的层面来讲,我们一定要重视大数据时代的来临,有的学者甚至声称,大数据时代可以和工业革命、信息革命并列。所以,我们一定要重视收集和利用呼啸而来的海量数据,用数据发声。我们要推崇知识和理性,利用数据来创新,利用数据挖掘商业的未来。在较低的‘器’的层面来讲,由于非结构化的数据已经占据大数据时代的主流,以前很多针对有关“小数据”时代的数据存储、传输、分析技术,很多已经不适用大数据时代,这对计算机科学家来说,这既是一个巨大的挑战,也是一个指点江山、尽显英雄本色的好机遇。”他还如此分享。

  谈到未来的梦想,张玉宏希望做一个优秀的IT类科普作家,“大数据这本书是我实现这个梦想的第一步。”他郑重地表示。

  CSDN:对于非科班出身自学Java,是否有些建议?

  张玉宏:首先,对非科班出身的Java来说,要了解一点历史是,纵观计算机科学发展史,非科班出身人士对计算机的贡献,一点也不输给科班出身的人士。比如,大名鼎鼎的的苹果教主史蒂夫·乔布斯(SteveJobs)、甲骨文的老板拉里·埃里森(LarryEllison)都是非科班出身,但同样在计算机领域叱咤风云。

  特别值得一提的是,这位甲骨文的老板埃里森,也就是现在Java的拥有者,他可是一个地地道道地程序员出身,虽然读过三所大学(一个都没有毕业),但却没有上过一天计算机的课程,一切都靠自学编程成才的。所以,非科班出身的学习者而言,一定要有信心,Java没有那么难学,跨计算机专业也没有那么艰难。

  其次,对非科班出身的Java学习者的建议是,一定要选本容易入门的Java书籍,书籍最好要配备视频讲解,这样可以降低学习门槛,可以方便地边学、边看、边练。选书时,可到亚马逊、京东或当当等大型的电商,选择口碑较好的图书。

  最后的一点建议是,所有的Java学习者,一定要多动手练习,纸上得来终觉浅,一定要在练中学(learningbydoing)。等练习得多了,就会有感悟。当把某个问题解决了,就会有成就感。让不断的小成就感,激励自己不断学习Java,就会让自己越学越有劲头。

  CSDN:对于学习,很多人都懂——要多实践,但事情说起来容易,做起来特别难,有没有好的方法让这些学习者能很好的实践自己学来的知识?

  张玉宏:这也算是一个大家学习的通病了,理都懂,知行难。对于中低层次的Java学习者,这里有两个比较好用的办法,可以尝试一下,一个方法要花钱,而另外一个可挣钱。花钱的方法是,报名一个Java培训班,几千到万把块的培训费,会让自己心疼,觉得如果不多动手学点东西,就会对不起自己的学费。人,不都是这样吗?容易得到的,不珍惜,付出代价(金钱)的,才金贵。

  而挣钱的方法则是,在有了一定的Java基础后,要勇于接一些几千块的Java小项目,千万不要想着,等我学好了再去接项目。“万事俱备”再动手的思想会害死人的。因为在任何时候,你都不可能把Java的知识都学习完备。

  一旦接手了这些小项目,为了完成项目,为了那几千块的收益,就会迫使你通宵达旦地去动手,去用搜索引擎解决项目中遇到的Java问题。在一两个小项目历练后,你的Java水平绝对会有质的突变。等这个时候,你再“摆谱”要更高的项目开发费,也不迟。

  CSDN:Java语言属于典型的门槛低、精通难,要想Java技术更上一层楼,还应该做哪些努力,能具体谈谈?

  张玉宏:的确是这样,Java内容包罗万象,入门容易精通难。要想Java技术更上一层楼,势必要多动手历练,说到要多实践,这又回到前面一个问题上来了,事情说起来容易,做起来特别难。

  之所以难,可能有两个原因,一是意志不够坚定,难以持久。这时,我建议Java的学习者,多去上网刷刷诸如CSDN和知乎等高质量的论坛,看看牛人在说什么、干什么,取得了什么样的成就,激励激励自己,这样动力就会来了。

  二是缺乏动力和目标。像上面提到的,如果一旦你接手了一个小项目,那么完成这个项目就是你暂时的动力和目标。如果这个小项目,以你现在的实力hold不住,怎么办?不用太担心,为了完成项目,为了那点开发费用,还有为了面子,你会强迫自己去深入学习Java。对于遇到的开发问题,有了搜索引擎这个利器,基本上属于“人挡杀人,佛挡杀佛”,无往不利。

  最后,建议主观能动性比较强的学习者,可以有目的地研究一些开源源代码,看看高手是如何写代码的。比如,SourceForge、GitHub及GoogleCode等代码托管网站,都会有很多非常优秀的Java开源项目。可以去这些网站,下载一些小项目来模仿,要知道,模仿是成为高手的第一步。

  网友:学JAVA未来在WEB方向和移动端开发,地位是一样的吗。

  张玉宏:我个人的浅见,未来会向移动端倾斜。移动互联是大势所趋!

  网友:怎样提高自己解决问题的能力,就是面对问题如何更快的写出代码来

  张玉宏:能力是培养出来的,早期多模仿,多动手,熟练后自然生巧,生巧后就能创新。想想解放前的伙计,为了学习某项技能,跟掌柜一学就是3年,才能独自开展业务。如果在Java的学习上,能日日练,练上3年,何愁能力得不到提高。

  在能力提高的路上,好像没有什么捷径。市面上所谓“21天精通***”的书籍,都是扯淡,概不可信,没有时间维度上的历练,出不了高手,哪怕是失败的历练都是未来前进的经验。

  网友:既然是“从入门到精通”,是否适合没有任何编程基础的人阅读?或者说通过本书的学习,通常可以达到一个怎样的水平?书中列举的实例是否能提高学习者的学习兴趣。

  张玉宏:没有任何编程基础的都可以阅读这本书。这本书的特点就是通俗易懂,书中的举例恰当,利用生活中案例启发读者,很容易激发读者的兴趣,通过这本书,Java很容易入手。

  通过本书的学习,通常可以达到一个怎样的水平?简单说,可以达到一个中等高手吧。很简单,一个真正的顶级领域高手(不仅限于编程语言),都是自学出来的,他们不是局限于一两门书,而是遍览群书,利用搜索引擎这个最好的老师,自学成才。

  本质上,这本Java书主要是面向初学者和具有一定编程经验的读者。

  网友:学习从事C/C++多年,现在再学Java是不是比较轻松呢?另外目前java的主要应用方向和前(钱)景如何?

  张玉宏:语言这东西,大多都是相通的。有C++基础学习Java会比较轻松点,C++面向对象的概念和Java一致。

  目前java的主要应用方向应该是面向Web的开发了。前(钱)景是不错。BAT的Java资深程序员月薪都应该在20k+。具体拿多少钱,要取决于自己的精通程度。

  网友:想要更深入java应该从哪方面着手呢?

  张玉宏:更深入了解Java可以从设计模式(如工厂方法模式、适配器模式、策略模式等)和计算框架(如Struts、Hibernate和Spring、SSH2等)等入手。

  Java这东西,入门简单。想深入,没有几年实战历练,还真不易!这本书Java书主要是面向初学者的,想深入了解Java,推荐去读(看):

  Eclipse是知名的跨平台开源集成开发环境(IDE)。Eclipse有一个功能非常强大的集插件之大成者——MyEclipse,其功能几乎覆盖Java开发的全过程,从编码编写、代码测试及框架部署,无所不包。

  IntelliJIDEA,不少Java程序员认为它是当前效率最高的Java开发工具。它集成了在开发过程中众多的实用功能,几乎不用鼠标即可方便地完成Java程序员要做的很多工作,最大程度的加快开发速度。

  网友:目前公司用Struts多一点还是SpringMVC多一点?

  张玉宏:Sruts2与SpringMVC框架都是表现层层面的东西。当SSH(struts,spring及hibernate)很火的时候,从现在的时间节点来看,老项目用struts的比较多,而新项目公司采用SpringMVC的日趋增多。

  SpringMVC和Sruts相比,SpringMVC更加的灵活,不容易出错,开发成本也比较低。Struts2的安全性也受到部分商业公司的诟病。SpringMVC依靠Spring这颗大树好乘凉,天枰已经向SpringMVC倾斜。

  网友:如果刚学Java,Web方向和安卓方向,你觉得哪个方向有前途一点,老师?

  张玉宏:刚开始,还是要打好基础,前途的事情要followyourheart,兴趣使然,行之所向。个人的一点认知是:

  都有前景,侧重不同。Android是移动端,是未来发展的趋势.Web方向目前依然是主流,JavaEE的开发占据Web半壁江山。

  目前从钱途(并不一定等同于前途)出发的话,可以学习Java服务器方向,也就是网络通信这个领域。目前手游和页游等服务器多是用Java写的服务器。这样兼顾Web和移动开发,钱景应该不错,相对而言,薪水也要高一些。

  其实,百样通不如一样精,专家的前途(钱途)一定比通才好!

  网友:Java的Spring框架以后的发展咋样?

  张玉宏:应该是非常不错的。Spring开发者RodJohnson写的《ProfessionalJavaDevelopmentwiththeSpringFramework》不错,可以去找来读读。

  对于Spring,不能仅限于知道Howtodo(如何去做),想成为领域高手,还要知道whytodo(为什么这么做),RodJohnson的书说的比较清楚,推荐一下。

  网友:想系统学习Java,请问老师是培训合适还是自学合适?培训出来的话企业会不会不接受?关于企业对培训出来的人的看法是怎样的呢?

  张玉宏:如果有钱,可以任性些,去培训也不错。如果自学能力强,也可以自学,省钱,但费时间,方向不得法的话,能力提升也较难。

  企业只会关注你有没有解决问题的能力,具体这个能力如何获得的,企业不会太关注。

  网友:Java是不错,但是Java毕竟出来了20多年了,这几年新的事物,新的语言层出不穷。帮忙分析一下,未来新的语言和新的开发模式,如支持互联网+的发展?

  张玉宏:在JVM体系框架下,目前的确出来很多新语言,如Jython、Scala、Groovy、Clojure等,预测哪个语言更有前景很困难。很大领域大牛,如比尔盖茨都能闹笑话,更何况我辈。

  我个人没有太多时间看电影,也不想浪费时间遴选好电影,于是,我在某些电影出品半年一载后,看大家大多数的评价和体验,然后选择口碑好的电影去看。

  对于编程语言也是一样,语言的发展很少是由新手主导,而新手也会遵循市场的趋势即可(哪里有饭吃朝哪里走),所以如果时间成本比较高,就等某种语言有明显的良好口碑,再决定学习也不迟。Java诞生20年,说它老,它能老过C语言?C语言不也是依然强劲十足,很多地方不可替代。Java也是动态发展的,一些新的JVM语言有好的特性,Java也会在新版本采纳过来。

  网友:网上都不会建议去买xxx从入门到精通这样的书籍,本人也买过类似的书籍,我想问一下以下两个问题:(1)您的这本书相比其他Java书的优势是什么,本书的卖点在哪里。(2)您认为Java都有哪些技术值得深入研究的,望列举一些。

  张玉宏:很多图书都叫xxx从入门到精通,为什么出版社爱用这个名称(书名通常是出版社定,而非作者),因为这个名称也出了不少精品,读者认可度较高。当然,为了利益,任何时候都难以防止“沽名钓誉”之嫌的书面市。

  针对您的两个问题,我简单说一下:

  这本书是面向初学者的,对于零基础的读者来说,这本书的质量不输给国内任何一本同类图书。优点在于通俗易懂,深入浅出给出了很多例子。实话来说,靠任何一本书想“精通”某些技术,都是扯淡!所以对于高手来说,就不要浪费银子在这本书上了,高手都是自学出来的,通过项目历练出来的。

  Java的设计模式和计算框架如SSH等可以深入研究一下。但即使这些都会了,也仅仅属于Coder级别的,如果想要成为Designer,还是要在算法、数据结构上下点功夫。Java仅仅是个工具,犹如你有一把锋利的宝剑,并不能保证你一定能杀敌无数。高手的内功是非常重要的。

  网友:我现在学习了PHP,还有JAVA,从身边的情况来看PHP和java的工资基本都差不多,而PHP却更简单,相对java却要花更多时间、心思去钻研学习。有什么建议吗?

  张玉宏:很多顶级公司如腾讯、Facebook主体部分也是PHP实现的,但PHP的性能可能稍逊,为了提高Facebook的性能,现供职于阿里的牛人赵海平(前Facebook资深工程师)创建HipHop项目。HipHop可以将PHP脚本代码先转换成抽象语法树(AST),之后再转换成优化的C++代码,使其速度提高5到6倍。

  针对海量并发处理、服务器级别应用,PHP不如Java高效!淘宝的第一个版本就是基于Lamp结构,其中的P就是指PHP,但随着淘宝业务量的激增,不得不用Java改写。不过语言这东西无所谓好坏,能便捷地解决问题是王道!

  社区之星上期回顾:

  更多精彩内容,请点击社区之星查看。

  CSDN社区之星专访栏目,欢迎推荐采访人或自荐,来分享你的成长经历和相关技术,相关信息请发送邮件至:或(#换成@)。

  本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

推荐:

0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved