怎样成为java工程师

2023-06-19

第一篇:怎样成为java工程师

成为JAVA软工程师需要学哪些

篇一:如何自学java成为软件工程师

1JAVA自学之路 一:学会选择

为了就业,不少同学参加各种各样的培训。

决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、嵌入式、游戏、3G、测试等。

那么究竟应该选择什么方向呢?

我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧。

每个培训机构都会宣传自己的好处,并不能说明大的趋势。

一些新闻文章很有可能是枪手写的,不必太过相信。

国外背景的教师和课程,未必适合你。

那么怎么才能确定自己将来的方向?如何才能从纷繁复杂、或真或假的数据世界中挖出一条路?

我讲一个通过招聘网站的观察方法。

可以到各种招聘的网站上查询信息(可以到google上查询招聘的网站),例如: 以及csdn的招聘频道等

还有一个网站也不错,,综合了各大招聘网站的数据。

这些数据都是最真实不掺假的原始数据,你可以每隔一段时间搜索一次,一些规律就会被总结出来了。

比如说我在中搜索java,全国大概提供了3万个职位。

然后要多翻几页,这样不仅能够看清楚大概有多少是有效的职位,而且还可以看清楚用人单位最关心的技能是什么,这个很重要,决定着你将来要花多少时间和精力在特定的知识点上,比如说swing,搜了一下,全国只有700个左右的职位,仔细读了一下,也并非全是有效的职位,花太多时间和精力在这个上面就不值得了,当然自己感兴趣或者为了研究的话另当别论。不过如果是为了快速的就业,把太多时间和精力花在很多职业生涯的前

一、二年用不到的知识上就太可惜了。 同时,并非某一个行业的职位数目少,就不能当作一个方向进行选择,比如.NET,我搜索到的职位数是1.6万左右,比java少,是不是就选java了呢?不一定,因为java职位虽然多,但是可能竞争者可能也多,有些方向虽然职位数不多,但是和你竞争这些职位的人数量也少,不见得就不能选择。

不过,如果某一个方向的职位数目过少,你可就要小心了,选择这样的方向风险会非常大,如J2ME。

我个人觉得java/J2EE、.net、嵌入式开发是不错的三个方向。

如果非要在java和.net中选择的话,我个人是推荐java的,原因:

1:Java能够开发linux、unix服务器上的程序

2:JavaEE和.NET在企业应用方面的关注点是差不多的,但是学习了java如果将来想转到.net上会比较简单,几天的学习然后上手开发应该是问题不大的,但是反之就不行了。 当然如果有了些经验之后,你就会发现语言或者 平台不再是技术上的阻碍,一些原理性的东西学到手,然后再加上项目经验,使用什么平台,反而不是最重要的。不过如果非要用一种平台进入企业开发的领域,至少在目前,2007年9月,我推荐java。 完全可以不同意我的观点,但是无庸置疑,如果是为了就业,多到招聘网站阅读阅读职位的信息,对你将来的方向和学习是大有益处的。

选择是最痛苦的,看看《天生购物狂》中的刘青云就知道了,不过既然无法逃避,就作出自己的选择吧。

每个人都会受到别人的影响,在作出决定之前,要想尽各种办法让自己理性一些吧。这样,你的选择会离正确的方向更近一些。

JAVA自学之路 二:JAVA自学路线图

有不少的同学发信给我,和我探讨java的自学过程应该是什么样的,毕竟有很多人因为各种各样的原因不能参加培训。我试着给出自己的见解,抛砖引玉吧。

这个路线图是给那些为了就业的人准备的,如果只是兴趣,不一定照这个走。

这里只是讲了路线图,关于路线中的各个阶段,学到什么程度,如何学习等,可以参考后面的JAVA自学之路 七:《路线图明细》。

首先要学JavaSE,这是无庸置疑的。

与此同时,是的,与此同时,和JavaSE的学习同步,建议大家研究一下数据结构与算法。 在这儿之后,你可以选择向J2ME、或者Java GUI、Socket编程等方向努力,但是通过第一篇的办法,你可以很容易就将这方向过滤掉(永远不要忘了我们是为了就业),好吧,暂时和它们诀别,还是向着J2EE的方向前进吧。

