人人范文网 员工个人工作总结

java程序员工作总结(精选多篇)

发布时间:2021-07-13 07:42:40 来源:员工个人工作总结 收藏本文 下载本文 手机版

推荐第1篇:java程序员职业规划

java程序员职业规划第一步:

1、基础必备:至少看过2本语言基础书和一本领域技术书。

2、部分参与项目1-2个。

java程序员职业规划第二步:

1、行业知识领悟、扩展相关应用知识。

2、完整参与项目1-2个。

3、可以指导新人完成工作。

java程序员职业规划第三步:

1、深刻理解面对对象知识。熟悉常用架构,对公司采用的架构能提出改善意见。

2、参与需求讨论并能提出简化方案。

3、能为决策提出一些建议。

java程序员职业规划第四步:

1、能够对整体需求方案做出精确描述。

2、运用一种架构对项目、产品进行设计。

3、评估项目风险、以及预留方案。

4、实现核心组件、技术难关。

5、行业技术指导。

(二)java程序员职业规划要点

(1)只会编程是不够的

仔细思考在哪个商业领域投入时间。软件工程师(软件工程培训)不能只会开发软件,应该要成为这个业务领域的专家。你的行业经历应该成为你的重要才能。有机会多与公司行业内人士接触,选择一本与你公司行业有关的杂志,找一个行业网站。只有了解了一个行业后,你才能创造性地有所建树。学习行业是如何运转的,了解一些财务基本知识。

(2)在思维上投资

要学会抓住机遇。

多学习新的技术,编程语言,可以改变你的思维方式。

(3)做一名通才

你的技术水平应该超越技术平台。

经常学习一些新技术。

(4)成为一名专家

不仅应该会处理高端抽象,同时也应该了解实现高端抽象的低端细节。

推荐第2篇:java程序员应聘自我介绍

java程序员应聘自我介绍(精选3篇)

当我们在一个新环境中,需要我们进行自我介绍,自我介绍是一种认识自我的手段。写自我介绍时总是没有新意?下面是小编收集整理的java程序员应聘自我介绍,欢迎阅读与收藏。

java程序员应聘自我介绍1

尊敬的考官:

您好!

我叫XXX,今年21岁,毕业于XX解放军信息工程大学计算机科学与技术专业,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB; 熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发。

在校期间有多次社会实践经历,曾参与过学院网上虚拟实验室开发的需求分析,大学期间多次担任多课程的课代表。虽然实际工作经验不是很足,但军校四年培养了我充分的自信心和敬业精神以及扎实的学科基础知识和较强的专业技能,四年军校生活中,我严格要求自己,自觉、遵纪、守时。本人坦诚且有责任心,有独立进取的品性,勤于动手、善于动脑,适应新环境能力很强。能在最短时间内完成从学生到职业工作人员的转型,尽自己最大的努力融入新的工作生活。

请各位考官多多指教,谢谢!

java程序员应聘自我介绍2

尊敬的面试官:

您好!

我叫朱新仲,今年22岁,毕业于山东理工大学计算机科学与技术专业。由于非常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分注重对专业课的学习,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB; 熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发。因为专业课知识掌握牢固,以专业第一的综合成绩毕业。

然而,我深知仅有专业知识是不够的,社会需要的是高素质复合型人才,因而在校期间学习之外,我积极参加各种社会实践活动,曾参与过学院网上虚拟实验室开发的需求分析。大三暑假曾在浪潮软件园实习,参与了电信增值软件开发与编挰,通过亲自动手及不断地向有经验的工程师请教学习,实习结束时我已经基本掌握整个Java平台的核心技术,独立编程能力大大提高。同时实习生活也让我意识到从事Java编程工作团队合作的.重要性。

虽然我的实际工作经验还不是很丰富,但相信有了扎实的专业基础知识和实习期间的实践经验,加上好学上进的精神,我能够胜任应聘岗位需求。希望贵公司给我这次机会。

java程序员应聘自我介绍3

尊敬的面试官:

您好!

我叫xxx,于20xx年9月开始学习,主攻.net工程师。

经过一段时间的学习,完全掌握了软件开发的基本知识,现在已经可以独立完成软件的开发,也可以团队进行软件工程项目开发。

相信在以后的工作和学习中一定会很称职的。

平时爱好打篮球,真是这样培养了我自信、乐观、积极向上的性格。

因为不太爱说话,所以很多时候是在书店和书本朋友在一起。

但是这并不代表我内向。

因为我爱好看书。

个人比较喜欢的一句话:海阔任鱼跃,天高任鸟飞。

很荣幸能来到xx-x公司,请大家多多指教,很高兴于各位同事一起创造明天的辉煌!

推荐第3篇:java程序员职业生涯规划

java程序员职业生涯规划范文

一位哲人说过:“走好每一步,就是你的人生。”,人生之路说长也长,是因为这是你一生所要走的艰难险阻的跋涉;人生之路说短也短,因为你度过的每一天就是你的人生。每个人都在计划自己的人生,都在实现自己的梦想,而我将在规划的航线上拔锚起航。

一、认识自我

1、个人分析:

个人认为我的性格具有两面性,我喜欢在安静的环境下去看书,在有的时候与朋友聊天分享彼此的欢乐。也喜欢打羽毛球、跑步、旅游,享受大自然的美景、陶冶自己的情操。另外,我也具有团队合作精神与协作能力,比较强的动手能力与实践能力。

人无十全十美,我在做事情时,有时比较急躁,但我会在以后的工作与学习中加以改进自己的不足。

二、职业生涯条件分析

1、社会环境分析:

总体来说,我们国家面临着一个良好的社会的环境,社会安定,ZZ稳定,特别是当前经济发展迅速,法制建设不断完善,高新技术领域突飞猛进。因此,在这样一个良好的社会环境下,制定一个合理的人生职业规划是尤为必要的。

2、职业环境分析:

IT行业是随着电子信息产业的发展而逐步发展起来的,并且日益得到完善,

IT行业的平稳增长必然会带来软件工程师需求的增长,目前随着IT产品出现的技术融合,市场需求的巨大和专业人才的缺乏,由此可知,软件行业还是比较乐观的。但软件行业需要的也是复合型人才,软件工程师需要掌握更多的编程语言。

三、职业目标定位

1、职业目标的确定:

1。1短期目标(1-2年):

注重Java基础知识、多学习项目开发经验,了解项目开发业务知识,并在学习中掌握DB2数据库的SQL语句的复杂查询以及管理操作,并深入学习了解struts、hibernate、spring相关操作。

1。2中期目标(3-5年):

至少了解并熟悉2门编程语言,如。net、C++、PHP;并学习掌握Oracle、MS-SQL数据库管理操作;掌握软件开发各个阶段的基本技能,如市场分析, 可行性分析, 需求分析, 结构设计, 详细设计, 软件测试等。在有条件允许的情况下,会考虑专升本。

1。3长期目标(5-10年):

学习管理方面的相关知识,由技术型向管理型方面的转移。

2、成功标准:

只要自己尽心尽力,能力得到发挥,从实践中得到提升与自我认识,就是最大的收获。

四、评估调整

1、评估的时间

在一般情况下,每三个月对自己所做的工作进行一次总结,每半年对职业规划重新评估并进行相应的调整。

2、评估的内容与调整的原则

不论目标如何调整,每一时间段必须有明确的工作计划与目标,内容评估主要侧重于实施策略的评估和调整,随着社会以及行业的一些发展和变化,随时适时调整自己的目标实现策略,做到最简的规划最快的提高。

五、结束语

路漫漫其修远兮,吾将上下而求索。不经历风雨怎能见彩虹。我们要时刻保持一颗清醒的头脑,随时为自己的目标而奋斗。其实,每个人心中都有一幅画,描述着理想、信念、追求、抱负;每个人心中都有一片森林,承载着鸟语花香的甜蜜、阴森恐惧的彷徨。一个人,若要获得成功,必须拿出勇气,付出努力、拼搏、奋斗、成功。机遇不同情眼泪的忧伤、不相信颓废的绝望,只期待爱打拼、时刻准备着的人。

推荐第4篇:高级JAVA、PHP程序员岗位职责

1.负责公产品软件设计、开发、测试和维护工作,主要为C++、java、php。2.负责任务的质量和完整性,包含故障分析、解决、修复,一般文档编制。3.发现和指出项目或计划中的设计问题。4.总结产品研发经验,持续改进产品性能。5.为产品的市场推广提供技术支持。6.报据用户或公司其他部门的要求进行设计修改和设计改进。7.研究项目技术细节,编写相应的说明书。

推荐第5篇:java程序员如何做好职业规划

java程序员的职业规划如何做?

java程序员职业规划经验分享。生涯设计公益网()职业规划专题组推荐。

本文主要介绍java程序员的职业规划 ,希望能给想在java程序发展,还没有职业规划的朋友一些启发。

(一)java程序员职业规划步骤

java程序员职业规划第一步:

1、基础必备:至少看过2本语言基础书和一本领域技术书。

2、部分参与项目1-2个。

所需时间:3-12个月

java程序员职业规划第二步:

1、行业知识领悟、扩展相关应用知识。

2、完整参与项目1-2个。

3、可以指导新人完成工作。

所需时间:6-12个月

java程序员职业规划第三步:

1、深刻理解面对对象知识。熟悉常用架构,对公司采用的架构能提出改善意见。

2、参与需求讨论并能提出简化方案。

3、能为决策提出一些建议。

java程序员职业规划第四步:

1、能够对整体需求方案做出精确描述。

2、运用一种架构对项目、产品进行设计。

3、评估项目风险、以及预留方案。

4、实现核心组件、技术难关。

5、行业技术指导。

(二)java程序员职业规划要点

(1)只会编程是不够的

仔细思考在哪个商业领域投入时间。软件工程师(软件工程培训 )不能只会开发软件,应该要成为这个业务领域的专家。你的行业经历应该成为你的重要才能。有机会多与公司行业内人士接触,选择一本与你公司行业有关的杂志,找一个行业网站。只有了解了一个行业后,你才能创造性地有所建树。学习行业是如何运转的,了解一些财务基本知识。

(2)在思维上投资

要学会抓住机遇。

多学习新的技术,编程语言,可以改变你的思维方式。

(3)做一名通才

你的技术水平应该超越技术平台。

经常学习一些新技术。

(4)成为一名专家

不仅应该会处理高端抽象,同时也应该了解实现高端抽象的低端细节。

(5)切忌孤注一掷

不要把自己的职业发展完全依赖于一家技术公司。

(6)寻找良师

可以依赖别人,但要确保这个人是靠得住的。良师的首要任务是榜样作用,还可以将你的学习过程形成体系,也是值得信任的朋友,可以帮助你作出职业导向,帮助你磨练技术。

(7)安分守己

要有雄心,但不必路人皆知。专注于现在的工作,不仅让你更加快乐,也会让你身边的人更加快乐。你的同事,上司和客户都能感觉到。你的工作成绩会反映出你的态度。放弃你想要成功的期望可以提高你的能力,让你走向成功。不要关注结果,要关注做事的过程。

(8)每天都有进步

如果在改善自己的道路上,每一天都比昨天多作出一点改变,就会发现—-拥有卓越的职业生涯,越来越容易达成,而不再像汪洋大海一样没有边际。

推荐第6篇:Java程序员应具备的素质

Java程序员应具备的素质

——动力节点Java

java程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立,到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。

中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能力,可以说,改变认识误区,是解决软件行业小作坊模式和个体英雄模式所带来的局限性的重要工作。

中国有很多程序员,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,参加专业Java培训机构,进行Java学习是不错的选择。动力节点专注Java培训多年,在业界有着良好的口碑,学生百分百就业。

作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。

1、团队精神和协作能力

把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。

2、文档习惯

说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。

缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。

3、规范化,标准化的代码编写习惯

作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。有些coding fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。

4、需求理解能力

程序员需要理解一个模块的需求;很多程序员写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。

5、复用性,模块化思维能力

经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。

复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。

6、测试习惯

作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。

测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到的需求理解能力。

7、学习和总结的能力

程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。

善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。

善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。

一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。

具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。

所以当自己感觉遇到瓶颈的时候找个Java培训学校系统的学一下,跟有多年工作经验的Java老师探讨一下,而且在学生中也有很多的牛人同学。相互探讨才能出现新思路。

推荐第7篇:转行Java程序员应该具备哪些知识

国信安教育基地 www.daodoc.com

转行Java程序员应该具备哪些知识

成都国信安java培训由副教学总监,优秀讲师带队并亲自授课,秉承成都国信安一贯的专业品质态度,在课程质量,学生素质,就业服务上相当严格要求,并以学业满意就业为目标,打造国内优秀java培训班,感兴趣的同学不妨关注国信安教育基地了解一下吧

根据职位从开放到关闭时所经历的平均天数来衡量各个职位的难易招程度。从 下图可以看到,互联网公司招聘一名营销人员平均需要54.4天时间,可谓互联网难招的职位,排名前五的难招职位中,有2个职位都属于市场与销售类别,对市场与销售人员的庞大需求量成正相关,同时由于互联网市场类职位的起薪相对较低,也成为了该类职位难招到人的制约因素。

我们看到,互联网易招的5种职位中,有四种均属于职能类别的职位,表明互联网对这类职位人员的需求量不大。我们发现前段时间兴起的新兴职位:程序员鼓励师属于互联网易招的职位,一方面是目前行业内公司对该职位需求量较小,要求不高,另一方面由于其有趣的工作职责要求,吸引了很多年轻女性前来应聘。

四川地处中国大西南,肥沃的土地,丰富的自然资源,悠久的历史和绚烂多彩的少数民族文化,构成了多样性的自然和文化旅游资源。如今在广大农村地区,越来越多有前瞻性的家长鼓励自己的孩子去学习一门技术,因为他们已经意识到:技术人才在就业方面更具优势。在这个拼爹的时代,拼背景?拼人脉?我们并没有优势,只有掌握一门技术,才能在就业场上拥有自己的一席之地。俗话说的好:掌握一门技术,走遍天下都不怕。那么,学什么技术有前途呢?

近年来,IT培训的需求在不断提升,大家对其的要求也越来越高。当下很多人都会网上搜寻相关的信息。接下来就让小编带你走进它吧。那么,实用的攻略有哪些?一般会选择哪家呢?哪个是最实用呢?下面就随小编来看一看吧~ 国信安教育基地 www.daodoc.com