在JavaSE完成之后,可以试着完成一些小项目,同时关注一下设计模式的内容,不必强求自己能够完全掌握各种细节,往前走吧。

掌握一种编程工具,比如说Eclipse。

数据库,可以选择使用Oracle或者MySQL开始

。 JDBC,用Java连接数据库。

可以选择在这个地方切入Hibernate,也可以选择在Struts 之后。 HTML CSS JavaScript,这些东西是做web项目必需的内容

。 Servlet JSP,服务器端必需。

XML AJAX,新的流行趋势不能不了解。

作一些小项目吧。比如BBS、留言系统、学籍管理、商城等等,随便着一些业务逻辑比较简单的来做一做。 Struts,MVC的典型应用

Hibernate,OR Mapping的典范之作。

Spring IOC + AOP, 面向对象 + 面向切面,完善的旅程。

把以前自己的小项目加入Struts、Spring、Hibernate的元素吧。

去研究各种商业项目的业务逻辑吧,才能在你的简历中加入浓重的一笔。

EJB3.0,java在走了很多弯路后的回归之作,值得研究。

SOA,业界铁定的未来趋势,要紧紧跟随。

在后面,我会告诉你每一步的学习方法和学习重点。

JAVA自学之路 三:要动手

无论如何,请坚持不懈的动手实验! 学习Java要动手,仅仅是看和听是不能够学好编程的。总有同学来信问我们这样的问题,说:"老师我看了视频了,可是怎么一动手就没有任何思路呢?" 对此,我一般都会说不要着急,如果你只是看了视频就想行云流水的话,那老师这些年的锻炼真是白费了,这么多年的苦练才能略有些行云流水的感觉,你一朝一夕就想自己能够达到,不是太奢侈了吗

作为编程的过来人想一下,当年自己学编程的时候是什么时候有思路的呢?至少也是照猫画虎画了一段时间之后吧,我本人是在某一个领域画虎画了上万行代码的时候才慢慢有自己思路的。就像写作文,要有自己思路总是一般来说要经过几个阶段,首先学习词汇,然后学习造句,然后大量阅读别人的文章,自己模仿着写一些,逐渐的经验积累,才能形成自己的思路。学编程,恐怕也得慢慢的来吧,只是看一看、听一听视频,是不足以学好编程的。

所以,动手吧,跟着做,一行一行的跟着敲,一个项目敲完了,比如坦克,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。

如果遇到,暂时对于一些思路不能理解的同学,我一般都会劝告说,动手写,先写代码,量变会引起质变的。而这种质变的确发生过不少次。

提醒一句,要理解代码思路之后再跟着敲 ,背着敲,千万不要左边摆着别人的程序,右边自己一个一个子母的写,这就不再是程序员了,成了打字员了。

纸上得来终觉浅,所以:别问那么多,别想那么多,动手写吧。

JAVA自学之路 四:要事为先

对待人生的任何事情都要:抓大放小,要事为先

对于一个以前从来没有接触过java的人,java无疑是庞大的,似乎每个领域都可以拓展开来都是一片开阔地,每一个领域要想深入接触到每一个细节所耗费的精力都是巨大的。这个时候大家都胸怀壮志,两眼发光的盯着每一个崭新的知识点,遇见了任何一个知识点都恨不得抠的清清楚楚,明明白白。

难道这有什么不对吗?

我的意见是,没什么大毛病,但是学习效率太低了!我们推荐的学习方式是,抓大放小,要事为先。 比如说学习J2SE的时候,学到GUI这一章,有的同学认为,既然学到这儿了,我们去把SWING细细的了解一遍吧;还有的同学,遇到了在Linux下的Shell编程,就恨不得把Shell先学成专家才肯,或者是才敢,继续往下学习;有没有过这样的感觉,一本书的上册没有学好,觉着下册心里也没底儿,甚至非要把上册复习一遍才敢继续学习。如果你也是这样,要去看看心理医生啦,没准儿会有洁癖的毛病。