近年来我国信息化发展越来越快,使得全国各地的信息化建设如火如荼,出现了大量的信息化人才尤其是Java软件人才的缺口,而我国信息化人才培养还处于发展阶段,导致社会实际需求人才基数远远大于信息化人才的培养基数,使得数以万计的中小企业急需全面系统掌握Java软件开发基础技能与知识的软件工程师。

同时,Java工程师的薪水相对较高.通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平.但是,对Java人才需求旺盛的IT企业却很难招聘到合格的Java人员.其中,根本的原因就是许多计算机专业的毕业生在读期间没有掌握实用的技能与经验,距离企业的实际用人需求有较大的差距.因此,计算机专业的大学生欲成为Java工程师,便捷的一条路就是参加以实战项目为主要教学方法的Java职业技能培训,从而有效地缩短同企业具体用人需求之间的差距.那么想要成为一名优秀的Java程序员自身应该具备哪些知识。 面向对象的知识:

Java是一个面向对象的开发语言,因此熟悉面向对象对学习Java很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,您还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的? Java语法: 国信安教育基地 www.daodoc.com

如果您有C++等面向对象语言的开发经验,您只需简单的翻看一下介绍Java的相关书籍就可以了。如果您是新手,没有关系,您下些工夫,好好研究一本Java初级教程之类的书就可以了。 JSP和HTML:

做Java程序员都少不了和JSP以及HTML打交道。因此,想成为Java程序员就不可避免的要熟悉JSP和HTML,您最好能知道JSP的几个内置对象,如Seion,Request,Reponse,以及常用的JSP标签,如include,userBean等。如果您再熟悉一下JS和CSS就更好了,那会使您制作的页面更友好。 WebServer:

熟悉了以上三种,可以肯定的说您已经可以制作出来JSP页面了,您也可以在您的页面里使用自己开发的了,但您的页面总要跑起来才能看到您要的效果,这就要求您必须熟悉一种WebServer,比如:TOMCAT,RESIN等。您要熟悉如何发布您的应用,如何利用WebServer的数据库资源等。 开发工具:

大家都知道,开发工具可以帮助您更好更快地开发,因此熟悉几种开发工具很有必要。目前Java的开发工具比较流行的有JBuilder,IDEA,Eclipse,HTML的开发工具有Dreamweaver等。 熟悉一种框架:

熟悉一种框架其实是成为Java程序员的一种可选知识,但目前开发B/S结构的应用的开发小组,都差不多会采用一种框架来构建自己的应用系统。框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本。目前比较流行的框架有Struts和Spring等。 成都国信安Java培训班由10年以上软件项目开发经验的资深软件工程师、项目经理以及数据库管理经验的资深专家担任授课,讲课风趣有味,知识面面俱到,通过4个月的课程学习,可以全方位的掌握开发Java大型软件项目过程中所需要的软件技术、设计规范、开发流程、质量控制及项目管理,以及Oracle数据库相关知识内容。

国信安IT培训基地专注java培训、php培训、UI设计培训、软件测试培训、大数据培训、web前端培训等培训课程。你们准备好怎么学习IT技术了吗?来参加国信安IT培训课程,你的选择不会有错!

推荐第8篇:转行Java程序员应该具备哪些知识

www.daodoc.com

转行Java程序员应该具备哪些知识

为什么越来越多的90后偏爱互联网行业呢?他们的择业观与80后有哪些区别呢?

有诱人的福利

90后对于“软福利”的重视程度已经超过了“硬福利”。在90后受访者看来,五险一金的硬福利应该属于公司的“标准配置”,因此并不算关键的竞争力因素,能够提供弹性工作时间、额外带薪年假、配备固定班车等“软福利”更容易获得90后的青睐。

创新文化的氛围

Google内部将午餐时间看作同事间宝贵的交流机会,和美国大多数互联网公司一样,Google的员工中午普遍不睡午觉,通过协同工具来实现\"约饭\"的流程化,而只要是员工,制度上是可以实现任何级别之间的会餐,这也是其公司扁平化文化的一个体现。

符合自己兴趣的发展空间

90后普遍认为工作不只是满足生计这么简单,能够满足兴趣、实现人生意义更重要。有62%的90后表示择业时更看重是否有符合自己兴趣的发展空间,仅有38%的受访者在择业时优先考虑薪资待遇。

四川是旅游的天堂,无法拒绝她火辣辣的美食,无法拒绝她惊艳的自然风光,更无法拒绝她的古蜀文化。随着社会竞争的日益激烈,在很多大城市中,毕业就意味着失业。在大本生遍地的今天,本科甚至更低学历的毕业证书,早已不是求职的敲门砖了。工作经验和掌握的技术成为现在应届生的求职“利器”,难道要面“对剑未配妥,出门已是江湖”的窘境吗,赶紧抓紧时间,找一个自己感兴趣、适合自己的技术进行学习吧~

www.daodoc.com

各种各样的it培训相关信息,难免让大家眼花缭乱,但是没关系,经过小编的整理,希望大家能够对其认识更深一步!接下来就让小编带你来看看it培训的相关情况吧~带你了解it培训~

近年来我国信息化发展越来越快,使得全国各地的信息化建设如火如荼,出现了大量的信息化人才尤其是Java软件人才的缺口,而我国信息化人才培养还处于发展阶段,导致社会实际需求人才基数远远大于信息化人才的培养基数,使得数以万计的中小企业急需全面系统掌握Java软件开发基础技能与知识的软件工程师。

同时,Java工程师的薪水相对较高.通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平.但是,对Java人才需求旺盛的IT企业却很难招聘到合格的Java人员.其中,根本的原因就是许多计算机专业的毕业生在读期间没有掌握实用的技能与经验,距离企业的实际用人需求有较大的差距.因此,计算机专业的大学生欲成为Java工程师,便捷的一条路就是参加以实战项目为主要教学方法的Java职业技能培训,从而有效地缩短同企业具体用人需求之间的差距.那么想要成为一名优秀的Java程序员自身应该具备哪些知识。

www.daodoc.com

面向对象的知识:

Java是一个面向对象的开发语言,因此熟悉面向对象对学习Java很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,您还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的? Java语法:

如果您有C++等面向对象语言的开发经验,您只需简单的翻看一下介绍Java的相关书籍就可以了。如果您是新手,没有关系,您下些工夫,好好研究一本Java初级教程之类的书就可以了。

JSP和HTML:

做Java程序员都少不了和JSP以及HTML打交道。因此,想成为Java程序员就不可避免的要熟悉JSP和HTML,您最好能知道JSP的几个内置对象,如Seion,Request,Reponse,以及常用的JSP标签,如include,userBean等。如果您再熟悉一下JS和CSS就更好了,那会使您制作的页面更友好。

WebServer:

熟悉了以上三种,可以肯定的说您已经可以制作出来JSP页面了,您也可以在您的页面里使用自己开发的了,但您的页面总要跑起来才能看到您要的效果,这就要求您必须熟悉一种WebServer,比如:TOMCAT,RESIN等。您要熟悉如何发布您的应用,如何利用WebServer的数据库资源等。

开发工具:

大家都知道,开发工具可以帮助您更好更快地开发,因此熟悉几种开发工具很有必要。目前Java的开发工具比较流行的有JBuilder,IDEA,Eclipse,HTML的开发工具有Dreamweaver等。

www.daodoc.com

熟悉一种框架:

熟悉一种框架其实是成为Java程序员的一种可选知识,但目前开发B/S结构的应用的开发小组,都差不多会采用一种框架来构建自己的应用系统。框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本。目前比较流行的框架有Struts和Spring等。

成都国信安Java培训班由10年以上软件项目开发经验的资深软件工程师、项目经理以及数据库管理经验的资深专家担任授课,讲课风趣有味,知识面面俱到,通过4个月的课程学习,可以全方位的掌握开发Java大型软件项目过程中所需要的软件技术、设计规范、开发流程、质量控制及项目管理,以及Oracle数据库相关知识内容。

国信安IT培训基地专注java培训、php培训、UI设计培训、软件测试培训、大数据培训、web前端培训等培训课程。你们准备好怎么学习IT技术了吗?来参加国信安IT培训课程,你的选择不会有错!

推荐第9篇:程序员工作总结

在很多时候都会想为之前的工作做个总结,在今后的工作上能够取长把工作做得更好,有了工作总结,对下一年的计划也会比较得心应手。

2012年伊始是通过分销资源计划系统(DRp)拉开序幕.此次项目是一个相对比较完整的Java Web项目,从最基础的业务介绍,到需求分析,数据库分析与设计,页面设计,代码编写….直到整个项目的完成,通过这个项目学到了很多新的知识,同时对很多已经学过的知识进行很好的摩擦和补充.因为在其中还穿插着其他的内容,所以用了有半年左右的时间。

从4月初到5月末,准备并进行软件设计师的考试.这是我第二次参加软件设计师考试.通过两次考试的对比可以明显的发现产生在自己身上的一些改变和进步.具体可见无经历,不成熟—软件设计师考试后总结

但是最终的考试结果是没有通过,和第一次一样,差两分.虽然成绩的结果没有通过,但是通过这次软件设计师的复习考试,很给力的给自己补充了计算机基础方面的知识,同时也解了自己很多的疑惑,真正的学到了很多的知识.回顾自己整个的复习过程,收获是很大的,不仅仅是计算机基础,更是一种面对失败的心态收获.而这种心态将会在自己未来的路上会起很大的作用.

后半年进入SSH项目的实践和学习.

SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种轻量级Web应用程序开源框架。

Struts就是一个MVC的架构,在控制器,视图和模型方面都有其特定的组件,在SSH框架中,更多的是利用了Controller这个组件。

Spring实现了反转控制(Inversion ofControl)和面向方面编程(Achievement-Orientedprogramming)。Spring框架的能实现应用的分层架构,在应用中要使用的对象可以被一个简单的XML文件连在一起,这个XML文件含有到像事务管理器、对象工厂、包含业务逻辑的服务对象、和数据存取对象这些对象的引用。

Hibernate是一种ORM映射工具,它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate,可以大大减少操作数据库的工作量。

通过对SSH框架的学习,认识到框架给我们开发所带来的便利,更重要的是在框架形成的过程中所包含的原理和思想.收获都在一篇篇的博客中.

大概在十月和十一月的时候准备第三次软件设计师考试.吸取教训,总结经验,摆正心态,认真跟八期一起讨论和学习,这一次不仅仅是自己学习和通过考试,同时跟颖杰一起组织并带领八期一同复习和学习,这本身也是个锻炼和学习.当时也对自己考完后进行了一个总结:详见软考总结.

以上是自己计算机方面的主线.相对于计算机这条线而言,另外一个贯穿始终的是英语学习ShortBrain这条线.

算算从开始进行ShortBrain到现在已经有两年左右的时间了.而今年将会是一个关键的年份,关键是从听到说的突破,从沉默期中开始爆发.今年这一年也是英语中探索和收获比较大的一年,发现了更多符合ShortBrain思想的资料,收集各种资料,数据和文档.

因为是在探索着前进,中间也走了不少的弯路,其中一个什么时候开始说就在今年进行了三次以上的探索,在一次次的探索中积累了经验,通过对比自己一次次开口说的录音,发现的确是随风潜入夜,润物细无声.对于两年前的我,我的英语听力和口语能力有了很大的提高.这种提高通过看自己以前的记录会发现非常的明显.这种提高也是在正确的理念下的积累中所收获的.

英语习得的核心是像小孩一样去习得英语,是通过小孩的学习的过程逐渐的建立去英语思维,在原有的母语思维的基础之上建立第二思维.而在学习的过程中最切记的是急功近利,这是很多人进行ShortBrain时候所出现很多问题的根源.环境在整个学习的过程中也显的尤为重要.如何培养英语环境是我接下来的主要任务之一.相信在接下来的一年定会有所突破.

xiexiebang.com范文网(FANWEN.CHAZIDIAN.COM)

推荐第10篇:程序员工作总结

程序员工作总结

把今天要做的事情认真用心做好,这是我一直以来尤其是近期的深刻感受。每天我都看文档,学东西,看的越多发现自己学的和掌握的实在是太少。自己在最近编程中,编程语言的进一步学习,编程思想的更深认识,代码的多层次分析,以上这些,实用高效地推进了项目进度。

在工作中学习成长,提高的不仅仅是代码质量,程序的功能实现也有了较为明显的进展,更重要的是,信心的提升。阶段性总结,记录出现的问题,反复调试,用心验证,找到解决bug的方法,完善程序的功能性。

都说做程序员的要记住一条经验,那就是:“学历代表过去、能力代表现在、学习代表未来。”我个人觉得学历并不代表全部,我们每天都可以学到新的知识,知识是可以一点点积累的,只要肯努力,一切皆有可能,我一直在努力,并且不断寻找方法。

当然,劳逸结合的工作才是高效的,相信自己会安排好每日的工作。公司的周例会我觉得非常有必要,大家一起梳理思路,为之前的工作总结,为下一阶段的任务进行安排,在正确的轨道上,个人才能为团队的发展进步做贡献。

对于延展性的知识学习和拓展,将是我接下来的主要

目标,加快完成项目的既定功能模块,加强编程技能性知识的学习,同时和同事、朋友就自己的心得体会交流,取长补短。

XXX

2013年1月25日

第11篇:程序员工作总结

2013工作总结

从我4月25日进入公司到现在已经过去八个月了,从一名刚刚结束实习的学生到一名独立的开发人员,角色改变了,职责也改变了。虽然已经预计了工作之中会有很多困难,可是在实际的项目开发中,自己所遇到远远不止自己想象之中的那么简单、单纯。在开发过程中,难题一个接一个的出现,要做到满足公司的产品需求,成为一名合格的程序开发人员,这个过程还很漫长。每天我都在勉励自己,要好好学,好好做,以后会好的。在此同时我衷心感谢公司给我提供了学习的机会和平台,这也使我对以后的日子多了些许的信心。

工作回顾

在我进入公司的这八个月里,我陆续接触了公司的GPS平台,智能手表定位,上海铁路局车站消防综合管理系统,盛泉金融款箱管理系统,中行保卫处的管理系统,指挥中心的视频监控系统,并在这期间为安徽品至制作了一个展示型企业网站。在刚进入公司的那段时间里,我从没有接触过网络摄像机,对于网络摄像机根本没有任何概念,在公司的培养下我逐渐熟悉了各种摄像机,现在拿到海康、英码、赛赫、中威的摄像机开发包,可以很熟练的进行二次开发。在工作之余,我也在努力的学习,和别人交流,学习先进的开发技术,请教别人开发技术问题。

主要问题

1.由于开始对业务需求不是很熟悉,所以在写需求分析与了解所要开发的过程中多次出现因为需求的原因,而不断修改、返工的情况。在同盛泉金融交流的时候,这个问题多次困扰着我,对方的需求不明,每次交流的过程中都在变更需求,从而导致了效率比较低的问题。

2.在开发中,用到很多我所不知道或很多我知道但不太熟悉的领域,在这个领域内,我需要不断的学习。

3.在工作阶段,有时比较偏向自己的工作方便,忽略了其他同事的工作上的量与难易。有的功能自己怎么方便怎么写,如今公司在不断壮大,我们部门人员在不断的增加,这样是不利于多人合作的。

4.工作的条理性不够清晰,要分清主次和轻重缓急;在开发时间很仓促的情况下,事情多了,就一定要有详实而主次分明的计划,哪些需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。

5.学习的知识不够广泛;一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,以后我会加强这方面的学习。

工作心得

1.每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。

2.工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。和孙姐,王竹青,尤坤等人合作时候一定注意要多项工作同步进行,保证每个子模块都能同步运行。

3.每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。

4.工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的。自己的工作不能仅仅局限于编程。

工作计划

1.要提高工作的主动性,做事干脆果断,不拖泥带水。2.工作要注重实效、注重结果,一切工作围绕着目标的完成。 3.要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺。

4.精细化工作方式的思考和实践。

5.虚心请教比我做的优秀的其他同事,向他们学习技术或经验。其实作为一个新员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,

不论在什么环境下,我都相信这两点:一是三人行必有我师,二是天道酬勤。

在参加工作的这短短的一个半月中,我深刻的体会到,把自己所有的精力都投入进去,技术工作都不可能做到完美程度,毕竟技术工作太繁杂,项目多而人手少,但多付出一些,工作就会优化一些,这就需要认认真真沉下心去做事情,职业做事,诚信待人。

2014年1月2号

第12篇:程序员工作总结

个人工作总结

从我11月份离校来到溪谷晨歌网络公司已将近一个半月了,从一个学生变成了一个员工,角色变了,职责也就变了。虽然工作上的很多困难都是在自己的预料之内,可是很多事情都不像在学校里那么简单、单纯。在项目开发的工作中,难题一个接一个的出现,自信心不止一次的受到过打击,虽然自己早就知道,要做到符合公司的要求,做一名合格的程序员,在学校学的知识,根本就不够,而且很不够。每天醒来我都不断勉励自己,好好学,以后会好的。在此同时,公司也给了我很多学习的机会,这使我对以后的编程之路又有了些许信心。

一、工作总结

11月下旬与12上旬的几天,我的主要任务是将公司的静态网站与数据库连接做成动态的。由于功能比较简单,做起来没有遇到什么困难。可是之后的“南京市砖瓦粘土信息管理”项目,里面涉及到的一个地图功能的实现,让我不知所措,不知道怎么实现。由于自己没有能力完成项目,项目就交给了其他公司,之后的工作都是在合作公司——南京宁派网络科技有限公司里学习、工作的,了解他们公司的开发项目流程,学习他们的开发技术,请教他们开发技术上的问题。

二、在工作中主要存在的问题有:

1、由于开始对业务需求不是很熟悉,所以在写需求分析与了解所要开发的过程中多次出现因为需求的原因,而不断修改、返工的情况。

2、在开发中,用到很多我所不知道或很多我知道但不太熟悉的技术,有时甚至会出现这种情况,合作公司的技术人员,讲个名词,我都要百度一下具体什么意思,涉及什么技术。

3、在工作阶段,有时比较偏向自己的工作方便,忽略了其他同事的工作上的量与难易。有的功能自己怎么方便怎么写,有点难为其他同事,大家都要相互配合。

三、工作心得

1、在这将近一个半月的工作实践中,我参与的都是团队合作的项目,无论是在自己公司,还是在合作公司,我们都讲究团队精神。在信任自己和他人的基础上,思想统一,行动一致,这样的团队一定会攻无不克、战无不胜。我们的很多工作是一起完成的,在这个过程中,大家互相提醒和补充,大大提高了工作效率,所有的工作中沟通是最重要的,一定要把信息处理的及时、有效和清晰。

2、每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。

3、工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。

4、每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。

5、工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的,我在宁派公司,深有感触,除编程之外,切图、界面设计等工作都干过。

四、工作教训

经过一个半月的工作学习,我也发现了自己离一个符合公司要求的程序员还有很多差距,主要体现在工作技能与工作经验的不够,也是我以后要在工作中不断磨练和提高自己的地方。仔细总结一下,自己在一个半月工作中主要有以下方面做得不够好:

1.工作的条理性不够清晰,要分清主次和轻重缓急;

在开发时间很仓促的情况下,事情多了,就一定要有详实而主次分明的计划,哪些需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。

2.对流程、业务需求不够熟悉;

在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够。平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提

3.缺乏工作经验;

4.学习的知识不够广泛;

一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,以后我会加强这方面的学习。

五、工作计划

暂时做出以下几点规划:

1、要提高工作的主动性,做事干脆果断,不拖泥带水;

2、工作要注重实效、注重结果,一切工作围绕着目标的完成;

3、要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺;

4、把握一切机会提高专业能力,加强平时知识总结工作;

5、精细化工作方式的思考和实践。

6、虚心请教比我做的优秀的其他同事,向他们学习技术或经验。

其实作为一个新员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:一是三人行必有我师,二是天道酬勤。

在参加工作的这短短的一个半月中,我深刻的体会到,把自己所有的精力都投入进去,技术工作都不可能做到完美程度,毕竟技术工作太繁杂,项目多而人手少,但多付出一些,工作就会优化一些,这就需要认认真真沉下心去做事情,就是公司所提倡的企业精神:职业做事,诚信待人。

程序员:***

2012年1月3日星期二

第13篇:程序员工作总结

作为程序员,工作的这一年时间有怎样的任务需要做好总结的呢?如下是小编给大家整理的程序员工作总结,希望对大家有所作用。程序员工作总结篇【一】

记得去年写总结的时候心情很差,抱怨了很多当时的工作以及领导花生,那个时候的愿望是找一份新工作。没想到刚进入12月我就找到了。

不得不说这一次求职我是认真的把它当作一个工程去做,客观得对自己进行了定位,而且非常重要的是明确我想要的工作到底是什么样的。我需要的是让我每天的8小时能够享受工作的快乐。

投简历面试的过程非常折磨人,尤其是我的处境(每天很大压力,完全是自我打磨的阶段)。我清楚地记得面试现在这份工作那天是某个周六,我的经理娃娃和技术主管T同意我周末面试。一共4个小时,那绝对是一个互相争取的过程。他们对于工作的热情打动了我,觉得和这样的团队合作一定可以有火花。

真是幸运,当我正视错误,用行动做出改变的时候,找到了一份我要的工作。入职三周已经和团队磨合得很好了,用同事的话说就是觉得我已经加入很久了。

这里不得不说一句我们的团队,一个老中青结合富有战斗力的集体,而且还不乏八卦调节生活。每个人都特别,合作也会有摩擦,但是整体运作非常协调,开发速度和效率都高。从他们身上我看到不同的工作态度,生活态度。这些对我的职业规划都有着潜移默化的影响。领导“娃娃”也非常合适我目前阶段对于领导的需求。如果说几年前我初出茅庐需要的是一个有时间且肯耐心带我的领导的话,现在的我需要的是一个可以给予我充分信任的上司。“娃娃”信任我,从刚进入公司就如此。在熟悉产品阶段我提出的问题和建议他都认真的听了,而且给我时间让我按照自己的想法作出修改。后来我也喜欢把新想法跟他说,当我们带着创意去和老板谈的时候他是我坚强的后盾。

这一年下来我在纯技术上的提高并不多,我们所面向的客户并不要求尖端的技术。经验主要体现在理解需求上面,如果说前两年我还需要领导把需求说得很明白,还会为马后炮而耿耿于怀。那么今年应该算是个分水岭。现在的我不需要领导花很久时间来讲需求,也不用每一步都需要认可再做接下来的工作。总的来说就是技术和业务之间的距离越来越近,而且还可以想到客户将来会需要什么,我曾经的领导应该很欣慰,他培养的人终于达到他说的bigpicture了。

程序员工作总结篇【二】

从我11月份离校来到溪谷晨歌网络公司已将近一个半月了,从一个学生变成了一个员工,角色变了,职责也就变了。虽然工作上的很多困难都是在自己的预料之内,可是很多事情都不像在学校里那么简单、单纯。在项目开发的工作中,难题一个接一个的出现,自信心不止一次的受到过打击,虽然自己早就知道,要做到符合公司的要求,做一名合格的程序员,在学校学的知识,根本就不够,而且很不够。每天醒来我都不断勉励自己,好好学,以后会好的。在此同时,公司也给了我很多学习的机会,这使我对以后的编程之路又有了些许信心。

一、工作总结

11月下旬与12上旬的几天,我的主要任务是将公司的静态网站与数据库连接做成动态的。由于功能比较简单,做起来没有遇到什么困难。可是之后的“南京市砖瓦粘土信息管理”项目,里面涉及到的一个地图功能的实现,让我不知所措,不知道怎么实现。由于自己没有能力完成项目,项目就交给了其他公司,之后的工作都是在合作公司南京宁派网络科技有限公司里学习、工作的,了解他们公司的开发项目流程,学习他们的开发技术,请教他们开发技术上的问题。

二、在工作中主要存在的问题有:

1、由于开始对业务需求不是很熟悉,所以在写需求分析与了解所要开发的过程中多次出现因为需求的原因,而不断修改、返工的情况。

2、在开发中,用到很多我所不知道或很多我知道但不太熟悉的技术,有时甚至会出现这种情况,合作公司的技术人员,讲个名词,我都要百度一下具体什么意思,涉及什么技术。3、在工作阶段,有时比较偏向自己的工作方便,忽略了其他同事的工作上的量与难易。有的功能自己怎么方便怎么写,有点难为其他同事,大家都要相互配合。

三、工作心得

1、在这将近一个半月的工作实践中,我参与的都是团队合作的项目,无论是在自己公司,还是在合作公司,我们都讲究团队精神。在信任自己和他人的基础上,思想统一,行动一致,这样的团队一定会攻无不克、战无不胜。我们的很多工作是一起完成的,在这个过程中,大家互相提醒和补充,大大提高了工作效率,所有的工作中沟通是最重要的,一定要把信息处理的及时、有效和清晰。

2、每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。

3、工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。

4、每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。

5、工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的,我在宁派公司,深有感触,除编程之外,切图、界面设计等工作都干过。

四、工作教训

经过一个半月的工作学习,我也发现了自己离一个符合公司要求的程序员还有很多差距,主要体现在工作技能与工作经验的不够,也是我以后要在工作中不断磨练和提高自己的地方。仔细总结一下,自己在一个半月工作中主要有以下方面做得不够好:

1、工作的条理性不够清晰,要分清主次和轻重缓急;在开发时间很仓促的情况下,事情多了,就一定要有详实而主次分明的计划,哪些需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。

2、对流程、业务需求不够熟悉;在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够。平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提。

3、缺乏工作经验。

4、学习的知识不够广泛。一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,以后我会加强这方面的学习。

五、工作计划

暂时做出以下几点规划:

1、要提高工作的主动性,做事干脆果断,不拖泥带水;

2、工作要注重实效、注重结果,一切工作围绕着目标的完成;

3、要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺;

4、把握一切机会提高专业能力,加强平时知识总结工作;

5、精细化工作方式的思考和实践。

6、虚心请教比我做的优秀的其他同事,向他们学习技术或经验。其实作为一个新员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:一是三人行必有我师,二是天道酬勤。

在参加工作的这短短的一个半月中,我深刻的体会到,把自己所有的精力都投入进去,技术工作都不可能做到完美程度,毕竟技术工作太繁杂,项目多而人手少,但多付出一些,工作就会优化一些,这就需要认认真真沉下心去做事情,就是公司所提倡的企业精神:职业做事,诚信待人。

第14篇:程序员工作总结

个人工作总结

从我11月份离校来到公司已将近一个月了,我所从事的工作是程序员,下面是对我工作内容的一些介绍。

一、工作内容:

工作刚开始的几天,我的主要任务是将公司的静态网站与数据库连接做成动态的。由于功能比较简单,做起来没有遇到什么困难。可是之后的项目,里面涉及到的一个地图功能的实现,让我不知所措,不知道怎么实现。由于自己没有能力完成项目,项目就交给了其他同事,之后的工作都是在公司里跟着同事一起学习,了解工作的内容和工作流程

二、工作中学习到的知识和技能:

1、在这将近一个月的工作实践中,我参与的都是团队合作的项目,无论是在自己工作,还是和同事一起配合,我们都讲究团队精神。在信任自己和他人的基础上,思想统一,行动一致,这样的团队一定会攻无不克、战无不胜。我们的很多工作是一起完成的,在这个过程中,大家互相提醒和补充,大大提高了工作效率,所有的工作中沟通是最重要的,一定要把信息处理的及时、有效和清晰。

2、每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。

3、工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。

4、工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的,我在宁派公司,深有感触,除编程之外,切图、界面设计等工作都干过。

三、工作时间:

1、公司实行五天/周工作制,每天工作时间不得超过8小时

2、我们公司一般的上班时间安排为:

上午8:30---11:30

下午13:00--17:30 在参加工作的这短短的一个月中,我深刻的体会到,把自己所有的精力都投入进去,技术工作都不可能做到完美程度,毕竟技术工作太繁杂,项目多而人手少,但多付出一些,工作就会优化一些,这就需要认认真真沉下心去做事情,就是公司所提倡的企业精神:职业做事,诚信待人。

蔡淑敏

2013年11月24日星期日

其实作为一个新员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步 后工作中,要努力做好开发人员的本职工作,把自己的工作创造性做好做扎实,为 项目的开发以及公司的发展贡献自己的力量

一种积极豁达的心态、一种良好的习惯、一份计划并按时完成竟是如此重要,并最终决定一个的人成败