任何事情都要追求完美才敢继续往后进行,是一种性格缺陷

大胆的放弃一些东西吧,有失才有得,把自己有限的、宝贵的精力用在对于就业直接相关的地方,这才是最有效率的学习方式!等你参加工作,有了可持续发展的事业动力和经济基础,有时间有精力闲的没事儿干的时候,再去研究那些其它吧。

曾经有一个故事,说得是产能和产量的关系。

一个人喜欢读书,读了一辈子,无所不通,这时候要做任何工作都可以,他的产能到了极致, 但是,他老了,即便每天产出大量的东西也不能维持多久了,一辈子的产量并没有多少。 另一个人直接工作,忙,天天在机器旁日复一日,做了一辈子,没时间学习和进修,可以想象,产量能有多大呢。

人的一生,要锻炼产能,也要及时产出,引擎要转,也要停下来加油,这两者平衡的越好,你的贡献和产量就会越大。如果钻研的东西和产能目标(或者说近期的产能目标)无关的话,要舍得放手。

所以,对于SWING,暂时先扔在一边吧。

对于shell,对于各种协议过于详细的细节,对于喜欢的游戏编程,对于javascript各种华而不实的效果,都暂时和它们分别吧。一切和我们的直接工作目标关联不大的东西,扔在一边或者弄清楚到足够支持下一步的学习就可以了。

那这样岂不是妨碍我成为通晓各种细节的高手了吗?

我一向不认为一个人掌握了很多很多知识点的细节就是高手了,一个人如果告诉你,回字有四种写法,你会认为他是高手吗? 毫不客气的说,现在我们所教授的所有知识细节在网上或书中都可以找到,只要你肯花时间花精力去动手试,去钻研,没有什么不能掌握的。struts、spring你能掌握吗?当然能!但是如果把时间花在spring的各种细节的研究上,花在研究中国企业应用不广泛地的spring mvc上,这个精力就太浪费了,而且学习的积极性会受到打击,谁愿意整天泡在细节的蜘蛛网中挣扎不出来呢?谁愿意天天经历风雨却总是不能见到彩虹呢?

盖房子,要先建骨架,再谈修饰。

画山水,要先画结构,再谈润色。

认识一台结构复杂的机器,应该首先认清楚脉络,然后再逐步认识每一个关节。

为了应付从小学到大学的考试,我们背了各种各样的不应该提前掌握的细节,同时也养成了见到细节就抠的学习习惯。而现在,是到改改的时候了。

请在合适的时间,做合适的事情吧。

把时间和精力花在作项目上面,花在写作品以及锻炼解决问题的能力上面吧,这是迈向高手的正确的而且快速的方向。

我一直不认为一个课程提供了很多很多的细节就是优秀的价值高的课程了,掌握必要的细节,这个不含糊,至于其他,或者通过视频给出(这样可以给出更多的细节,但是不占上课时间,课上只讲重要的、必要的细节知识),或者在掌握了自学的能力后自己能够查出,这才是正途。

当你看书到某个地方暂时不理解的时候的,暂时放手吧,追求一些行云流水、自然而然的境界吧,只是不要停下前进的脚步,不要被大路旁边的支根末节干扰了你前进的行程,项目,真实的项目,这才是目的,就在不远的前方。

陶渊明读书,叫做“不求甚解”,但他是大诗人。

诸葛亮读书,总是“观其大略”,但他是大政治家。

作研究的,是在确定了方向之后才详细的研究深入的东西。

到了庐山,脉络形状扔在一边,盯着一棵棵小草、一粒粒石子的看,怎么样才能识得“真面目”?

作为应用型的人才,是研究回字的n种写法还是抓紧时间向着主要应用的方向努力,请自己作出抉择。

以项目驱动自己的学习吧,当把握了技术的脉络之后再去补充细节的研究,是正途。 这辈子就不研究其他的方向了吗?

当然要研究!但是在将来合适的时间再说吧。

所以,抓大放小,要事为先!