这一段时间的工作也让我明白了一点:一个优秀的程序员必须不断的学习,随时总结,找到自己的不足,这样逐步提高,才能让自己很快的成长起来。

做程序员的要记住第一条经验:“学历代表过去、能力代表现在、学习代表未来。”我个人觉得学历并不代表全部,我们每天都可以学到新的知识,知识是可以一点点积累的,只要肯努力,一切皆有可能 .

第15篇:黑马程序员Java IO知识测试 C卷(材料)

集合部分测试题

考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!

本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。

1.所有异常的父类是()A a) Throwable类 b) Error类

c) Exception类

d) RuntimeException类

2.下列关键字能和try一起使用的有()CD a) final b) finalize c) finally d) catch

3.实现下列哪个接口,可以启用序列化功能()b a) Runnable接口

b) Serializable接口 c) Comparable接口 d) Comparator接口

4.当方法遇到异常(编译时异常)又不知如何处理时,下列哪种说法是正确的()C a) 捕获异常(try{…}catch{…}) b) 抛出异常(throw 异常对象) c) 声明异常(throws 异常类型) d) 嵌套异常

5.如何自定义一个异常类( )AB a) 让这个类继承Exception b) 让这个类继承RuntimeException c) 让这个类继承Comparator d) 让这个类继承Comparable

6.可以用来操作路径的类是()a a) File b) FileStream c) OutputStream d) FileReader

7.File类中,创建多级目录,可以通过以下那个方法()d a) create() b) createNewFile() c) mkdir() d) mkdirs()

8.下列哪一个import命令可以使我们在程序中创建输入/输出流对象()B a) import java.sql.*; b) import java.io.*; c) import java.net.*; d) import java.util.*;

9.下列关于Java中文件输入输出的说法正确的是()A a) 在Java中,文件的输入输出功能是通过流来实现的

b) 如果要把数据写入一个文件中,需要创建一个输入流对象 c) 字符流在某些方面比如图片的处理,比字节流更方便x d) 可以通过Reader r = new Reader(“c:\\java.txt”);创建一个输入流对象

10.获取指定目录下所有的文件,可以通过哪个方法实现:()D a) b) c) d)

list() getDir(); listFile() listFiles() 11.下面用字符流能成功拷贝的文件有()BC a) java基础自测题.doc b) 学生考试答案.xml c) Student.java d) 学生信息表.xlsx

12.看下面程序,加入xxx.txt里面有一个文字”a”,请问该程序输出结果是()D public static void demo1() throws FileNotFoundException, IOException {

InputStream is = new InputStream(\"xxx.txt\");

int x = is.read();

System.out.println(x); } a) A b) a c) 97 d) 编译报错

13.如果我想保留a.txt中原有的内容,在后面追加写入数据,下面创建输出流对象写法正确的是()B a) FileOutputStream fos = new FileOutputStream(“a.txt”);

b) FileOutputStream fos = new FileOutputStream(“a.txt”,true); c) BufferedOutputStream bos = new BufferedOutputStream(“a.txt”,true); d) OutputStreamWriter osw = new OutputStreamWriter(new InputStream(“a.txt”,true),”gbk”);

14.下面关于字节流说法不正确的是()BC a) 字节流拷贝文件时一次读取一个字节 b) 字节流拷贝文件时一次读取两个字节

c) 字节流使用完后需要关,内存输出流使用完后也必须要关闭 d) FileOutputStream没有缓冲区,而FileWriter有缓冲区

15.判断一个文件的大小我们可以使用哪个方法(AD)

a) File类的length()方法

b) File类的available()方法

c) FileInputStream类的length()方法 d) FileInputStream类的available()方法

16.已知 海贼王全集.avi 这个文件有20Gb 的大小,复制该文件最快的方式是()D a)

FileInputStream fis = new FileInputStream(\"双元.jpg\");

FileOutputStream fos = new FileOutputStream(\"copy.jpg\");

int b;

while((b = fis.read()) != -1) {

fos.write(b);

}

fis.close();

fos.close(); b)

c)

d)

FileInputStream fis = new FileInputStream(\"致青春.mp3\"); FileOutputStream fos = new FileOutputStream(\"copy.mp3\"); byte[] arr = new byte[fis.available()];

fis.read(arr);

fos.write(arr);

fis.close(); fos.close();

FileInputStream fis = new FileInputStream(\"xxx.txt\"); FileOutputStream fos = new FileOutputStream(\"yyy.txt\");

byte[] arr = new byte[1024]; int len; while((len = fis.read(arr)) != -1) { fos.write(arr,0,len); }

fis.close(); fos.close();

FileInputStream fis = new FileInputStream(\"xxx.txt\"); FileOutputStream fos = new FileOutputStream(\"yyy.txt\");

byte[] arr = new byte[1024*8]; int len; while((len = fis.read(arr)) != -1) {

fos.write(arr,0,len); }

fis.close(); fos.close(); 17.BufferedInputStream这个类是哪个设计模式的体现()B a) 单例设计模式 b) 装饰设计模式 c) 工厂设计模式 d) 适配器模式

18.下面说法正确的是()D a) OutputStream是个接口 b) Writer是个接口

c) BufferedOutputStream是FileOutputStream的父类x d) Reader是InputStreamReader的父类

19.下列关于Java I/O中字符输入流Reader类中的read方法描述错误的是?(A)

a) read()方法的返回值类型为char类型 b) read()方法的返回值类型为int类型

c) read()方法的返回值如果为-1,表示到流的末尾

d) read(char[] cbuf)方法表示将读到的多个字符存入字符数组cbuf中

20.下列哪些选项是Java I/O中字符输出流FileWriter类中的write方法?()ABCD a) write(char[] cbuf)写入字符数组

b) write(char[] cbuf, int off, int len)写入字符数组的某一部分 c) write(int c)写入单个字符 d) write(String str)写入字符串

21.假设存在xxx.txt文件,内容为”大家好”,以下代码运行的结果为?(A) public cla Test { public static void main(String[] args) throws IOException {

FileReader fr = new FileReader(\"xxx.txt\");

FileWriter fw = new FileWriter(\"zzz.txt\");

int c;

while((c = fr.read()) != -1) {

fw.write();

}

fr.close();

fw.close(); } } a) b) c) d)

编译报错

程序正常运行,zzz.txt文件中的内容为”大家好” 程序正常运行,但是没有生成zzz.txt文件 程序正常运行,但是zzz.txt文件中是乱码

22.FileWriter类直接继承哪个类?(A)

a) OutputStreamWriter b) Writer c) BufferedWriter d) InputStreamReader

23.关于自定义字符数组拷贝文件的说法错误的是?()AC a) 自定义的数组越大越好

b) 自定义的数组既不能太大,也不能太小

c) 可以使用FileReader类的available()方法的返回值作为数组的大小

d) 建议定义为1024的整数倍,但不能太大,防止内存溢出

24.假设xxx.txt文件中存了2000个汉字,下列程序运行后输出的结果是?(B)

public cla Test { public static void main(String[] args) throws IOException {

FileReader fr = new FileReader(\"xxx.txt\");

FileWriter fw = new FileWriter(\"yyy.txt\");

int count = 0;

char[] arr = new char[1024];

int len;

while((len = fr.read(arr)) != -1) {

count++;

fw.write(arr,0,len);

}

fr.close();

fw.close();

System.out.println(count); } }

a) 1 b) 2 c) 3 d) 4

25.下面的哪个类代表字节输入流到字符输入流转换的桥梁?()A a) InputStreamReader b) OutputStreamWriter c) FileReader d) BufferedReader

26.BufferedReader读取一行时,判断该行是否结束的标志是什么?()AD a)

\\r b)

null c)

-1 d)

\\r\\n

27.缓冲流是否需要关闭()B a) 否 b) 是

c) 以上答案都不对 d) 关不关都可以

28.以下代码运行后输出的结果是?(A)

public cla Test { public static void main(String[] args) throws IOException {

System.out.println(fun(5)); } public static int fun(int num) {

if(num == 1) {

return 1;

}else {

return num * fun(num2) + fun(num - 1);

} } } a) 34 b) 13 c) 21 d) 5

30.为了提高读写性能,用下面的哪些流?()ABCD a) BufferedInputStream b) BufferedOutputStream c) BufferedReader d) BufferedWriter

31.下列关于Java I/O中哪个流可以将多个文件中的内容合并到一个文件中(序列流)?(cC a) SequenceOutputStream b) InputStreamReader c) SequenceInputStream d) OutputStreamWriter

32.下面的哪个流表示内存输出流?(

)A a) ByteArrayOutputStream b) ByteArrayInputStream c) ObjectInputStream d) ObjectOutputStream

33.下面说法正确的是?(

)b a) 可以通过ByteArrayOutputStream和ByteArrayInputStream实现文件的复制

)b) 不可以通过ByteArrayOutputStream和ByteArrayInputStream实现文件的复制 c) 用ByteArrayOutputStream和ByteArrayInputStream实现文件的复制,会出现乱码 d) 用ByteArrayOutputStream和ByteArrayInputStream实现文件的复制,不会出现乱码

34.下面说法错误的是?(

)D a) ByteArrayOutputStream内部封装了字节数组

b) new ByteArrayOutputStream()利用空参构造创建对象时,内部的数组的大小为32 c) toByteArray()以字节数组的形式返回数据 d) 以上说法都不对

35.关于对象操作流的描述正确的是?(

)A a) ObjectOutputStream流是将对象以Object类型写入到文件中 b) ObjectOutputStream流是将内容写入到Object对象中 c) ObjectInputStream流是读取Object对象里的内容

d) ObjectInputStream是从文件中读取一个对象出来,读出来是Object类型的,需要进行强制类型转换

36.ObjectOputStream类中的哪个方法可以将对象写入到文件中?(

)C a) write(Object obj) b) append(Object obj) c) writeObject(Object obj) d) objectWrite(Object obj)

37.下列选项中哪个不属于I/O流?(

)C a) FileWriter b) FileReader c) Properties d) PrintStream

38.下列说法不正确的是(

)D a) Properties 类表示了一个持久的属性集L b) Properties 可保存在流中或从流中加载L c) 属性列表中每个键及其对应值都是一个字符串L d) 以上说法都不对

39.以下代码运行后输出的结果是?(

)C public cla Test { public static void main(String[] args) throws IOException {

Properties prop = new Properties();

prop.setProperty(\"name\", \"张三\");

prop.setProperty(\"tel\", \"18912345678\");

Enumeration en = (Enumeration) prop.propertyNames();

while(en.hasMoreElements()) {

String key = en.nextElement();

String value = prop.getProperty(key);

System.out.print(value + \":\");

} } } a) b) c) d) name:tel tel:name 张三:18912345678: 18912345678:张三

40.关于Properties类中的load和store方法说法正确的是?(

)AB a) load方法从流中读取属性列表,键值对,加载到Properties对象中 b) store方法将Properties对象中的键值对,写入到流中

c) load方法将Properties (Properties)对象中的内容加载到文件中

d) 以上说法都不对

第16篇:动力节点java——聊一聊java程序员的自我修养

动力节点java——聊一聊java程序员的自我修养

程序员提高自我修养是为了什么?

程序写的好有人崇拜,有妹子喜欢?还是到博客、论坛、社区发表文章进行分享获得成就?我想这是少数人的追求,也是更高的追求,在这之前

我认为,在中国,程序员提高自我修养的目的,是为了:

1、更好的融入工作,减少困难,增加成就

2、稳步的提升能力,提高收入,达成财务自由

2、站在更高的层面看待自己的学习和工作,树立更加适合的人生观价值观,家庭幸福,生活愉快

说的更通俗一点,就是用更加合理的方式和方法,赚取到更多的收入

说了这么多废话,进入正题

何为程序员的自我修养?

正面论述很难说清楚,反向描述可能更通俗易懂一些,自我修养的对立面是“没有修养”,先说一说在这么多年的工作、学习、生活中,遇到的一些我认为“没有修养”的程序员形态:

1、程序员小张遇到了一个开发问题,很着急,想到了有几个群,于是到群里发了他的问题,坐等回答,发现没有人回答,就直接对话群主的QQ,群主也不回答,于是小张就搜索,突然搜到博客园有个帖子讲解了相关话题,他看完就给博主留言,我的邮箱是:XXXXX@qq.com,麻烦博主把源码发给我一下,谢谢。

2、程序员小张进公司3个月了,老板布置了很多任务,他觉得老板很没人性,工资给的不高,加班也不给钱,于是在写代码的时候能省就省,客户反馈有问题也不主动解决,敷衍为主,又过了一个月,跳槽了。

3、程序员小张正在写一个功能模块,需要进行某种加密,到百度搜到了一个编码模块,看不明白具体写了什么,但是放到程序里刚好适用,于是就这么原封不动放进去了。

4、程序员小张要对某个功能进行研发,项目经理对他说,这个功能应该能搜索到,你去搜搜看,小张就在百度搜啊搜,一天过去了啥都没找到,项目经理来到小张身边坐下,换了个关键词,1分钟就搜到了解决方案。

5、程序员小张学.NET已经工作3年了,工资还是10000,和公司提涨工资也没答应,想跳槽又犹豫,这时某个前辈对他说,你去看书吧,多看一些书,例如 《Visual C# 从入门到精通》,《CLR via C#》《Javascript权威指南》等等,于是小张买回来了, 随手翻了翻发现有些东西是他已经会的,有些看不懂的好像又用不到,而且书这么厚,要不要浪费时间去看呢?小张就这样反复纠结了半年,依然每天上班工作,下班LOL,偶尔还抱怨一下工资低。

6、程序员小张到了一家新公司,在做一个项目实现某个功能时,想起来以前做过这样的功能,可是竟想不起怎么实现了,于是就到自己电脑上找文档,找了好久也没找到,只好放弃,最后又折腾了2天,终于还是把这个功能给实现了。

7、程序员小张某天非常不高兴,因为他的项目经理和项目组的产品人员又变更需求了,新的需求又要对整个结构进行大的调整,小张很郁闷,到一个QQ里发泄情绪,说了这个事,于是立马,QQ群里面炸开锅了,程序员小李说,对,产品就是狗日的!程序员小王说,对,他妈的项目经理整天高枕无忧,就知道压榨开发人员!程序员小孙说,是的是的,我上一家公司也是这样,压榨程序员,幸好我走了。就这样,在一片骂声中,几个程序员心情舒畅了,小张开心的去玩王者荣耀去了。

我想,有些人可能已经明白我要说什么,有些人可能还不明白,具体的话我也说不出来,只能用一句话来概括就是:

在编写代码的过程中,善于学习、掌握方法、勤加思考、勤奋努力、持之以恒,长此以往,在编程中,你会发现不一样的自己。

以上这些还是比较抽象,那么

提升自我修养的具体方法有哪些?

程序员具体如何达成“较高的修养”,每个人各有自己的办法,我无法说到很细,就和如何提高做人修养一样,一句两句话是说不清楚的,但是有些说法也通俗易懂,比如一个小孩,有教育良好的父母,父母彬彬有礼,小孩从小开始接受正规教育,小学、初中、高中、大学,然后文化课程和社会实践良好,那么这个小孩最终的做人修养,一定比没有经历过这个过程的小孩更好一些。

同样的,写程序也是如是,下面我就讲一些最基本的、最浅显易懂的学习方法和道理,我把它叫做:

程序员基础的基础

一个好的开发人员,应该能够全面、高效、严谨的去处理任何软件程序和业务问题,成为一个好的开发,是一个很有意思的话题,不过无论这个话题如何开展,基础两个字必不可少,虽然代码量是衡量开发能力的重要指标,但仅能够熟练的进行代码编写是不够的,更要能深刻的理解技术原理和业务逻辑,扎实的个人基础和技术基础往往会促进代码的编写,更游刃有余的解决问题。

下面说的一些基础,可能绝大部分开发人员都不会在意甚至忽略,但恰恰这些才是开发大厦的基石。

1、科学基础

成为开发人员的过程不尽相同,有的是科班出身,有的是兴趣爱好,还有的是专业机构的培训,在这个过程中,可能全面或者零散甚至没有学习过计算机基础学科,但无论是哪一种,想要成为更高层次的开发人员,写出更高质量的代码,计算机基础学科的学习,是非常非常非常(重要的事情说三遍)重要的。具体的来说,基础学科在实践应用中,有如下几门是一定需要的,按照学习顺序排列如下

1)数据结构 数据结构课程通俗的说就是告诉你如何用最基本的语言类型、变量,关键词语句等,去处理各式各样的逻辑问题,我们称之为算法,而日常编程中的各种问题,例如排序、文件夹遍历操作、数据库查询等,都可以在数据结构课程中,找到对应的数学原型。数据结构课程的理解能力,也是一个人数学能力的体现,数据结构学习的好坏,是程序员水平差异的一个重要分水岭,对于这一块内容的学习,有如下建议:使用VB、C、C++、Pascal等语言,买一本相关语言数据结构与算法的书,或者在网上下载相关的PDF电子书,完整的学习一边,并将书本中的所有案例亲自编写运行调试一遍,当能够领悟到某些日常编程中常见手法源于某些数据结构和算法时,就基本达到了学习效果。

2)操作系统

所有编程语言的开发以及应用的运行,都基于操作系统,桌面编程中的大部分场景包括内存、进程、文件系统、网络通讯、用户界面等,都源于操作系统的定义和概念,完整的了解操作系统的起源和组成以及运行逻辑,对多线程、复杂界面、文件管理以及一些难以正常理解编程思路等开发中遇到的场景,有非常大的帮助,不仅帮助理解,也能掌握更多有效的程序写法。具体可以买一本操作系统的书或者下载相关PDF电子书,完整的浏览一遍,做到能够结合实际编程场景来看待操作系统原理,就基本达到了学习效果。

3)数据库

传统的关系型数据库,入门简单,深入却难,往往开发人员能够较快的掌握增删改查、视图、索引、存储过程等基本数据库操作,却在编写复杂查询、设计主外键、优化字段、去除冗余等时,出现只会依葫芦画瓢却不能自主思考扩展的状况。究其原因还是没能了解关系数据库的根本原理,而数据库这一门课程,系统的阐述了关系型数据库的来龙去脉,了解其中的数学原理或逻辑基础所在,对提升数据库编程水平有质的影响。建议也是买一本数据库的相关书籍或者下载PDF电子书,能够把熟练的把第一范式、第二范式等数据库课程的基本知识点与数据库编程场景建立起关联,也基本达到了学习效果。

4)编译原理

编译原理是编程语言以及各类语言编译器的科学基础,可以说编译原理创造了世界上的几乎所有的IT应用,学习编译原理的基础是数据结构和算法,因此编译原理的学习要花费更多的时间和精力,由于现代高级编程语言的编译器,在代码优化、资源优化方面已经做的足够智能,因此,编译原理的学习对实战的影响越来越小,但是正所谓本盛末荣,如果认为自己对数据结构和算法的学习达到了一个较高的水平和状态,可以在编译原理学习上进一步深入,最终把自己和普通程序员拉开更大的差距。

2、英语能力

英语的天然特性和字母长度还有学科发展的历史因素,决定了编程语言一定是基于英语的,在编程过程中,从语言的关键词到文档的内容又或是搜索引擎的搜索结果,都不可避免的会遇到英文。大部分编程人员,都具备英语四级左右的英文基础,却由于非专业以及工作环境原因,逐渐疏远甚至完全淡忘了英语。而实际操作中,大部分编程语言资料都是英文,在线编程问答内容也是英文,因此,很有必要把英语能力重新恢复到一个不用太高但行之有效的水平,达到如下效果:

1)对自己所使用语言,每一个关键词都知道具体的英文翻译、逻辑含义以及读音。 2)对于自己使用语言所涉及到的相关方法、类库、框架、工具等,能知道其中每一个方法、过程以及参数关键词等的英文翻译、逻辑含义以及读音。

3)对常见的编程逻辑和核心关键词,能够用英文组织问题的描述,最简答的也行,只要能被搜索引擎读懂就可以。比如如何在C#中把整形转换为字符串类型这个问题,最简易的英文描述就是 C# Integer Covert To String。

4)在自己技术知识范围内的任何的英文的技术手册、文档、文章或是问题描述,能够读懂8成的内容含义,能够读懂完整的技术含义。

3、搜索方法

任何一个开发人员,都应当具备搜索能力,甚至是一定要具备搜索能力,搜索引擎的宝藏,是无穷无尽的,同样具备搜索意识的不同程序员,却因为搜索技巧的差异最终在程序开发质量、项目实施效率、甚至是工程产品质量上出现数倍的差异,因此,掌握高效、先进、灵活的搜索方法和技巧,是非常非常非常(重要的事情说三遍)有用的。其中主要的方法介绍如下:

1)搜索源选择

 虽然英文的编程资料更为准确高效,但中文的编程资料数量上却占优,因此遇到问题第一搜索选择还是百度

 谷歌对于专业中文词汇的处理能力有时候甚至比百度还要强,而且谷歌能搜出大量的英文资源,因此谷歌也是首选之一,但是由于谷歌被封锁,因此需要进行VPN、SSH等FQ操作,或者在百度搜索“谷歌镜像”关键词,通过谷歌的镜像网站进行访问。

 除了搜索引擎,专业的技术网站、论坛、社区也是非常直接有效的搜索源,比如国外的StackOverFlow网站,国内的Cnblogs博客园、OSChina开源中国等,都具备搜索功能,将问题关键词输入其中,也许也会很快的得到相关答案。

 对于QQ群,建议不要使用,除非QQ群主或者成员是非常闲或者非常非常热心的人,否则在QQ群询问技术问题,是非常低效率的搜索方式。

2)关键词构造

搜索关键词的构造,直接影响搜索效率和正确结果的过滤,没有什么特别的技巧,关键在于搜索积累,但是总体遵循的原则是,准确和简洁,比如当出现一个描述,如何用C#对XML进行序列化和反序列化,非常愚蠢的关键词构造就是“如何用C#对XML进行序列化和反序列化”,而正确高效的关键词则是“C# XML 序列化 反序列化”,或者在谷歌里面搜索则是“C# XML Serialization”。在平时的编程中,一定要注意相关方法和经验的积累

3)联想搜索

联想搜索,不属于搜索引擎的范畴,却是在搜索中很有用的高级技巧,举一个通俗的例子,比如想使用C#,利用某个.NET类处理一种HTTP通讯,但是一直搜索不到完美的结果,不过换个思路,考虑到VB.NET也是.NET体系,和C#完全相通,那么也可以试着用VB.NET关键词进行搜索,搜索到完美代码后再临摹成C#代码。这样的联想搜索,不仅能够帮助搜索正确结果,也是对大脑思维的训练,值得多多尝试。 4)资源搜索

开源的框架、产品、工具、控件等开发辅助类东西越来越多,稳健性和迭代性越来越强,去寻找一款成熟的工具或者插件,也成为了大量开发者的必备方法和技能,而如何高效的搜索出想要的资源,也成为了一门学问,其核心方法就在于知晓资源网站的地址,常见的例如有开源中国、Github、CSDN下载、pudn等。资源类网站需要平时多积累,到用到的时候会非常关键。

4、思维模式

开发人员,一定要养成业务思维的模式,所谓的业务思维,就是在做任何一个项目的时候,写任何代码前,需要对项目本身的业务概念和业务逻辑甚至业务流程都要有一个全面的学习和理解,这虽然不是一个项目的强制要求,却是一个很好的开发习惯,无论自己的觉得是开发者还是测试员又或是技术总监,掌握了业务原理,才能够更好的设计或阅读项目的数据结构和流程结构。程序员的思维往往和用户或者客户是不一致的,摆脱技术思维模式,习惯于用业务思维解决问题的程序员,不一定最优秀,但一定是一个很容易沟通的程序员

5、工作与编程习惯

有的人说爱干净浪费时间,所以不修边幅,但归根结底这还是习惯问题,当养成清洁卫生的习惯并使之成为生活惯性时,往往就不会耗费更多的时间,反而显得干净干练。写程序同样如是,有一些编程习惯,看似不足为道,看似浪费时间,可是如果坚持下去,最终都能收到意想不到的奇效。下面列举一些特别重要的习惯。 1)快捷键的使用

无论是使用Windows、Linux操作系统,还是在IDE中,快捷键都是系统本身的标配,事实上,Ctrl+C、V这样的操作,大部分人都能尝到在节省时间上的甜头,把这个概念进一步扩散,如果在IDE中编写代码,除了代码本身,将其余所有的鼠标操作、键盘定位操作,都用快捷键来代替的话,在时间上将会有数量级的节省,然而看上去这么好的事情,真正坚持去执行并形成习惯的人屈指可数,因此,在初期的改变习惯,记住快捷键,会是一个长期的过程,需要不断的坚持。

2)代码注释

一个开发人员随着年龄和经验的增长,所参与的项目,再也不是靠一个人或者几个人就能完成的。系统的重构、代码的重构、工作的交接、对新进人员的培训等等类似的事情,会越来越多的遇到,这些事情无一例外都会把已经写过的代码重新或者重复阅读,如果在初始编写代码时,就做到完整、清晰明了的代码注释,对后续工作会有巨大的帮助。不仅提高工作效率,还能增强合作好感。事实上,就算只是自己看自己的代码,如果有注释,也能加深印象,缩短代码查找时间。因此,任何开发人员,都应该养成良好的代码注释习惯。

优秀的代码注释应该能做到:

  每一个函数、每一个属性甚至是变量的划分,都可以找到对应的解释。 多使用越来越被IDE支持的XML注释方式,不仅有注释文字,更有详细的参数描述。  对程序结构、模块、组成部分划分等也加以注释

3)命名规则

具备一定规模的软件公司,在代码编写上都有一套自己的命名规则,涵盖项目、模块、函数、变量等等,标准化命名的好处不言而喻,然而被动、被迫去遵守命名规则和主动习惯于使用命名规则是完全不一样的。一个优秀的开发人员,应当发自内心的希望各种代码命名都是有规则的,易读的,而不是纠结于命名规则会增加码字长度。

4)不将就的编程逻辑

所谓不将就的编程逻辑,其对立面就是不讲究的编程逻辑,不讲究的编程,不仅是一种很坏的编程习惯,也体现了低下的生活品质,很多开发人员,因为个人习惯、赶工期、客户要求不高等多种原因,在编程时特别随意,体现在比如为了实现某个功能,百度出一段代码,直接套用,10行的代码只理解8行,有两行看不懂也放到程序里去使用,很多这样的小细节,就好比在项目中埋下了无数的定时炸弹,不仅有很大概率形成返工,更是为项目埋下了风险。编程人员,应当有担当有态度,养成不将就的编程逻辑,不勉强自己,也不轻视程序。

5)数据备份

误删、误操作、电脑断电、文件遗失等等状况是每一个开发按人员都可能遇到的问题,如果不希望辛勤的劳作被浪费,不希望偶然的意外影响工作,那做好备份是必不可少的,在较大规模的公司,会有完整的源代码管理以及信息安全防护,而无论是在大公司工作,还是身处较小公司或者在实现个人代码价值时,都要做好代码和文档的数据备份,备份方式的选择灵活多样,有使用在线的CVS、SVN、TFS、Git源代码管理,也可以手工拷贝文件至云空间或者本地硬盘,甚至可以在个人电脑上组成RAID磁盘阵列等等,养成周期性、规律性的备份习惯。

6)邮件工作方式

沟通是进步的源泉,如果说开发小组的热烈讨论是性格和激情的体现,那邮件的工作方式也是另一种稳重和高效。无论是公司层面的工作沟通,还是开发小组的问题交流,邮件的作用包括问题正规化描述、工作留档留痕、工作流程流转、责任分工明确等等,习惯于将重大问题、重要事项通过邮件的方式与同事、主管等进行沟通,将会非常有助于团队协作。

以上这些方法,是我这么多年来的感受和体会,也给了我很大的帮助,希望也能够帮助到大家,不能说一定可以“提升修养“,但也是”提升修养”的有效方式。

最后还想再说一说坚持的力量

分享一个真实的小故事,公司有两个开发人员,1个做.NET好多年了,但是很油滑,做事能省就省,抓到可以偷懒的机会就偷懒,让他学点新知识新方法总是自以为是觉得自己都会;还有1个毫无.NET基础,一直做低级语言开发,从15年才开始学习.NET和Web前端,但是做事很积极,几乎每天都自己抽空学习,遇到不懂的都琢磨清楚,遇到不会的场景就上网或者找人寻求帮助,项目结束后还反复思考有什么地方可以改进。从15年到现在,短短1年,这两个人的发展已经是天壤之别,工资差距也越来越大,后者已经能够独自操盘中小型软件外包项目,而前者还在混着日子,以后他们各自的发展也完全可以预见。 我想说的是,本篇里面分享的一些道理和方法,都是通俗易懂的,就和常听到的例如101%和99%的365次方的故事、1万小时的道理等等一样,但真正去认真思考并实践的屈指可数,也许,坚持才是程序员最大的修养,和各位共勉!