那么,在JAVA的这些课程中,哪些才是大,才是要事呢?请继续读下去。

JAVA自学之路 五:问题解决之道

既然是学习,就不可能不遇到问题。

既然是自学,就没有方便的和老师探讨的机会。

那么,遇到问题之后,环境配不通,程序调不过,运行不正常,遇见这些恼人的问题的时候,该怎么办呢?

首先我要恭喜你,遇见问题,意味着你又有涨经验的机会了,每解决一个问题,你的JAVA经验值就应该上升几百点,问题遇到的越多,知识提升的越快。

但是总是解决不了也是很恼人的,怎么办呢?

我一般要求我们的学生都是这样来进行的。

当你遇到一个问题的时候:

1:要仔细的观察错误的现象,是的,要仔细

有不少同学的手非常快,在编译一个程序的时候,报了一大堆的错误,扫了一眼之后就开始盯着代码一行一行的找,看清什么错误了吗?没有!有的时候安装软件出问题了,一个对话框弹出来说出错了,马上举手问老师:“不得了了,出错了,出错了”。

“什么错误?”

“还没看呢?”

这都是典型的不上心的方法!请记住,学习编程并不是一件很容易的事情,自己首先要重视,要用心才可以。

在开发中,仔细观察出错信息,或者运行不正常的信息,是你要做的第一件事。

读清楚了,才能在以后的步骤中有的放矢,哭了半天,总要知道哭的是谁才成。

这里又分三种情况:

A:错误信息读懂了,那么请进入2步:要仔细思考问题会出在哪些环节

B:没读懂,愣是一点没看懂,进入第4步吧:google C:读了个半懂,有些眉目但是不太能确定,第2步和第4步结合着来。

2:要仔细思考问题会出在哪些环节(重要)

当你读懂了一个问题之后,要好好的思考这个问题可能会在哪些环节上出错。

一辆汽车从总成线上下来,车门子关不上!

哪错了?你怎么查?

当然是顺着生产线一站一站的查下来。

程序也是一样的,也是一系列语句完成后产生的结果。

写一个网络程序,总是发现服务器端打印不出接收的数据,有几个环节会出错?

仔细分析这个现象的环节:

客户端产生数据->按“发送”按钮->发送到服务器->服务器接收到后打印

这几个环节都有可能会出错:

有可能客户端根本就没产生数据,有可能发送按钮按下去后根本就没发出去,或者发出去的不是你产生的东西,或者根本就没连接网络,或者发送出去服务器没有接收到,或者接收到

篇二:成为Java软件工程师的基本要求

成为Java软件工程师的基本要求

Java软件工程师

工作内容:

完成软件的设计、开发、测试、 bug 修改等工作,包括业务需求的沟通,功能模块详细设计,业务功能实现与单元测试,系统维护;参与产品构思和架构设计;撰写相关的技术文档;支持售前技术服务;支持项目对产品的应用服务。

相关专业证书:

Sun Certified Java Programmer(SCJP) ; Sun Certified Java Developer (SCJD) 。 技能要求:

有一定的软件分析设计能力;熟悉 Java 、 Servlet 、 JSP 、 EJB 等开发技术;熟练使用 Eclipse 或 jbuilder 等 java 开发工具;熟悉 JAVA+STRUTS 体系结构和开发工具;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。

职业发展路径:

一是成为管理人员,例如产品研发经理,技术经理,项目经理等;

二是继续他的技术工作之路,成为高级软件工程师、需求工程师等。

学习过程:

篇三:高级软件工程师需要掌握的技能

java高级工程师需要掌握的技术

1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。

2.你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。

3.你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。

4.如果你将要写客户端程序,你需要学习WEB的小应用程序(applet),必需掌握GUI设计的思想和方法,以及桌面程序的SWING,AWT, SWT。你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。

5.你需要学习java数据库技术,如JDBCAPI并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(国产JDO红工厂软件)或者iBatis。

6.你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用,比如:oracle,mysql,mssqlserver。

7.你需要学习JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions,

codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)还有不同的安全/认证 API,例如JAAS(JavaAuthenticationandAuthorizationService),JCE (JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS (JavaGeneralSecurityService)。

8.你需要学习Servlets,JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。

9.你需要熟悉主流的网页框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他们下面的涉及模式,如MVC/MODEL2。

10.你需要学习如何使用及管理WEB服务器,例如tomcat,resin,Jrun,并且知道如何在其基础上扩展和维护WEB程序。

11.你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。

12.你需要掌握各种流行中间件技术标准和与java结合实现,比如Tuxedo、CROBA,当然也包括javaEE本身。

13.你需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或

JAXR(JavaAPIforXMLRegistries)。

14.你应该学习如何利用JAVAAPI和工具来构建WebService。例如

JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),

JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging),

JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。

15.你需要学习一门轻量级应用程序框架,例如Spring,PicoContainer,Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。

16.你需要熟悉不同的J2EE技术,例如JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService),JMX (JavaManagementeXtensions),以及JavaMail。

17.你需要学习企业级JavaBeans(EJB)以及它们的不同组件模式:

Stateless/StatefulSessionBeans,EntityBeans(包含Bean- ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者

Message-DrivenBeans(MDB)。 18.你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,JBoss等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。

19.你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流JAVA规格和执行。例如AspectJ和AspectWerkz。

20.你需要熟悉对不同有用的API和frame work等来为你服务。例如

Log4J(logging/tracing),Quartz (scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching), Lucene(full-textsearch),JakartaCommons等等。

21.如果你将要对接或者正和旧的系统或者本地平台,你需要学习JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture)。

22.你需要熟悉JINI技术以及与它相关的分布式系统,比如掌握CROBA。

23.你需要JavaCommunityProcess(JCP)以及他的不同

JavaSpecificationRequests(JSRs),例如Portlets(168),JOLAP(69),DataMiningAPI(73),等等。