第17篇:广州众图计算机科技有限公司Java程序员面试题

广州众图计算机科技有限公司Java程序员面试题

姓名:

一、基础题

1、作用域public,private,protected,以及不写时的区别?

public表示公共的,修饰的属性可以在同一个包或者不同包里访问 private表示私有的,修饰的属性只能在同一类里访问

protected表示受保护的,修饰的属性可以在同一类和同包里访问 public,private,protected都不写时,默认为friendly

2、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

Return前执行

3、某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是:C

A.public getSort(float x) B.int getSort(int y) C.double getSort(int x,int y) D.void get(int x, int y)

4、下面选项中能把字符串转换成float类型的是?AB A.float value = new Float(str); //必须有参数 B.float value = Float.parseFloat(str); C.float value = Float.floatValue(str); D.float value = (new Float()).parseFloat(str);

5、应用程序的main方法中有以下语句,则输出的结果是:A 1.int[] x={122,33,55,678,-987}; 2.int y=x[0]; 3.for(int i=1;iy) 5.y =x[i]; 6.} 7.System.out.println(y); 1.678 2.122 3.-987 4.33

6、程序输出的结果是?C public cla X { public static void main(String [] args) { try { badMethod(); System.out.print(“A”); } catch (Exception ex) { System.out.print(“B”); } finally { System.out.print(“C”); } System.out.print(“D”); } public static void badMethod() {} } 1.AB 2.BD 3.ACD 4.ABCD

二、数据库 问题描述 S (SNO,SNAME ) 学生关系。SNO 为学号,SNAME 为姓名

C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师

SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩 1.找出没有选修过“李明”老师讲授课程的所有学生姓名 --实现代码: select * from S where SNO not in(select SNO from SC inner join C on SC.CNO=C.CNO where CTEACHER =\'李明\')

2.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 --实现代码: select S.SNAME,AVG(SC.SCGRADE)from S,SC,( select S.SNO from SC st where st.SCGRADE1) srt where S.SNO=sc.sno and s.sno=srt.sno group by s.sno

3.列出既学过“1”号课程,又学过“2”号课程的所有学生姓名 --实现代码: select * from s where s.sno in ( select sc.sno from sc where sc.cno in(1,2) group by sc.sno having count(*)>1 )

4.列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号 --实现代码: select s.sno,s.sname from S, ( select SC1.SNO from SC SC1 ,SC SC2 WHERE SC1.SNO=SC2.SNO AND SC1.CNO=1 and SC2.CNO=2 and SC1.SCGRADE>SC2.SCGRADE )

5.列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩 --实现代码:

第18篇:JAVA开发Android程序员需要掌握的英语单词(很全)

干程序员这行实在是离不开英语,干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难。这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍的制约,严重影响到对新技术的理解和消化。首先编程本身就依赖于英语,虽然现在技术的发展,可以使得某些开发工具在变量名和字段名中支持中文,但还未发现能够完全使用中文的编程语句。

这并不代表我们英语差,就不能编程了,下面提供一点入门级的程序员常用英语,以此为开始,迈出我们学习英语的第一步,努力学习英语吧,英语会使你的编程事半功倍。

下面是JAVA语言常用英语汇总,java常用名词解释,计算机常用英语汇总。

JAVA语言常用英语汇总:

A.array数组

apple苹果

add 增加

acceible 可存取的 area面积 audio 音频

addition 加法

action 行动

arithmetic 算法 adjustment 调整

actual 真实的

argument 参量

abstract 抽象 ascent 提升

already 已经

AWT(Abstract Window Toolkit)抽象窗口工具

API(Application Programming Interface)应用程序接口

array apple add acceible area audio addition

action arithmetic adjustment actual argument abstract

B.byte 字节 Boolean 布尔 banana香蕉 base 基础 buffer缓冲器 button 按钮 break 中断 body 身体

C.color 颜色 cla 类 count 计数 client 客户 code 代码calculation 计算 cell 单元 circle圆 capital首都 catch捕获 check 检查 container容器 component 组件 command 命令 cube立方,三次方 char(=character)字符 cancel取消 case 情况 choice选择 click单击 center 中心 compile编译 clone克隆,复制 continue 继续 create建立

D.draw 绘图 data数据 demo 示例 DLL(Dynamic Link Library)动态链接库 document 文档 descent 继承 division 分裂,除法 define定义,说明 display显示

E.error 错误 extends 扩展 executed 执行 event 事件 enter 输入,回车键 exception 异常 except 除外 employee 雇员environment 环境 east 东方 equal 相等 Echo 重复

F.false 假的 float 单精度型 fruit 水果 file 文件 find 发现found 发现 field 域 final 终结的 friend 朋友 fill 填充 focus 焦点font 字体 factorial 阶乘

G.graphic 图像 grid 方格 GUI图形化用户接口 get 得到

H.host 主机 height 高度

I.init(=initialize)初始化 input 输入 implement 实现 instance 实例 io(=input/output)输出输入 interrupted 中断 int(=integer)整型 item元素 interface 接口 inner 内部的 import 导入 index 索引image 图像

J.Java 爪哇 JDK(Java Development Kit) Java开发工具 JSP(Java Server Page) Java服务页 JVM(Java Virtual Machine) Java虚拟机

K.Kit 工具

L.language 语言 loop 循环 long 长整型 label 标签 layout 布局 list 列表 listener 收听者

M.move 移动 menu 菜单 mode 模式 method 方法 metric 米的,公尺 motion 运动 manager 经理 main 主要的 msg(=meage) 消息

N.new 新的 number 数字 north 北方 null 空的 native 本地的

O.override 过载 orange 橘子 output 输出 object 对象 out 外部的 oval 椭圆

P.public 公共的 protected 保护的 private 私有的 property 属性 point 点 price 价格 problem 问题 package 打包,包裹 print 打印 path 路径 po;ygon 多边形 program 程序 prompt 提示 parse 分析 pre 按,压 panel 面板 paint 画

R.return 返回 runnable 可捕获的 radius 半径 round 环绕 release 释放 rect(=rectangle)长方形 radio 无线电 resolve 解析

S.short 短整型 south 南方的 string 字符串 static 静态的 system 系统 seed 种子 seasonal 季节的 set 设置 super 超级 square平方,二次方 sub 替代的 screen 屏幕 sound声音 state 状态 salary 薪水 sleep 睡觉 size 大小,尺寸 start 开始 sort 排序 status 状态 synchronize 同步发生 switch 开关 stream 流 symbol 符号

T.true 真的 title 标题 type 类型 temp(=temporary)暂时的 throw 扔 thread 线程 temperate 温和的,有节制的,temperature tool 工具 try 试图

U.undefined 未定义 UI(User Interface) 用户接口 update 更新 URL(Uniform Resource Locator) 统一资源定位器

V.volatile 挥发性 visible 可见的 virtual 虚拟的 variable 变量 value 数值 void 无返回值的 volume 量 viewer 观察者 vector 矢量

W.width 宽度 workspace 工作区 worker 工人 west 西方的 web 网 warrior 勇士 while 当……时

Z.zero 零

java常用名词解释:

AAA 认证(Authentication):验证用户的身份与可使用的网络服务;授权(Authorization):依据认证结果开放网络服务给用户;计帐(Accounting):记 录用户对各种网络服务的用量,并提供给计费系统。

简称AAA系统。

AWT Abstract Window Toolkit(抽象窗口工具包),第一代的 Java GUI工具包,现在基本已经不使用其中的组件,已经被Swing取代,但是Swing是扩展AWT而来。AWT中还包含很多现在GUI编程还在频繁使用的内容,例如事件处理及监听、布局管理器等。AWT也是JFC的一部分。

API Application Programming Interface(应用编程接口), 语言、框架以及类库对外提供的编码的接口。

AOP Aspect Oriented Programming(面向切面编程),可以 通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一 添加功能的一种技术。

BMP Bean-Managed Persistent(Bean管理的持久性),EJB中由 Bean自己负责持久性管理的方法,Bean的内容的同步(保存)需要自己编写代码 实现。

CALLBACK CALLBACK首先是基于多线程的,没有线程的调用就不要谈回调.子类调用父类的构造方法叫回调用,那TMD的任何构造对象都叫回调了,因为任何对象至少继承了Object,构造时至少要调用Object的构造方法.

CALLBACK机制 一个主线程管理其它线程时,不用轮询方法检查各个线程的状态,而是在子线程中出现某种状态时通知主线程,啊,有人要按下我了,啊,我的值到达100了,(术语叫触发了某种事件)这样主线程收到这些消息再根据消息类型去调用相应的方法.

一个例子,我(主线程)坐车去北京,当车到北京时我要调用"下车"这个方法,如果不用回调用机制,我要不断地问driver,到了没有啊?如果我问超过三次而那个driver力气又比我大的话,他肯定要打我,如果用回调用机制,就是用一个子线程(可以让driver承担这个角色)在那运行,当到的时候通知我到了,我就调用"下车()",而不用过一会就问一次,这样我可以省下时间睡觉或和车上的美眉聊天.

CMP Container-Managed Persistent(容器管理的持久性),EJB 中由容器负责entity beans的持久性管理的方法,即容器负责将 entity beans的更新同步(保存)到数据库。

CORBA Common Object Request Broker Architecture(公用对象请求代理[调度]程序体系结构),是一组用来定义"分布式对象系统"的标准, 由OMG(Object Menagement Group)作为发起和标准制定单位。CORBA的 目的是定义一套协议,符合这个协议的对象可以互相交互,不论它们是用什么样的语言写的,不论它们运行于什么样的机器和操作系统。

DTD Document type Definition(文档类型定义),它为一个 XML文档或者文档集合建立一套规则。它本身不是独立的技术规范,而是属于规范的一部分,XML文档中的文档类型声明既可以是标记约束,也可以是带有标记约束的外部文档。这两种约束的总和就是DTD。它规定了XML文档的构建方式。

DI Dependency Injection(依赖注入),即组件之间的依赖关系 由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中。依赖注入的目标并非为软件系统带来更多的功能,而是为了提升组件重用 的概率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务 逻辑,而不用

关心具体的资源来自何处、由谁实现。(以上同样摘自夏昕的 Spring开发指南)。DI和IoC是同义词。

EJB Enterprise JavaBeans,Java中用于开发企业级应用的技术标 准,他定义了一个用于开发和发布可重用的服务器端组件的模型,包括 Seion beans,Entity beans以及Meage-driven beans三种 。

Hibernate Hibernate是一个开放源代码的O/R Mapping (对象关系 映射框架),它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使 用对象编程思维来操纵数据库。

IDL Interface Definition Language(接口定义语言), CORBA的一个关键特性,是一个语言中立的接口定义语言,每个支持CORBA的语言 都会有一个自己的IDL映射。

IIOP Internet Inter-ORB Protocol(互联网内部对象请求代 理协议),Java中使得程序可以和其他语言的CORBA实现实现互操作性的协议。

IoC Inversion of Control(控制反转),由容器控制程序 之间的关系,而非传统实现中,由程序代码直接操控,控制权由应用代码中转到 了外部容器,控制权的转移,是所谓反转。(以上摘自夏昕的Spring开发指南)

I18N internationalization(国际化),这个单词的长度是20,然后取 其首尾字母,中间省略的字母刚好18个。

JCA Java Cryptography Architecture,Java加密架构, java平台中用于访问和开发加密功能的框架。

JTS Java Transaction Service(Java事务服务),Java中 进行分布式事务管理的技术标准,它是基于CORBA对象事务服务(CORBA Object Transaction Service)的。 使得EJB和它的客户端能够进行事务操作;可以对应用程序中的若干个Bean进行更新,并保证所有的更改在事务的最后能够提交或者回滚;依赖JDBC-2驱动程序来支持XA协 议进而支持通过一个或多个资源管理者执行分布式事务处理的能力

JNDI Java Naming and Directory Interface (Java命名和目录服务接口),Java中使用目录和命名服务的技术规范,和JDBC 类似,他由API和SPI构成。J2EE的目录服务使得Java客户端和Web层 Servlet 能够查询用户定义的对象,比如说,EJB和环境配置项(比如JDBC 驱动程序的地址)

JMS Java Meaging Service(Java消息服务),使用基于 点到点(一对一)或者发布订阅(多对多)的交互方式来支持J2EE应用程序之间 的异步通讯;所有消息可被设定为具有与其关联的服务的特性,从最佳效果服务 特性到事务性服务特性

JCP Java Community Proce(Java社区过程),负责Java 技术发展与审核技术规格的开放组织,JCP对提出的请求投票表决,JCP的专家组 成员一般都是业界比较有影响力的企业或者组织。

JNode JNode 是个特殊的 JVM,可以在没有其他 OS 的?机上运行 Java 程序。

可惜刚刚成形,不能实 用。 相关网站:

http://jnode.sourcefor ge.net/portal/ ; JTA Java Transaction API(Java事务API),Java中进行事 务划分的技术。

JSF Java Server Faces,新一代的Java Web应用技术 标准,吸收了很多Servlet、JSP以及其他的Web应用框架的特性。JSF为Web应用开 发定义了一个事件驱动的、基于组件的模型。

JNI java本地编程接口。是 Java Native Interface 的英文缩写。他能够

使java 代码与用其他编程语言编写的应用程序和库进行互操作。(其他编程语言大多是 c,c++和汇编语言。)

JDBC Java DataBase Connectivity(Java数据库连接),用 于访问关系型数据库的Java技术,仅仅是一种技术标准,访问不同的关系型数据 库需要相应的JDBC规范的实现包。

JSP Java Server Pages(Java服务器端页面),J2EE标准中 用于创建动态页面内容的技术标准,基于Servlet技术,需要支持该标准的服务器 才能运行,最常用的JSP服务器之一就是Tomcat。

JFC Java Foundation Claes(JAVA基础类),集合了GUI 组件以及其他能简化开发和展开桌面和Internet/Intranet应用的服务,其核心就 是Swing。

JVM Java Virtual Machine(Java虚拟机),它是一个虚构 出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,。 Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在 Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。 Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指 令执行。

JRE Java Runtime Environment(Java运行环境),运行 JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JSDK Java Software Development Kit,和JDK以及J2SE 等同。

JDK Java Development Kit(Java开发工具包):包括运行环境、编译工具及其它工具、源代码等,基本上和J2SE等同。

J2ME Java 2 Micro Edition(JAVA2精简版)API规格基 于J2SE ,但是被修改为可以适合某种产品的单一要求。J2ME使JAVA程序可以很方便的应用于电话卡、寻呼机等小型设备,它包括两种类型的组件,即配置 (configuration)和描述(profile)。

J2EE Java 2 Enterprise Edition(JAVA2企业版),使用Java进行企业开发的一套扩展标准,必须基于J2SE,提供一个基于组件设计、开发、集合、展开企业应用的途径。J2EE平台提供了多层、分布式的应用 模型,重新利用组件的能力,统一安全的模式以及灵活的处理控制能力。J2EE包 括 EJB, JTA, JDBC, JCA, JMX, JNDI, JMS, ;JavaMail, Servlet, JSP等规范。

J2SE Java 2 Standard Edition(JAVA2标准版),用来 开发Java程序的基础,包括编译器、小工具、运行环境,SUN发布的标准版本中还 包括核心类库的所有源代码。

L10N localization(本地化),和I18N类似,取首尾字母,中间省略10 个字母。

MVC Model View Controller的缩写,为了获得更好的系统结 构而推出的一种宏观的设计模式,model代表系统的模型层,view是模型的展现层 ,controller负责业务的流转,使用MVC可以使得系统的层次清晰,降低各个部分 的耦合。

PI Proceing Instruction(处理指令),XML中指示应用程序执 行一些特定的任务。其格式是 ,它只 能是解析器可以识别的XML标准处理指令集中一部分。有时它也被应用程序用来传 达信息,这些信息可用来帮助进行解析,在这种情况下,应用程序中要有可以作 为处理指令执行对象的关键字。

PO persisent object 持久对象

POJO pure old java object or plain ordinary java object or what ever.(英文太烂,没看懂这句话的意思,有知道的人请赐教!)

RADIUS Remote Authentication Dial In User Service

广泛应用于宽带窄带认证系统的协议,前端一般为PPPoE或者802.1x。

RMI Remote Method Invocation(远程方法调用),Java中进行分布式编程的基础技术,EJB技术也是基于RMI的。 RMI让你能够通过自己机子上的对象运用方式,使用其它机子上的对象。

RTTI run-time type identification,执行期类型识别。当你有一个指向基类的reference时,RTTI机制让你得以找出它所指向的对象以及类的相关信息。(JAVA提供的另一个方法就是reflection[反射/映射]机制)

SERIALIZATION 序列化。是一切对象深度CLONE,对象的存储与恢复,对象的远程调用的基础,也就是说它是对象池化管理,分布式引用的基础,想想J2EE平台如果不靠它能做什么? 这个机制让我们得以实现轻量级持久机制

SWT SWT 本身仅仅是Eclipse组织为了开发 Eclipse IDE环境所编写的一组底层图形界面 API。至今为止,SWT无论是在性能和外观上,都超越了SUN公司提供的AWT和SWING。目前 Eclipse IDE已经开发到了2.1版本,SWT已经十分稳定

http://www.daodoc.com/article/showarticl e.jsp?column=287&thread=24407

SOA Service-Oriented Architecture,面向服务架构,SOA是一种 架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯 模型。

SPI Service Provider Interface(服务提供商接口),满 足某种服务标准的供应商提供的符合该标准的应用程序接口,SPI应该和该服务的 API标准是兼容的,应用程序一般应该是基于API编写,除非是SPI中包含API中没 有提供的功能而又必须使用。

SableVM SableVM是用C语言写的非常简便的JAVA 虚拟机网站

详细地址:http://sablevm.org/

WFC Windows Foundation Claes for Ja va 的英文缩写,他提供了

Java 软件包的架构,他支持面向 Windows 操作系统和Dynamic HTML 对象模型的组件。

WORA Write Once, Run Anywhere(一次编写,到处运行 ),Java的宣传口号,在一定程度上可以达到,对于复杂应用在不同平台上可能 需要进行调试。

XML Extentsible Markup Language(可扩展标记语言)的缩 写,是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule),但 是它有句法规则(syntax rule)。任何XML文档对任何类型的应用以及正确 的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。 XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定 ,那么这个文档是"模式有效的(schema valid)"。