24.你应该熟练掌握一种JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:) 25.JAVA(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。

26.你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。

27.你需要熟悉一些在JAVA开发中经常用到的软件工程过程。例如

RUP(RationalUnifiedProcess)andAgilemethodologies。

28.你需要能够深入了解加熟练操作和配置不同的操作系统,比如GNU/linux,sunsolaris,macOS等,做为跨平台软件的开发者。

29.你还需要紧跟java发展的步伐,比如现在可以深入的学习javaME,以及各种java新规范,技术的运用,如新起的web富客户端技术。

30.你必需要对opensource有所了解,因为至少java的很多技术直接是靠开源来驱动发展的,如java3D技术。

第二篇:如何成为JAVA高手

很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将

自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!

要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图

使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,

这也就是Sun?ONE(Open?Net?Environment)体系。J2SE就是Java2的标准版,主要用于桌

面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,

主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发

桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初

学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又

最好学的就是J2EE了。J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,Java

Mail等。要学习起来可不是一两天的事。

那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟

悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快

去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP

。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户

端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全

取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的

,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中

嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean

可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是

Enterprise?JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它

是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(

也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程

序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你

如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子

邮件的程序,你就得看看Javamail了。

好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈

兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ct

rl+V,也不用劳您老大架再亲自把它?再输一遍吧,再说直接复制还不用怕出错,何乐而

不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管

问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网 站:

CSDN论坛?http:///

哇,好高兴哦,我终于成为高手了!非也,非也。古人云:“识时务者为俊杰”。你知

道计算机界现在的发展形势吗?你知道微软的.NET蓝图和SUN?ONE计划之间的明争暗斗吗

?你知道计算机技术将向何处发展吗?其实从各大计算机厂商最近的动作,都可以看出来“ Web服务将是下一代互联网应用的制高点”,而微软的.NET蓝图和SUN?ONE计划的斗争焦

点,也就是Web服务。Web服务就是一个崭新的分布式计算模型,它是一系列标准的综合

(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同语言编写的软件能够轻易的集成起来,

使网络资源和Web站点变成一种服务而不是混乱的垃圾场。不远的将来,我们就可以在家

里点击一下鼠标,就可以完成出门旅游的全部准备工作,包括定飞机票,定旅游线路,

定好房间等。请注意,这所有的一切都是Web站点间自动完成的,再也不用象现在一样,

表面上是电子商务,实际上很多环节都是人工操作。也许你会觉得这是天方夜谈,不过

就近的说,你也很有可能承接一个项目,要集成两个企业的ERP系统。很有可能上游企业

的系统是用Dephi编的,而下游企业的系统是用Java编的。你说你是Java高手,大家都看

者你怎么做呢。所以啊,你还得学习新技术,如Web服务,而且你Dephi也要懂一点吧(

Dephi6现在已经提供Web服务的控件了)。?你编的Java系统,可能要和.NET集成,所以

你.NET要懂一点吧?到最后,你可能发现你已经成为Java高手了,但很多时间却在搞别

的技术。太极张三丰里说,最厉害的招式就是没有招式,可能就是这个道理吧!

因为刚刚兴起,所以网上Web服务的资料不是很多,我还是给大家推荐几个网站吧:

中国UDDI技术联盟http:/// CSDN的柴晓路专栏http:///developerWorks/cn/xml/index.shtml?csdn?IBM 可是Web服务的力推者

呜„你费劲千心万苦,总算成为Java高手了,怎叫人不由喜极而泣呢!是啊,真不容易

,真不简单,真叫人感动啊!

第三篇:如何成为高级Java程序员

给一个刚出社会的程序员新生一个建议,想成为一个优秀的程序员,高级程序员,不能眼高手低,不能认为开发新项目,技术研发才学到东西,不能看不起维护系统,不要以为自己懂的技术越多自认为自己很牛叉。假如你忽略了一个问题那么你永远成为不了优秀的程序员、高级程序员,那就是系统优化。

一、JAVA。要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经了。

二、设计模式。其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?

三、XML。现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。

四、精通使用一种或两种框架。像在《如何成为java初级程序员》中提到的那样,“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本”。但我这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您会想到把SQL语句与您的java代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。

五、熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出身,您还需要补充一些数据库原理方面的知识。

六、精通一种或两种WEBServer。尽管我再《如何成为java初级程序员》里讲过它,我还是要强调您要精通一种或两种。因为作为java工程师,特别时想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它的资源,这往往可以节省很多时间和精力。

七、UML。我知道您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但却很重要。

八、站在高度分析问题:这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。

九、工具。与在《如何成为java初级程序员》里提到的不同,您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧。

1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。

第四篇:如何成为优秀的Java程序员

每一个优秀的人在做事的时候都有自己的做事风格,那么那些优秀的Java程序员的编程风格如何呢?下面我们具体讲讲,希望对想学习或正在学习编程的同学有一些帮助。

优秀JAVA程序员几个原则如下: 1.保持原有风格 2.坚持最小惊奇原则 3.第一次就做对 4.记录所有非规范行为 格式规范:

1.缩进嵌套的代码:在每个代码块和嵌套中加入缩进,缩进代码,加强可读性。这些地方包括【类定义,内部类定义,方法定义,静态块,for循环语句,if-else语句,try、catch和finally块,匿名内部类,while语句,do-while语句】

2.断开很长的句子:第一,如果包含了逗号,那么在每一个逗号后面都另起一行,把逗号后面的每一个表达式都和逗号前面的表达式的第一个字母对齐。第二,应该在优先级最低的运算符之前断行。

3.使用空白:关键字和左括号之间,右括号和紧随其后的关键字,除了”.”之外的运算符与其前后的表达式之间用空格隔开。每个逻辑上独立的方法和代码段之间,定义类或者接口的成员之间,每个类和接口之间应该加入空白行。

4.不要直接使用Tab控制符:不同环境对Tab控制符的解释也是不同的。 命名约定:

1.名称应该具有实际意义

2.使用人们熟悉的名称

3.谨慎使用过长的名字,可以使用简明通用的缩写 4.尽量保留元音字母 5.缩写词的第一个字母大写 6.不要使用大小写来区分的名字 包命名:

1.用你所在组织的域名的倒序小写形式作为包的根限定词 2.使用单独的小写词作为每个包的根名

3.仅当新旧版本二进制兼容的时候,其包可以使用相同的名字,否则,请使用新名字 类型命名:

1.类和接口名中的每个单词的第一个字母大写 类命名: 1.用名词命名类

2.具有成组相关属性,静态服务或者常量的类名字使用复数形式 接口命名:

1.用名词或者形容词命名接口 方法命名:

1.方法名中的第一个单词小写,其后每个单词的第一个字母大写 2.用动词命名方法

3.遵循JavaBean中命名属性访问函数方法:set,get,is 变量命名:

1.变量命中的第一个单词小写,其后的每个单词的第一个字母大写

2.用名词命名变量 3.集合引用名要用复数形式

4.为不重要的临时变量简历并使用一套标准名字 字段命名:

1.使用this字段变量可以区分开局部变量 参数命名:

1.构造函数或者”set”方法给字段分配参数赋值,参数名应该和字段名相同 常量命名:

1.常量的每个单词均大写,单词之间使用下划线连接 文档约定:

1.为使用和维护你的代码的人编写文档 2.注释和代码要同步

3.使用积极的语气,省略无用的词语 注释类型:

1.用文档注释来描述编程接口

2.用标准注释格式隐藏代码而不必删除它们 3.用单行注释解释实现细节 文档注释:

1.在编写代码前描述编程接口

2.为公用,受保护,包,私有成员建立文档 3.为每个包编写总结和概述 4.为包的每个应用程序或组编写概述

注释风格:

1.对所有文档注释使用统一的格式和组织结构

2.关键字,标识符和常量应放到…标签中 3.将代码放入

…标签中 4.在标识符第一次出现的时候用{@link}标签 5.为Javadoc标签简历并使用一套固定的顺序 6.使用第三人称叙述的形式 7.编写独立的概述

8.省略概述中动作和服务的主语 9.省略事物概述中的对象和动词

10.使用this而不是the来指代当前类中的实例

11.方法名或者构造函数名不需圆括号,除非你想突出一个特殊的签名 注释内容:

1.每个类、接口、字段和方法都编写概述 2.完整描述每个方法的签名 3.包含示例

4.为前置、后置、不变条件编写文档 5.为已知的缺陷和不足编写文档 6.为同步语法编写文档 内部注释:

1.仅添加有助于理解你的代码的内部注释 2.描写代码为什么这样做,而不是在做什么

3.避免使用行尾注释

4.用行尾注释解释局部变量声明

5.建立并使用一套关键词来标识尚未解决的问题 6.在嵌套程度高的控制结构中标记出嵌套结束位置

7.如果两个case标记之间没有break语句,就在中间加入“fall-through”注释 8.标记空语句 编程约定:

1.将表示基础数据类型的类声明为final类型 2.通过本地类型和其他具体类型建立具体类型 3.定义小的类和小的方法

4.定义子类,以便任何使用超类的地方都可以使用子类 5.使所有字段私有

6.使用多态来替代instanceof 类型安全:

1.以java.lang.Object包装通用类,提供静态类型检查 2.以类的形式封装枚举类型 3.尽量使用泛型 语句和表达式:

1.用等价的方法替换重复的、复杂的表达式 2.使用块语句代替控制流结构的表达式 3.使用括号明确操作顺序

4.在switch语句中的最后一个case体使用break语句

5.使用equals(),而不是==来检测对象的对等关系 构造:

1.构造状态有效的对象

2.不要从构造函数中调用非final方法 3.用嵌套的构造函数消除冗余代码 异常处理:

1.使用不受检查、运行时的异常来报告可能在程序逻辑中出错的严重未查明错误 2.使用检查异常来报告可能发生,而在正常的程序运行时极少发生的错误 3.用返回代码报告可预知的状态改变 4.仅转化异常来添加信息

5.不要私自处置运行时或者错误异常 6.用finally语句块释放资源 断言: 1.按照约定编程

2.用无用代码消除机制实现断言 3.用断言捕捉代码中的逻辑错误 4.用断言检测方法的前置条件和后置条件 并发:

1.仅在适当的地方使用线程 同步: 1.避免同步

2.用同步的包装器,提供同步接口

3.如果方法包含几个不需要同步的重要操作,那么不要同步整个方法 4.读写实例变量的时候避免不必要的同步 5.使用notify()而不是notifyAll() 6.为同步初始化使用双重检查模式 效率:

1.使用懒惰初始化 2.避免创建不必要的对象

3.重新初始化并重新使用对象,尽量不要新建对象 4.把优化工作留在日后 打包约定:

1.将经常使用、更改、同时发布或者互相依存的类型,放在同一个包里 2.共同封闭原则 3.重用/发布等价原则 4.无环依赖原则

5.将不稳定的类和接口隔离在单独的包中 6.易于修改的包不要依赖于难以修改的包 7.最大化抽象最大化稳定性

8.将高层设计和架构作为稳定的抽象,组织为稳定的包

如果你想在IT技能上得到提升,那么北大青鸟就是不错的选择。北大青鸟是中国电脑教育著名品牌,积累了雄厚的师资和丰硕的教学经验,学校的管理、就业、环境等都很优越。学校拥有多个IT相关专业,是西北地区比较齐全和综合的大型电脑培训学校。

学以致用,所学即所用,是北大青鸟多年如一日的秉承的教育方针。不让学生浪费无谓

的时间和精力在那些并不重要的技能学习上。为学生节约时间和精力去学习那些在工作中需要经常用到的技能,那些重点技能,才是学校教授的重点,也是学生需要学习的重点。

详情点击咨询。

第五篇:如何成为一个合格的Java程序员

如何成为一个合格的Java程序员? 合格的Java程序员就是要技术精湛,懂得沟通,然后就是要不断学习学习。如何成为一个合格的java程序员,想要成为一名合格的java程序员需要掌握哪些?下面,让多迪技术总监为你一一介绍。

1、技术能力这是非常重要的事,过硬的技术能让你得到面试机会,并在工作中游刃有余。当公司招聘一个Java开发人员时,是会优先考虑能力因素的。在实际的项目开发中,一个程序员的技术能力等于其解决问题的能力。

2、专业基础是一个程序员的知识积累很大程度上决定了其解决问题的能力。知道如何编写代码是基本的技能,但是知道Java编程语言的原理,知道代码背后的算法将使你从人群中脱颖而出。

3、主流编程工具有构建工具:Maven或Gradle。SCM:Git(不是GitHub。大不相同)。构建自动化:Jenkins。IDE:Netbeans或Eclipse——不仅用于编写代码,而且还从IDE中重构和调试代码。Bug跟踪:Bugzilla或Jira。

4、JSF的知识是应用程序服务器,所有Java开发人员应该知道如何在Apache Tomcat中部署。当Glassfish开发停止时,下一个最好的事情是J Boss Wild Fly。

5、沟通的能力是我们做好一切事情的关键。我们必须与我们周围的环境保持互动,无论是在我们的私人还是职业生活中。一个良好的程序员知道如何在各种团体面表达自己。也许对你来说显而易见的东西在他人的角度来看并非如此。从大的尺度来看,一个程序员知识积累的多少只决定于其自学能力和他对编程本身的兴趣。

6、自学能力是一个非常重要的技能,在你自己的空闲时间学习新的技能。不要等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。从WEB前端开发到架构模式,总是有一些新事物值得学习。经常阅读博客和论坛,尝试加入本地聚会小组。你学到的东西可以帮助你的事业。知识刷新频率极快让人无法追赶的这个时代,难免会有超出自己知识范围的时候,此时你的自学能力决定了你能多快的完成任务。

7、良好的团队合作精神是所有开发人员都是作为团队的一部分在协同工作。你需要致力于团队的目的,或帮助新的团队成员克服障碍。不要存在这种“我只要做好我的本职工作,下班就直接回家”的态度。成为团队的一部分,帮助周围的同事,对自己的能力也是不小的提升。

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:运动会加油稿1000米下一篇:512汶川大地震手抄报