XSL Extensible Stylesheet Language(可扩展样式表语言),它能够改变及转换一种XML格式的数据为另一种XML格式。它提供一个已定义好的样式表,通过这个结构可以完成不同格式的转换。为了避免因为一个不同的表示方式就要不得不改动数据,XSL使数据或文档内容与表示形式相透明。它所采用的方法可以与用java写一个将数据转换成其它格式的小程序相提并论,而且还提供一个标准接口。

单元测试 单元测试测的是独立的一个工作单元。在Java应用程序中,"独立的一个工作单元"常常指的是一个方法(但并不总是如此)。作为对比,集成测试和接收测试则检查多个组件如何交互。一个工作单元是一项任务,它不依赖于其他任何任务的完成。(摘自《JUnit in action中文版》)

反射(也可以叫映射) 是RUNTIME 的事,完成类的加载,类的分析,bean的自省等功能,JBUILDER为什么敲一个类的名称后面就列出了它的成员变量和方法供你选择?如果你想知道一个对象的某种方法被调用过多少次你用什么方法?这些知识可以让你从一行Exception就能分析出错误原因.以及自己实现claloader,安全管理等方面的工作. 框架 框架是一个应用程序的半成品。框架提供了可在应用程序之间共享的可复用的公共结构。开发者把框架融入他们自己的应用程序,并加以扩展,以满足他们特定的需要。框架和工具包的不同之处在于,框架提供了一致的结构,而不仅仅是一组工具类。(摘自《JUnit in action中文版》)

持久性 指的是某个对象的生命周期不取决于程序的执行与否。

名字空间 namespace 就是一个元素前缀与URI(统一资源标识符)之间的一种映射关系,这个映射可以用来处理名字空间冲突,定义可以允许解析器处理冲突的数据结构。XML名字空间推荐标准定义了规范这些名字的机制,这种机制依靠URI来完成任务,详细情况后面有叙述。名字空间是用一个XML元素加一个前缀组成的,比如和,这样XML解析器就可以在不使用完全不同的元素名字的情况下区分上述两个元素的名字。它经常在XML文档中使用,也可以在模式以及XSL样式表或者xml有关的规范中使用。

开放封闭法则 软件实体应该是可扩展的,但是不可修改的(Software Entities Should Be Open For Extension, Yet Closed For Modification),简称OCP,这个法则是OO中最重要的一条法则,其含义是我们应该能够不用修改软件实体的源代码,就能更改软件实体的行为,符合该法则便意味着最高等级的复用性(reusability)和可维护性(maintainability)。

计算机常用英语汇总:

CPU(Center Proceor Unit)中央处理单元

mainboard主板

RAM(random acce memory)随机存储器(内存) ROM(Read Only Memory)只读存储器

Floppy Disk软盘

Hard Disk硬盘

CD-ROM光盘驱动器(光驱) monitor监视器

keyboard键盘

mouse鼠标

chip芯片

CD-R光盘刻录机

HUB集线器

Modem= MOdulator-DEModulator,调制解调器

P-P(Plug and Play)即插即用 UPS(Uninterruptable Power Supply)不间断电源

BIOS(Basic-input-Output System)基本输入输出系统

CMOS(Complementary Metal-Oxide-Semiconductor)互补金属氧化物半导体

setup安装

uninstall卸载

wizzard向导

OS(Operation Systrem)操作系统

OA(Office AutoMation)办公自动化

exit退出

edit编辑

copy复制

cut剪切

paste粘贴

delete删除

select选择

find查找

select all全选

replace替换

undo撤消

redo重做

program程序

license许可(证) back前一步

next下一步

finish结束

folder文件夹

Destination Folder目的文件夹

user用户

click点击

double click双击

right click右击

settings设置

update更新

release发布

data数据

data base数据库

DBMS(Data Base Manege System)数据库管理系统

view视图

insert插入

object对象

configuration配置

command命令

document文档

POST(power-on-self-test)电源自检程序 cursor光标

attribute属性

icon图标

service pack服务补丁

option pack功能补丁

Demo演示

short cut快捷方式

exception异常

debug调试

previous前一个

column行

row列

restart重新启动

text文本

font字体

size大小

scale比例

interface界面

function函数

acce访问

manual指南

active激活

computer language计算机语言

menu菜单

GUI(graphical user interfaces )图形用户界面

template模版

page setup页面设置

paword口令

code密码

print preview打印预览

zoom in放大

zoom out缩小

pan漫游

cruise漫游

full screen全屏

tool bar工具条

status bar状态条

ruler标尺

table表

paragraph段落

symbol符号

style风格

execute执行

graphics图形 image图像

Unix用于服务器的一种操作系统

Mac OS苹果公司开发的操作系统

OO(Object-Oriented)面向对象

virus病毒

file文件

open打开

colse关闭

new新建

save保存

exit退出

clear清除

default默认

LAN局域网

WAN广域网

Client/Server客户机/服务器

ATM( Asynchronous Transfer Mode)异步传输模式

Windows NT微软公司的网络操作系统

Internet互联网

WWW(World Wide Web)万维网

protocol协议

HTTP超文本传输协议

FTP文件传输协议

Browser浏览器

homepage主页

Webpage网页

website网站

URL在Internet的WWW服务程序上 用于指定信息位置的表示方法

Online在线

Email电子邮件

ICQ网上寻呼

Firewall防火墙

Gateway网关

HTML超文本标识语言

hypertext超文本

hyperlink超级链接

IP(Addre)互联网协议(地址) SearchEngine搜索引擎

TCP/IP用于网络的一组通讯协议

Telnet远程登录

IE(Internet Explorer)探索者(微软公司的网络浏览器) Navigator引航者(网景公司的浏览器) multimedia多媒体

ISO国际标准化组织 ANSI美国国家标准协会

able 能

activefile 活动文件

addwatch 添加监视点

allfiles 所有文件

allrightsreserved 所有的权力保留

altdirlst 切换目录格式

andfixamuchwiderrangeofdiskproblems 并能够解决更大范围内的磁盘问题

andotherinformation 以及其它的信息

archivefileattribute 归档文件属性

aignto 指定到

autoanswer 自动应答

autodetect 自动检测

autoindent 自动缩进

autosave 自动存储

availableonvolume 该盘剩余空间

badcommand 命令错

badcommandorfilename 命令或文件名错

batchparameters 批处理参数

binaryfile 二进制文件

binaryfiles 二进制文件

borlandinternational borland国际公司

bottommargin 页下空白

bydate 按曰期

byextension 按扩展名

byname 按名称

bytesfree 字节空闲

callstack 调用栈

casesensitive 区分大小写

causespromptingtoconfirmyouwanttooverwritean 要求出现确认提示,在你想覆盖一个

centralpointsoftwareinc central point 软件股份公司

changedirectory 更换目录

changedrive 改变驱动器

changename 更改名称

characterset 字符集

checkingfor 正在检查

checksadiskanddisplaysastatusreport 检查磁盘并显示一个状态报告

chgdrivepath 改变盘/路径

china 中国

chooseoneofthefollowing 从下列中选一项

clearall 全部清除

clearallbreakpoints 清除所有断点

clearsanattribute 清除属性

clearscommandhistory 清除命令历史 clearscreen 清除屏幕

closeall 关闭所有文件

codegeneration 代码生成

colorpalette 彩色调色板

commandline 命令行

commandprompt 命令提示符

compreedfile 压缩文件

configuresaharddiskforusewithmsdos 配置硬盘,以为 MS-DOS 所用

conventionalmemory 常规内存

copiesdirectoriesandsubdirectoriesexceptemptyones 拷贝目录和子目录,空的除外

copiesfileswiththearchiveattributeset 拷贝设置了归档属性的文件

copiesoneormorefilestoanotherlocation 把文件拷贝或搬移至另一地方

copiesthecontentsofonefloppydisktoanother 把一个软盘的内容拷贝到另一个软盘上

copydiskette 复制磁盘

copymovecompfindrenamedeletevervieweditattribwordpprintlist C拷贝M移动 O比 F搜索R改名 D删除 V版本 E浏览A属性 W写字 P打印 L列表

copyrightc 版权

(c createdospartitionorlogicaldosdrive 创建DOS分区或逻辑DOS驱动器

createextendeddospartition 创建扩展DOS分区

createlogicaldosdrivesintheextendeddospartition 在扩展DOS分区中创建逻辑DOS驱动器

createprimarydospartition 创建DOS主分区

createsadirectory 创建一个目录

createschangesordeletesthevolumelabelofadisk 创建,改变或删除磁盘的卷标

currentfile 当前文件

currentfixeddiskdrive 当前硬盘驱动器

currentsettings 当前设置

currenttime 当前时间

cursorposition 光标位置

defrag 整理碎片

dele 删去

deletepartitionorlogicaldosdrive 删除分区或逻辑DOS驱动器

deletesadirectoryandallthesubdirectoriesandfilesinit 删除一个目录和所有的子目录及其中的所有文件

deltree 删除树

devicedriver 设备驱动程序

dialogbox 对话栏

directionkeys 方向键

directly 直接地

directorylistargument 目录显示变量

directoryof 目录清单

directorystructure 目录结构

diskacce 磁盘存取

diskcopy 磁盘拷贝

diskservicescopycomparefindrenameverifyvieweditmaplocateinitialize 磁盘服务功能: C拷贝 O比较 F搜索R改卷名V校验 浏览E编缉M图 L找文件 N格式化

diskspace 磁盘空间

displayfile 显示文件

displayoptions 显示选项

displaypartitioninformation 显示分区信息

displaysfilesinspecifieddirectoryandallsubdirectories 显示指定目录和所有目录下的文件

displaysfileswithspecifiedattributes 显示指定属性的文件

displaysorchangesfileattributes 显示或改变文件属性

displaysorsetsthedate 显示或设备曰期

displayetupscreensinmonochromeinsteadofcolor 以单色而非彩色显示安装屏信息

displaystheamountofusedandfreememoryinyoursystem 显示系统中已用和未用的内存数量

displaysthefullpathandnameofeveryfileonthedisk 显示磁盘上所有文件的完整路径和名称

displaysthenameoforchangesthecurrentdirectory 显示或改变当前目录

doctor 医生

doesn 不

doesntchangetheattribute 不要改变属性

dohell DOS 外壳

doubleclick 双击

doyouwanttodisplaythelogicaldriveinformationyn 你想显示逻辑驱动器信息吗(y/n)? driveletter 驱动器名

editmenu 编辑选单

emsmemory ems内存

endoffile 文件尾

endofline 行尾

enterchoice 输入选择

entiredisk 转换磁盘

environmentvariable 环境变量

esc esc everyfileandsubdirectory 所有的文件和子目录

existingdestinationfile 已存在的目录文件时

expandedmemory 扩充内存

expandtabs 扩充标签

explicitly 明确地

extendedmemory 扩展内存

fastest 最快的

fatfilesystem fat 文件系统

fdiskoptions fdisk选项

fileattributes 文件属性

fileformat 文件格式

filefunctions 文件功能

fileselection 文件选择

fileselectionargument 文件选择变元

filesin 文件在

filesinsubdir 子目录中文件

fileslisted 列出文件 filespec 文件说明

filespecification 文件标识

fileelected 选中文件

findfile 文件查寻

fixeddisk 硬盘

fixeddisksetupprogram 硬盘安装程序

fixeserrorsonthedisk 解决磁盘错误

floppydisk 软盘

formatdiskette 格式化磁盘

formatsadiskforusewithmsdos 格式化用于MS-DOS的磁盘

formfeed 进纸

freememory 闲置内存

fullscreen 全屏幕

functionprocedure 函数过程

graphical 图解的

graphicslibrary 图形库

groupdirectoriesfirst 先显示目录组

hangup 挂断

harddisk 硬盘

hardwaredetection 硬件检测

hasbeen 已经

helpfile 帮助文件

helpindex 帮助索引

helpinformation 帮助信息

helppath 帮助路径

helpscreen 帮助屏

helptext 帮助说明

helptopics 帮助主题

helpwindow 帮助窗口

hiddenfile 隐含文件

hiddenfileattribute 隐含文件属性

hiddenfiles 隐含文件

howto 操作方式

ignorecase 忽略大小写

inbothconventionalanduppermemory 在常规和上位内存

incorrectdos 不正确的DOS

incorrectdosversion DOS 版本不正确

indicatesabinaryfile 表示是一个二进制文件

indicatesanasciitextfile 表示是一个ascii文本文件

insertmode 插入方式

insteadofusingchkdsktryusingscandisk 请用scandisk,不要用chkdsk inuse 在使用

invaliddirectory 无效的目录

is 是 kbytes 千字节

keyboardtype 键盘类型

labeldisk 标注磁盘

laptop 膝上

largestexecutableprogram 最大可执行程序

largestmemoryblockavailable 最大内存块可用

lefthanded 左手习惯

leftmargin 左边界

linenumber 行号

linenumbers 行号

linespacing 行间距

listbyfilesinsortedorder 按指定顺序显示文件

listfile 列表文件

listof 清单

locatefile 文件定位

lookat 查看

lookup 查找

macroname 宏名字

makedirectory 创建目录

memoryinfo 内存信息

memorymodel 内存模式

menubar 菜单条

menucommand 菜单命令

menus 菜单

meagewindow 信息窗口

microsoft 微软

microsoftantivirus 微软反病毒软件

microsoftcorporation 微软公司

mini 小的

modemsetup 调制解调器安装

modulename 模块名

monitormode 监控状态

monochromemonitor 单色监视器

moveto 移至

multi 多

newdata 新建数据

newer 更新的

newfile 新文件

newname 新名称

newwindow 新建窗口

norton norton nostack 栈未定义

noteusedeltreecautiously 注意:小心使用deltree onlinehelp 联机求助

optionally 可选择地 or 或

pageframe 页面

pagelength 页长

pausesaftereachscreenfulofinformation 在显示每屏信息后暂停一下

pctools pc工具

postscript 附言

prefixmeaningnot 前缀意即"不

prefixtoreverseorder 反向显示的前缀

presetswitchesbyprefixinganyswitchwithhyphenforexamplew 用前缀和放在短横线-后的开关(例如/-w)预置开关

preakeytoresume 按一键继续

preanykeyforfilefunctions 敲任意键执行文件功能

preentertokeepthesamedate 敲回车以保持相同的曰期

preentertokeepthesametime 敲回车以保持相同的时间

preesctocontinue 敲esc继续

preesctoexit 敲键退出

preesctoexitfdisk 敲esc退出fdisk

preesctoreturntofdiskoptions 敲esc返回fdisk选项

previously 在以前

printall 全部打印

printdevice 打印设备

printerport 打印机端口

proceesfilesinalldirectoriesinthespecifiedpath 在指定的路径下处理所有目录下的文件

programfile 程序文件

programmingenvironment 程序设计环境

promptsyoubeforecreatingeachdestinationfile 在创建每个目标文件时提醒你

promptsyoutopreakeybeforecopying 在拷贝前提示你敲一下键

pulldown 下拉

pulldownmenus 下拉式选单

quickformat 快速格式化

quickview 快速查看

readonlyfile 只读文件

readonlyfileattribute 只读文件属性

readonlyfiles 只读文件

readonlymode 只读方式

redial 重拨

repeatlastfind 重复上次查找

reportfile 报表文件

resize 调整大小

respectively 分别地

rightmargin 右边距

rootdirectory 根目录

runsdebugaprogramtestingandeditingtool 运行debug, 它是一个测试和编辑工具 runtimeerror 运行时出错 saveall 全部保存

saveas 另存为

scandisk 磁盘扫描程序

scandiskcanreliablydetect scandisk可以可靠地发现

screencolors 屏幕色彩

screenoptions 屏幕任选项

screensaver 屏幕暂存器

screensavers 屏幕保护程序

screensize 屏幕大小

scrollbars 翻卷栏

scrolllockoff 滚屏已锁定

searchfor 搜索

sectorspertrack 每道扇区数

selectgroup 选定组

selectionbar 选择栏

setactivepartition 设置活动分区

setupoptions 安装选项

shortcutkeys 快捷键

showclipboard 显示剪贴板

singleside 单面

sizemove 大小/移动

sorthelp S排序H帮助

sortorder 顺序

specialservicesdirectorymaint 特殊服务功能: D目录维护

specifiesdrivedirectoryandorfilestolist 指定要列出的驱动器,目录,和文件

specifiesthatyouwanttochangetotheparentdirectory 指定你想把父目录作为当前目录

specifiesthedirectoryandorfilenameforthenewfile 指定新文件的目录或文件名

specifiesthefileorfilestobecopied 指定要拷贝的文件

stackoverflow 栈溢出

standalone 独立的

startupoptions 启动选项

statusline 状态行

stepover 单步

summaryof 摘要信息

suppreespromptingtoconfirmyouwanttooverwritean 取消确认提示,在你想覆盖一个 swapfile 交换文件

switchesmaybepresetinthedircmdenvironmentvariable 开关可在dircmd环境变量中设置

switchto 切换到

sync 同步

systemfile 系统文件

systemfiles 系统文件

systeminfo 系统信息

systeminformation 系统信息程序

tableofcontents 目录 terminalemulation 终端仿真

terminalsettings 终端设置

testfile 测试文件

testfileparameters 测试文件参数

theactivewindow 激活窗口

theswitchymaybepresetinthecopycmdenvironmentvariable /y开关可以在copycmd环境变量中预置

thetwofloppydisksmustbethesametype 两个软磁盘必须是同种类型的

thismaybeoverriddenwithyonthecommandline 在命令行输入/-y可以使之无效

togglebreakpoint 切换断点

tomsdos 转到MS-DOS topmargin 页面顶栏

turnoff 关闭

typecddrivetodisplaythecurrentdirectoryinthespecifieddrive 键入cd驱动器:显示指定驱动器的当前目录

typecdwithoutparameterstodisplaythecurrentdriveanddirectory 键入无参数的cd以显示当前驱动器的当前目录

typedatewithoutparameterstodisplaythecurrentdatesettingand 键入无参数的date,显示当前曰期设置和

unmark 取消标记

unselect 取消选择

usesbareformat 使用简洁方式

useslowercase 使用小写

useswidelistformat 使用宽行显示

usinghelp 使用帮助

verbosely 冗长地

verifiesthatnewfilesarewrittencorrectly 校验新文件是否正确写入了

videomode 显示方式

viewwindow 内容浏览

viruses 病毒

vision 景象

vollabel 卷标

volumelabel 卷标

volumeserialnumberis 卷序号是

windowshelp windows 帮助

wordwrap 整字换行

workingdirectory 正在工作的目录

worm 蠕虫

writemode 写方式

writeto 写到

xmsmemory 扩充内存

youmay 你可以

第19篇:Java程序员应该了解的10个面向对象设计原则

Java程序员应该了解的10个面向对象设计原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程。

众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计。查看Apache和Sun的开放源代码能帮助你发现其他Java设计原则在这些代码中的实际运用。Java Development Kit则遵循以下模式:BorderFactory类中的工厂模式、Runtime类中的单件模式。你可以通过Joshua Bloch的《Effective Java》一书来了解更多信息。我个人偏向的另一种面向对象的设计模式是Kathy Sierra的Head First Design Pattern以及Head First Object Oriented Analysis and Design。

虽然实际案例是学习设计原则或模式的最佳途径,但通过本文的介绍,没有接触过这些原则或还在学习阶段的Java程序员也能够了解这10个面向对象的设计原则。其实每条原则都需要大量的篇幅才能讲清楚,但我会尽力做到言简意赅。

原则1:DRY(Don\'t repeat yourself)

即不要写重复的代码,而是用“abstraction”类来抽象公有的东西。如果你需要多次用到一个硬编码值,那么可以设为公共常量;如果你要在两个以上的地方使用一个代码块,那么可以将它设为一个独立的方法。SOLID设计原则的优点是易于维护,但要注意,不要滥用,duplicate 不是针对代码,而是针对功能。这意味着,即使用公共代码来验证OrderID和SSN,二者也不会是相同的。使用公共代码来实现两个不同的功能,其实就是近似地把这两个功能永远捆绑到了一起,如果OrderID改变了其格式,SSN验证代码也会中断。因此要慎用这种组合,不要随意捆绑类似但不相关的功能。

原则2:封装变化

在软件领域中唯一不变的就是“Change”,因此封装你认为或猜测未来将发生变化的代码。OOPS设计模式的优点在于易于测试和维护封装的代码。如果你使用Java编码,可以默认私有化变量和方法,并逐步增加访问权限,比如从private到protected和not public。有几种Java设计模式也使用封装,比如Factory设计模式是封装“对象创建”,其灵活性使得之后引进新代码不会对现有的代码造成影响。

原则3:开闭原则

即对扩展开放,对修改关闭。这是另一种非常棒的设计原则,可以防止其他人更改已经测试好的代码。理论上,可以在不修改原有的模块的基础上,扩展功能。这也是开闭原则的宗旨。

原则4:单一职责原则 类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。

原则5:依赖注入或倒置原则

这个设计原则的亮点在于任何被DI框架注入的类很容易用mock对象进行测试和维护,因为对象创建代码集中在框架中,客户端代码也不混乱。有很多方式可以实现依赖倒置,比如像AspectJ等的AOP(Aspect Oriented programming)框架使用的字节码技术,或Spring框架使用的代理等。

原则6:优先利用组合而非继承

如果可能的话,优先利用组合而不是继承。一些人可能会质疑,但我发现,组合比继承灵活得多。组合允许在运行期间通过设置类的属性来改变类的行为,也可以通过使用接口来组合一个类,它提供了更高的灵活性,并可以随时实现。《Effective Java》也推荐此原则。

原则7:里氏代换原则(LSP)

根据该原则,子类必须能够替换掉它们的基类,也就是说使用基类的方法或函数能够顺利地引用子类对象。LSP原则与单一职责原则和接口分离原则密切相关,如果一个类比子类具备更多功能,很有可能某些功能会失效,这就违反了LSP原则。为了遵循该设计原则,派生类或子类必须增强功能。

原则8:接口分离原则

采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。设计接口很棘手,因为一旦释放接口,你就无法在不中断执行的情况下改变它。在Java中,该原则的另一个优势在于,在任何类使用接口之前,接口不利于实现所有的方法,所以单一的功能意味着更少的实现方法。

原则9:针对接口编程,而不是针对实现编程

该原则可以使代码更加灵活,以便可以在任何接口实现中使用。因此,在Java中最好使用变量接口类型、方法返回类型、方法参数类型等。《Effective Java》 和《head first design pattern》书中也有提到。

原则10:委托原则

该原则最典型的例子是Java中的equals() 和 hashCode() 方法。为了平等地比较两个对象,我们用类本身而不是客户端类来做比较。这个设计原则的好处是没有重复的代码,而且很容易对其进行修改。

总之,希望这些面向对象的设计原则能帮助你写出更灵活更好的代码。理论是第一步,更重要的是需要开发者在实践中去运用和体会。

第20篇:JD for Java

职位标签:JAVA

职位职能:软件工程师

职位描述:

工作职责:

根据项目需要参与需求分析和功能设计

进行系统的设计、编码、测试、维护和系统性能优化

提供用户支持

协助识别用户应用配置更改.

参与部署实施应用程序所要求的所有活动

报告流程中出现的问题

确保流程的实施并提出改进建议

协助高效、激励型团队的建设,培养团队建设能力

任职资格:

大专或以上学历

熟练掌握JAVA开发,J2EE开发,熟悉J2EE规范以及主流设计模式

熟悉JS、Jquery、Ajax等,熟练掌握Struts、Hibernate/iBatis、Spring等主流框架开发过程 使用一种或多种数据库– Oracle, MYSQL,SQL Server 或PostgreSQL.

熟练使用Eclipse等开发工具,熟练使用SVN/GIT等代码管理工具

掌握软件开发生命周期.

两年以上相关工作经验

能力要求:

良好的团队合作精神

快速学习能力

在压力下独立工作的能力

在解决问题的环境中表现出工作的创造性、系统性

主动灵活的工作方式

良好的沟通技巧和协调能力

良好的时间管理能力

java程序员工作总结
《java程序员工作总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档