当前位置:文档之家› 敏捷开发-java

敏捷开发-java

敏捷开发-java
敏捷开发-java

敏捷开发中编写高质量Java代码

敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。

Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。

如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个迭代过程中,可以采用以下步骤来保证和提高整个项目的代码质量:统一编码规范、代码样式;静态代码分析(staticcodereview);单元测试;持续集成;代码评审和重构(Review&Refactor)。下文将针对每个步骤和其所使用的工具、方法进行详细描述。

图1.敏捷开发中的Java代码质量保证步骤

步骤一:统一编码规范、代码样式

规范统一的编码会增加项目代码的可读性和可维护性,但实际情况往往是项目组内的Java代码开发人员的编码风格常常各不相同,这可能是由于不同的经验习惯或者缺乏编码规范方面的学习造成的。这样一来,其他项目成员或者维护人员在阅读项目代码时就需要花费更多的时间来理解代码作者的意图,所以制定并采取统一的编码规范就显得很重要。编码规范主要应包含以下几个方面:

◆一般规则和格式规范。例如代码缩进、程序块规范、每行最大代码长度等。

◆命名规则。例如包名、类名、变量、方法、接口、参数等命名规范

◆文档规范。例如类文件头声明、类注释、成员变量和方法注释等规范。

◆编程规范。例如异常、并发、多线程等方面的处理方式。

◆其他规范。例如日志格式、属性文件格式,返回值和消息格式。

项目的编码规范可以参考已有的一些Java编程规范书籍和其他相关资料并结合项目的本身来制定,可供参考的书籍有《Java编程风格》(英文书名为:TheElementsofJavaStyle)。编码规范要形成文档,而且要简洁明了,并组织项目成员一起学习,确保所有成员正确理解所有条目。

一旦编码规范确定,就可以利用Eclipse自身提供的功能来控制代码样式和格式。具体

做法是,点击Eclipse的 Windows->Preference菜单项,在打开的Preferences对话框的左侧栏中找到Java节点下的子项CodeStyle(如图2),该项和它的子项允许您对Java代码的样式进行控制。

图2.Eclipse代码样式设置窗口

例如,为了使用自动格式化工具,可以在Eclipse提供的默认代码格式配置的基础上建立自定义的格式。在Formatter面板中,点击 New,输入新的名字并选择一个默认的配置作为初始化格式,如图3所示。

图3.创建新的代码格式配置

单击OK后就可以在新打开的窗口中进行修改定制自己需要的格式。如图4所示。

图4.创建新的代码格式配置

修改完成后点击Apply保存所作修改。同时可以点击Export将当前的格式定义导出成一个XML文件,这样项目组的其他成员就可以很方便通过点击图3中的Import按钮来导入该XML文件来使用同一个代码格式定义。

这样每次在提交代码到版本控制服务器前就可以通过Eclipse界面里的Source->Format菜单来对代码进行格式化,从而使整个项目的代码具有相同的格式。同样可以通过对CodeStyle下的其他项目进行设置来帮助对Java代码的样式进行控制。将所有这些样式文件导出成 XML文件后,同编码规范一起归档,供所有项目成员使用。

步骤二:静态代码分析

在完成源代码的开发以后,下面要进行的工作就是审视和测试代码。除了通过运行测试代码来检查功能之外,还能利用一些静态分析工具来快速、直接地提高代码质量。静态代码分析工具并不需要运行代码,可以直接对Java文件和Class文件进行分析,通过一些检查条件的设置,快速找到代码中的错误和潜在缺陷。现在的静态分析工具很多,有FindBugs、PMD、IBMRationalTool,等等。在这里,选择FindBugs作为静态代码分析工具。FindBugs可以和日常开发工具Eclipse进行集成,在开发过程中,就可以方便的开始静态代码的检查。通过检查Class文件或者JAR文件,将字节码和一组缺陷模式进行对比,来发现可能存在的代码问题。在Eclipse的开发环境中,用插件安装的方式安装了Findbugs 后,在 Eclipse的配置选项中就会多出来FindBugs的配置选项。可以对自己的项目进行配置,选择需要的Detector检查代码。

图5.FindBugs的配置选项

设置好自己的规则后,在需要检查的代码文件夹上点击右键,就可以启动FindBugs检查。代码可以是一个项目,也可以只是几个文件。

图6.运行FindBugs

检查完毕后,会出现FindBugs视图,把所有检查的结果根据错误分组展示。点击结果里面的每一个错误,会自动打开对应的代码。当根据规则改正了所有的错误,或者说潜在错误,这些代码也就通过了静态代码检查。FindBugs的检查结果可以是XML文件,也可以是文本文件,便于项目的集成管理和检查保存。

图7.FindBugs检查结果

步骤三:单元测试

单元测试用例设计和评审

单元测试是软件开发过程中重要的质量保证环节,在此环节中,设计和评审对于保证整个单元测试过程的完整性和有效性来说十分重要。设计阶段需要具体考虑要对哪些代码单元进行测试,被测单元之间的关系,测试策略,以及单元测试用例设计等,并最终输出《单元测试用例设计》文档,用来指导具体的单元测试执行。在用例设计中,通过对代码单元输入和期待输出的定义来保证该单元的功能正确性,边界值的测试和异常测试非常重要。同时也配合测试用例和功能块的匹配方法来衡量用例设计的完整性。

在用例设计完成之后,下一步的工作就是进行测试用例的评审。个人的理解和经验始终是有限的,用例评审可以借集体之力,对用例设计进入查漏补缺,进一步保证测试用例的有效性。由于单元测试属于白盒测试范畴,它主要通过对代码的逻辑结构进行分析来设计测试用例,因此,评审员的选择最好以理解代码逻辑结构为前提,如果评审员来自相关模块,还能够有效的发现模块相关性和依赖性所带来的问题。

模拟对象技术

在实际项目中,开发人员自己的代码往往需要和其他的代码模块或系统进行交互,但在测试的过程中,这些需要被调用的真实对象常常很难被实例化,或者这些对象在某些情况下无法被用来测试,例如,真实对象的行为无法预测,真实对象的行为难以触发,或者真实对象的运行速度很慢。这时候,就需要使用模拟对象技术(Mock),利用一个模拟对象来模拟我们的代码所依赖的真实对象,来帮助完成测试,提高测试覆盖率,从而提高代码质量。模拟对象技术利用了在面向接口的编程中,由于代码直接对接口进行调用,所以代码并不知道引用的是真实对象还是模拟对象,这样就可以顺利的完成对代码的测试,模拟技术有很多种,如 jMock,EasyMock,Mockito,PowerMock等等。其中Mockito消除了对期望行为的需求,避免了这些代码的大量初始化。

图8.Mockito示例

在模拟对象过程中,先模拟一个需要调用的List对象LinkedList,再设定这个对象的行为,当调用get(0)的时候,返回”first”。这样,测试代码就可以利用这个对象来测试我们的功能代码,需要调用和返回值的时候,可以顺利的得到模拟对象的返回值。也需要对模拟对象进行错误情况的模拟,保证代码对错误的处理的正确性。

测试覆盖率分析

为了衡量单元测试的质量和覆盖的范围,需要对单元测试的代码进行测试覆盖分析。常用的衡量测试覆盖率的指标主要有语句覆盖率、分支覆盖率、路径覆盖率、条件覆盖率和方法覆盖率等。具体采用哪些指标可以根据项目的实际情况来定,以避免因过高的指标增加了代码开发人员的工作量而影响了项目整体的进度。

EMMA是一款比较流行的开源Java测试覆盖率分析工具,支持类、方法、代码行、基本代码块等多种类型的测试覆盖率分析,支持将覆盖率分析结果导出为多种格式的报告,并采用多种颜色来高亮显示不同的覆盖率状态。EclEmma是一款基于EMMA的Eclipse插件,方便在 EclipseIDE中进行测试覆盖率分析。如图9,在测试用例写好后,可以在右键点击测试类,选择CoverageAs->JUnitTest。

图9.运行测试覆盖分析

单元测试跑完后,Coverage视图中会显示所选择的测试的覆盖率。双击打开某一具体的类后,可以看到高亮显示的覆盖分析结果,如图10所示。红色代表测试没有覆盖到该行,黄色表示部分覆盖,绿色的行表示该行在本次测试中被覆盖到。

图10.查看测试覆盖分析结果

在Coverage视图中可以通过点击鼠标右键将测试覆盖分析的结果导出成需要的格式,例如HTML。

图11.导出测试覆盖分析结果

图12显示了导出的report。

图12.测试覆盖分析报告

为了保证单元测试的有效性和质量,可以规定一个测试覆盖率的下限,例如所有的包和类的覆盖率必须达到80%以上。不过值得注意的是,不要单纯追求高覆盖率,要同时注意测试用例的质量,如果测试用例本身就写的有错误,那么即使测试覆盖率很高也没有意义。

步骤四:持续集成

持续集成(ContinuousIntegration)是利用一系列的工具,方法和规则,做到快速的构建开发代码,自动的测试化,来提高开发代码的效率和质量。利用自动构建工具,随时都能把提交的代码构建出来,提供一个可以测试使用的版本,让用户和开发人员同时看到相同的功能,尽早的发现问题和错误,也可以尽快的得到测试人员和用户的反馈。

要做到持续集成,就要利用一系列工具,把开发过程中的重复工作自动化。搭建自动的构建服务器,自动的进行单元测试和发布新版本,一个集成的服务器可以提供构建过程的结果报告,自动通知开发人员构建结果,并且保存历史数据。 IBMRationalTeamConcert(RTC)可以提供工作任务的管理,项目计划的安排,代码版本管理控制,自动构建可用版本,生成构建结果报告。这些过程构成了项目的持续集成过程,其中,版本的自动构建和代码的自动单元测试是持续集成的关键过程,RTC在这些过程上提供了有力的支持。

自动构建

RTC提供了buildengine来负责构建build,首选,启动buildengine,并和RTC服务器建立了连接。再创建项目的 build定义。在这个定义中,需要设定编译哪些模块的代码,需要跳动哪个ANT文件来启动编译,和一些编译过程中的参数的设定。当这些都准备好了,编译对于项目而言,就变成一个简单的事情。

可以看到,通过在build定义上,点击请求构建,就可以触发一次构建过程。选择需要的构建参数,这个过程就会在后台运行。每一个开发人员,做了稍许的代码改变和提交,都可以触发新的构建过程,来保证我们代码的有效性。申请一个新的构建的过程如图13、

图14所示。

图13.申请一个新的构建

图14.构建申请界面

当构建结束后。RTC服务器会提供构建结果报告。开发人员可以查询到这次构建的详细信息。

图15.构建结果

整个开发过程中,构建版本的过程应该是无数次的,通过每次构建,都可以得到当时代码的编译情况,并且可以得到一个可运行的软件版本。在构建定义上,RTC支持设置构建计划。定时自动的触发一次构建。

图16.构建定义

自动单元测试

构建可以自动了,重点提高代码质量的单元测试呢?如果每一天的代码,每一个版本的代码,都已经通过了我们的单元测试,这样我们就能对代码的质量有了基本的保证。在构建脚本的自动调用过程中,通过ANT的脚本,可以加上JUnit,EMMA,FindBugs的ANT脚本调用,每一次的构建,都可以把这些检查工作自动的进行一遍测试。这些测试都要生成测试结果报告,RTC不能提供这些报告的展示,就可以利用Hudson这个开源工具,集成测试报告来方便查阅。

图17.自动测试报告

步骤五:代码评审和重构

代码评审(CodeReview)是Java项目开发过程中的一个重要步骤,代码评审可以帮助发现静态代码分析过程中无法发现的一些问题,例如代码的编写是否符合编码规范,代码在逻辑上或者功能上是否存在错误,代码在执行效率和性能上是否有需要改进的地方,代码的注释是否完整正确,代码是否存在冗余和重复。代码评审还可以帮助新进入项目组的成员快速学习和了解项目,促进经验分享,同时也能保证项目成员的良好沟通。代码评审主要包括两种形式,同级评审(PeerReview)和小组评审(GroupReview)。同级评审主要指项目成员间的互相评审,小组评审是指通过召开评审会议,项目成员一起对项目代码进行评审。

为了提高代码评审的有效性和效率,可以借助一些外部工具,比较常用的代码评审工具有Jupiter和CodeStriker。Jupiter是一款开源的Eclipse插件,允许成员将评审意见定位到真实代码的具体行,由于代码评审的结果以XML文件的形式保存,所以可以把结果提交到版本管理服务器进行共享。图18显示了使用Jupiter进行代码评审的界面。

图18.Jupiter代码评审界面

在代码评审任务创建后,Jupiter将代码评审分成三个阶段,个人评审阶段(IndividualPhase)、团队评审阶段 (TeamPhase)和问题修复阶段(ReworkPhase)。在个人评审阶段,评审成员将发现的代码问题或者缺陷记录下来,每个问题都会作为一个记录保存在评审表格中。在团队评审阶段,团队的全部或者部分成员会一起对个人评审阶段发现的问题进行定性,如果问题确实存在,就将该问题分配给某个成员去解决,并在Jupiter中将该问题设置成相应的状态。在问题修复阶段,团队成员会修复属于自己的问题,并将相应的记录设置成已解决等正确的状态。

Codestriker是一款基于Web的常用代码评审工具,对代码的评审可以针对某一具体行,也可以针对整个代码文件,评审意见会被保存在数据库中。评审人员可以同时看到其他人的评论,代码作者也可以针对某一具体的评论回复。Codestriker支持邮件通知,还可以同版本控制服务器进行集成,以跟踪和显示文件内容的改变。图19显示了Codestriker的界面。

图19.Codestriker报告界面

在实践中对所有代码进行小组评审会比较费时,所以可以根据实际情况来挑选一些核心代码进行小组评审,或者在项目的前期安排较多的小组评审,等项目组的成员对代码评审的标准和要求有较好的理解,进行代码评审的经验提高后,就可以逐渐减少小组评审的次数,从而达到大部分代码即使只进行同级评审也能保证很好的质量。

通过代码评审发现的问题要通过代码重构及时解决掉,较小的不涉及多人代码的重构可以由项目成员自己借助Eclipse的重构功能完成,不同项目成员写的实现相同功能的不同代码要通过讨论整合成公共的类或者方法。比较复杂的或者比较高层次的重构工作,例如整个项目层面的代码组织形式的改变需要由整个项目组共同讨论完成。

结论

软件开发没有一成不变、万能通用的流程和方法,希望大家能从本文得到启发和收益,结合您的实际项目特点,实践以上步骤和方法,并加以完善和改进,共同打造高效高质量的Java代码,为您的项目成功奠定坚实的基础。

java开发工程师个人简历

个人介绍 姓名:性别: 户口所在地:年龄: 毕业院校:专业: 学历:联系电话: 邮箱: 求职意向 Java软件研发 英语水平四级 专业技能 ◆熟练的运用java开发环境和项目构建 ◆熟练掌握java程序设计语言,有牢固的J2SE基础,能够熟练使用JDBC、Servlet、JSP 技术。熟悉C/S,B/S软件架构模式 ◆熟练应用JSP/Servlet/JavaBean的MVC模式开发项目 ◆会基本的EJB技术。熟练使用MyEclipse开发环境 ◆熟悉数据库 SQL Server、Oracle,熟练掌握标准SQL语言 ◆掌握关系数据库的原理。熟练使用Oracle、SQL Server进行软件系统开发。熟练使用 Tomcat服务器。 ◆具备一般的英语读写能力 ◆初步了解Struts、Hibernate、Spring应用 项目经验 一、基于.NET的聊天系统 描述:采用的是传统的C/S模式,基于.NET的COM+组件和微软的自带的消息队列(MSMQ),可以很方便的存贮和获取队列中的消息,并且采用管道通信,可以不 关心其中的通信原理;该系统的功能比较简单,能够实现局域网通信 开发技术:https://www.doczj.com/doc/3d8786523.html, + COM+组件 开发工具:MS Visual Studio 数据库:SQL Server 角色:组长(单人开发) 负责模块:界面、数据库建立和管理、后台的编写等等 时间:一周 二、基于Java的聊天系统 描述:本系统采用的任然是基于传统的C/S模式开发,前台用的是java.swing包做的界面,后台的编程采用了一些工厂模式,接口编程,给程序的扩展带来了很大的方便,数

据库则是利用的文本文件保存相关的信息,采用传统的sql从文本文件中获取自己 要的信息,数据库能实现查询、添加、删除等功能。通信则是采用最底层的socket 套接字编程;实现的主要功能有:闪屏,截图,托盘显示来信消息,多人会话等开发技术: socket套接字+面向接口编程+工厂模式 开发工具: MyEclipse8.0 数据库:自己写的文本数据库 角色:组长(单人开发) 负责模块:页面,数据库的编写,以及所有业务逻辑的编写 时间:一周 三、连连看小程序 描述:依然是传统的C/S模式开发,该程序有很多细节的地方考虑比较周到,例如只在有图片的地方产生label、图片遍历填充算法、图片连接的算法等,这在一定程度上减 少了该程序的内存开销,同样采用了工厂模式,可以在不改变源程序代码的同时, 增加新的关卡 开发技术:J2SE 开发工具: NetBeans 角色:组长(单人开发) 时间:三天 四、库存管理系统 描述:本系统采用了b/s模式开发,其中用到了jsp、servlet、JavaBean、jstl标签库、el表达式等技术,本人负责入库单和出库单管理模块,其中包含的功能大致有根据 进货单产生入库单,根据订货单产生出库单,以及直接导入入库单等,采用了mvc框 架,和单例模式,工厂模式开发 开发技术:J2EE、servlet、jsp、JavaBean、el表达式、jndi等等 开发工具: Myeclipse 角色:组员 时间:一周 自我评价◆吃苦耐劳,有强烈的敬业精神和团队协作精神,能够承受一定的压力,能迅速的适应各环境,并融合其中同时对编程具有浓厚的兴趣。 ◆有积极进取的工作精神和实际动手能力,对新知识、新技术有着强烈的求知欲与良好的 接受能力。

Java软件开发工程师简历

个人简历 姓名性别 年龄学历 毕业院校专业 工作经验现居住地 移动电话电子邮件 【技术】 熟悉java语言,理解oop思想,了解多线程,知道Socket编程,对UDP/TCP网络协议有一定的了解。 熟练使用EL表达式、ognl、JSP、Servlet等WEB应用的开发技术。 熟悉jQuery、javaScript、Ajax等前端WEB技术,JavaWeb中防盗链的原理机制。 熟练JavaEE的主流开发技术,对Struts2、Spring、Hibernate等企业主流开发框架技术有较深入了解。 了解Mybatis的CRUD操作,能够使用Mybatis+Struts2+Spring架构整合 熟悉JBPM工作流引擎,能够独立完成工作流的定制和控制。 熟悉Lucene,了解搜索引擎的运行原理,Hibernate中的二级缓存存储原理。 能使用Hibernate Search3.4.2+二级缓存来优化sql查询。 熟悉熟练应用MySQL、Orcal等关系型数据库,掌握SQL程序语言,利用JDBC操作数据库。 理解hadoop处理大数据的运行机制,能够搭建hadoop集群。 理解hadoop中HDFS与MapReduce交互数据的底层原理机制,了解Hbase的表存储、zookeep er协调管理hadoop、Hbase。 了解HTML5、webservice(Axis2/CXF)、NoSQL非关系型数据库等技术。 【工作经验】武汉泷收电子系统工程有限公司 飞达物流管理配送系统(项目一) 12/09--13/08 开发技术struts2.3.7+spring3.2+hibernate3.6+JBPM4.4+jquery easyui+ztree 开发工具MyEclipse8.5+jdk7.0+Tomcat6+MySQL5.0+PowerDesigner 项目描述此系统作为服务前端,客户通过电话、网络等多种方式进行委托,业务受理员通过与客户交流,获取客户的服务需求和具体委托信息,将服务指令输入我公司服务系统。 该系统是物流管理的前端系统,其核心模块主要有:基本设置模块、取派业务模块、中转配送模块、用户模块、权限模块、财物管理等。 担任职务Java软件工程师

java开发工程师个人简历

个人介绍 姓名:性 别: 户口所在地:年 龄: 毕业院校:专 业: 学历:联系电话: 邮箱: 求职意向 Java软件研发 英语水平四级 专业技能 熟练的运用java开发环境和项目构建 熟练掌握java程序设计语言,有牢固的J2SE基础,能够熟 练使用JDBC、Servlet、JSP技术。熟悉C/S,B/S软件架构 模式 熟练应用JSP/Servlet/JavaBean的MVC模式开发项目 会基本的EJB技术。熟练使用MyEclipse开发环境 熟悉数据库 SQL Server、Oracle,熟练掌握标准SQL语言 掌握关系数据库的原理。熟练使用Oracle、SQL Server进行 软件系统开发。熟练使用Tomcat服务器。 具备一般的英语读写能力 初步了解Struts、Hibernate、Spring应用 项目经验 一、基于.NET的聊天系统 描述:采用的是传统的C/S模式,基于.NET的COM+组件和微 软的自带的消息队列(MSMQ),可以很方便的存贮和获 取队列中的消息,并且采用管道通信,可以不关心其 中的通信原理;该系统的功能比较简单,能够实现局 域网通信 开发技术: + COM+组件 开发工具:MS Visual Studio

数据库:SQL Server 角色:组长(单人开发) 负责模块:界面、数据库建立和管理、后台的编写等等 时间:一周 二、基于Java的聊天系统 描述:本系统采用的任然是基于传统的C/S模式开发,前台用 的是包做的界面,后台的编程采用了一些工厂模式,接 口编程,给程序的扩展带来了很大的方便,数据库则是 利用的文本文件保存相关的信息,采用传统的sql从文 本文件中获取自己要的信息,数据库能实现查询、添加、 删除等功能。通信则是采用最底层的socket套接字编程; 实现的主要功能有:闪屏,截图,托盘显示来信消息, 多人会话等 开发技术: socket套接字+面向接口编程+工厂模式 开发工具: 数据库:自己写的文本数据库 角色:组长(单人开发) 负责模块:页面,数据库的编写,以及所有业务逻辑的编写 时间:一周 三、连连看小程序 描述:依然是传统的C/S模式开发,该程序有很多细节的地方 考虑比较周到,例如只在有图片的地方产生label、图 片遍历填充算法、图片连接的算法等,这在一定程度上 减少了该程序的内存开销,同样采用了工厂模式,可以 在不改变源程序代码的同时,增加新的关卡 开发技术:J2SE 开发工具: NetBeans 角色:组长(单人开发) 时间:三天 四、库存管理系统 描述:本系统采用了b/s模式开发,其中用到了jsp、servlet、 JavaBean、jstl标签库、el表达式等技术,本人负责入 库单和出库单管理模块,其中包含的功能大致有根据进货 单产生入库单,根据订货单产生出库单,以及直接导入入 库单等,采用了mvc框架,和单例模式,工厂模式开发 开发技术:J2EE、servlet、jsp、JavaBean、el表达式、jndi等等 开发工具: Myeclipse 角色:组员

Java开发工程师题库1

Ⅰ卷 一、单项选择题(本大题共40小题,每小题1分,共40分) 1.(C)是不能被当前类的子类重新定义的方法。 A.抽象方法B.私有方法 C.最终方法D.构造方法 2.“商品”与“顾客”两个实体集之间的联系一般是(D)。 A.一对一B.一对多 C.多对一D.多对多 3.Applet的运行过程要经历4个步骤,其中(B)不是运行步骤。A.浏览器加载指定URL中的HTML文件 B.浏览器显示HTML文件 C.浏览器加载HTML文件中指定的Applet类 D.浏览器中的Java运行环境运行该Applet 4.Character流与Byte流的区别是(C)。 A.每次读入的字节数不同B.前者带有缓冲,后者没有 C.前者是块读写,后者是字节读写D.二者没有区别,可以互换使用5.Connection接口中的哪个方法用于设置事务自动提交(B)。A.commit B.setAutoCommit C.getAutoCommit D.rolback 6.Eclipse采用的是以下哪种技术,这是一种基于Java的窗口组件(A)。A.SWT B.Swing C.Applet D.AWT 7.GridBagLayout布局管理器不限定加入组件的大小都相同,通过下面哪个类设置每个组件大小(A)。

A.GridBagConstraints B.GridLayout C.Frame D.Window 8.int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是(D)。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 9.java.io包的File类是(D)。 A.字符流类B.字节流类 C.对象流类D.非流类 10.Java程序的执行过程中用到一套JDK工具,其中javaprof.exe是指(B)。 A.Java调试器(jconsole) B.Java剖析工具 C.Java编译器(javac) D.Java解释器 11.Java为移动设备提供的平台是(A)。 A.J2ME B.J2SE C.J2EE D.JDK5.0 12.Java虚拟机中的(C)模拟既负责管理针对各种类型数据库软件的JDBC驱动程序,也负责和用户的应用程序交互,为Java应用程序建立起基于JDBC 机制的数据库连接。 A.JDBCConnection Manager B.JDBCCommand Manager C.JDBCDriver Manager D.JDBCDatabase Manager 13.Java语言的API文档是(D)。 A.Java归档工具(javadoc) B.Java状态序列化文件C.Java源代码D.编程工具 14.Java中实现线程同步的关键字是(C)。

Java开发工程师的具体内容概述

Java开发工程师的具体内容概述 Java开发工程师需要负责平台需求受理、分析与设计工作,承担核心功能代码的编写及系统运维工作,确保系统安全性及稳定性。下面是小编为您精心整理的Java开发工程师的具体内容概述。 Java开发工程师的具体内容概述1 职责: 1、独立完成模块需求分析、模块设计、编码实现、联调等各阶段的开发任务; 2、按照项目计划,按时提交高质量代码,完成开发任务; 3、持续优化和重构,确保代码的可读性、易维护性和功能的可扩展性; 4、快速掌握与工作相关的新技术、新思路,优化用户体验,提升工作效率; 5、指导初级软件工程师的日常开发工作,解决开发中的技术问题。

岗位要求: 1、3年以上Java和Web项目开发经验,有大型互联网项目开发经验; 2、扎实java基础,熟悉linux系统; 3、熟悉服务器端应用架构、应用服务器、数据库、存储、缓存等解决方案; 4、精通spring,spring mvc, spring boot, mybatis等常用技术框架,熟悉多线程编程; 5、熟练使用mysql数据库,能写出高效的SQL语句; 6、熟悉分布式系统设计应用; 7、熟悉但不限于spring cloud、redis、zookeeper、rabbitMQ、kafka等开源框架; 8、熟悉使用前端javascript、vue、html、element-ui等技术; 9、有较强的责任心、分析解决问题的能力以及良好的团队合作意识。 Java开发工程师的具体内容概述2 职责 1、负责产品开发;

2、负责指导、处理、协调和解决项目中出现的技术问题; 3、根据公司产品的版本管理规范,完成所负责项目的服务器代码的版本归档、版本变更、版本发布工作。 4、负责处理线上版本紧急技术问题,线上版本bug处理; 5、负责服务器系统优化,提高性能。 任职资格 1、软件基础理论知识扎实,具有良好的数据结构、算法功底; 2、精通java,对分布式计算、数据挖掘有深入了解者优先; 3、熟悉Hadoop、Storm、HBase、Hive等框架者优先; 4、具备良好的团队意识及创新思维、自我激励能力,善于与人合作; 5、具有良好的表达与沟通能力以及独立思考并解决问题的能力。 Java开发工程师的具体内容概述3 职责: 1.根据需求完成功能设计和代码编写;

java开发工程师简历

求职意向:java软件工程师 工作经验:2年 到岗时间:一周之内 期望薪资:面议 个人信息 年龄:25岁邮箱: 手机: 现居地:北京通州 专业技能 ?熟悉掌握JavaScript,Ajax,jQuery,JSON等前台技术并能够熟练使用EasyUI,zTree,ECharts等插件 ?熟悉掌握Servlet,Cookie,Session,JDBC,JavaBean,EL表达式,JSTL 等技术,深入了解MVC开发模式 ?熟悉使用Struts2框架,包括拦截器,OGNL表达式,Ajax并熟悉Struts2的工作流程 ?熟悉使用Spring框架,包括IOC和DI,AOP编程,声明式事务处理以及代理模式 ?熟悉使用Hibernate框架,包括一对多,多对多的对象关系映射,HQL,对象状态转换,数据缓存等 ?熟练运用SpringMVC,Mybatis 进行项目开发,掌握shiro 安全框架 ?熟悉使用MySQL和oracle数据库,使用其编写复杂的SQL语句,具有Mysql数据库的优化经验;掌握redis数据缓存技术 ?熟悉使用MyEclipse、HBilder,PLSQLDevelopment等开发工具,熟悉使用maven 项目管理工具,以及SVN 服务器的使用 ?熟悉Tomcat服务器的应用部署和集群配置

工作经历 毗邻智慧软件开发科技有限公司 担任职位:java软件开发师 ●初期主要实现项目的维护和个性化需求的搜集整理 ●完成项目模块的编码和测试工作 项目经验 项目名称:泉翼达商城 框架构建:Spring + SpringMVC + Mybatis + Mysql + zTree +PageHelper+ + EasyUI +CKeditor+Nginx+Redis 项目描述:此系统主要实现的功能是用户网上预订果蔬功能,包括交易系统和后台管理系统、会员系统、积分系统、支付系统、物流系统、单点登录系统 功能模块:商品信息展示、购物车管理、订单管理、用户管理、商品管理、积分管理、支付管理等功能模块 项目职责: ?负责了此系统的商品信息模块和商品管理模块的用户需求分析,完成了文档的设计与编写 ?前台交易系统负责了商品信息模块和购物车管理模块的代码编写,实现了商品基本信息(如商品预览、商品明细、分类检索)的功能,以及购物车管理模块(实现添 加商品、删除列表、数量修改、清空购物车、结算功能) ?后台管理系统负责商品管理(实现商品列表、商品发布、商品删除、商品修改功能)和用户管理模块(实现登入/登出、用户注册、信息修改功能)

java开发工程师面试自我介绍_应聘Java工作的自我介绍

java开发工程师面试自我介绍_应聘Java工作的自我介绍 应聘Java工作的自我介绍在面试中是必然要过的一关,自我介绍得好不好也直接影响到面试的效果。下面小编为你带来java开发工程师面试自我介绍的内容,希望你们喜欢。 java开发工程师面试自我介绍篇一 大家好,我是xxxx职业学院信息电子系计算机硬件专业的一名,衷心感谢您抽出宝贵时间审阅我的简历。在三年的学习生活中,我牢固地掌握了计算机硬件与电子专业的基础知识,精通数电与模电,熟练office办公软件,对计算机组装与维护把握深刻,并在各种实践中获得了一定的实际运用能力。并利用课余时间进行了汉语言文学自学考试,通过科目过半。在自考期间不但提高了文学功底,而且培养了我坚强的意志。课余时间我还广泛阅读各方面书籍,积极参加各种集体活动和社会实践活动,扩展了知识面,培养了团队精神,增强了组织交际能力,提升了综合素质。

虽然缺少工作经验和社会阅历,但我会在实践工作中勤奋学习,弥补不足,积极进步。或许我应聘的职位和计算机硬件专业并不对口,但我认为人的才能并不仅局限于所学的专业,在其他领域同样有可挖掘的潜力! java开发工程师面试自我介绍篇二 考官好,我是计算机专业的面试者xxx,我此次应聘的职位是IT行业的软件工程师,这份工作不仅与我的专业对口,同时也是我的特长与兴趣所在。现在我就从以下三个方面介绍自己: 1)学习能力:我有较强的科研能力,能熟练的进行Windows20xx和LINUX操作,并能使用VB,DELPHI等语言编程。能运用网页三剑客Photoshop软件进行相关工作。 2)实践能力:我的专长是软件开发,我希望能从事这方面的工作经验,并且我曾经发过多个系统,如人事档案管理系统,工资管理系统等等。 3)交际能力:我的性格沉稳,能坐得住,对IT行业的工作,具有非常好的适应能力,而且为人谦和,具有很强的组织和协调能力,富有的事业心和责任感使我能够面对任何困难和挑战。 从以上的简单自我介绍,我希望公司能给我一个展示自己能力的机会,让我我可以学以致用,同时我也很欣赏XX公司的企业文化与工作环境。我愿意成为企业一员,为企业的发展贡献自

java开发工程师个人简历

个人介绍 姓 名: 性 别: 户口所在地: 年 龄: 毕 业 院校: 专 业: 学 历: 联 系 电 话: 邮 箱: 求职意向 软件研发 英语水平 四级 专业技能 熟练的运用 开发环境和项目构建 熟练掌握 程序设计语言,有牢固的 基础,能够熟练使用 、 、 技术。熟悉 , 软件架构模式 熟练应用 的 模式开发项目 会基本的 技术。熟练使用 开发环境 熟悉数据库 、 ,熟练掌握标准 语言 掌握关系数据库的原理。熟练使用 、 进行软件系统开发。熟练使用 服务器。 具备一般的英语读写能力 初步了解 、 、 应用 项目经验 一、基于 的聊天系统 描述 :采用的是传统的 模式,基于 的 组件和微软的自带的消息队列 ,可以很方便的存贮和获取队列中的消息,并且采用管道通信, 可以不关心其中的通信原理;该系统的功能比较简单,能够实现局域网通信开发技术: 组件 开发工具:

数 据 库: 角 色:组长(单人开发) 负责模块:界面、数据库建立和管理、后台的编写等等 时 间:一周 二、基于 的聊天系统 描述:本系统采用的任然是基于传统的 模式开发,前台用的是 包做的界面,后台的编程采用了一些工厂模式,接口编程, 给程序的扩展带来了很大的方便,数据库则是利用的文本文件保存相关的信息,采 用传统的 从文本文件中获取自己要的信息,数据库能实现查询、添加、删除 等功能。通信则是采用最底层的 套接字编程;实现的主要功能有:闪 屏,截图,托盘显示来信消息,多人会话等 开发技术: 套接字 面向接口编程 工厂模式 开发工具: 数 据 库:自己写的文本数据库 角 色:组长(单人开发) 负责模块:页面,数据库的编写,以及所有业务逻辑的编写 时 间:一周 三、连连看小程序 描述: 依然是传统的 模式开发,该程序有很多细节的地方考虑比较周到,例如只在 有图片的地方产生 、图片遍历填充算法、图片连接的算法等,这在一定 程度上减少了该程序的内存开销,同样采用了工厂模式,可以在不改变源程序代码 的同时,增加新的关卡 开发技术: 开发工具: 角 色:组长(单人开发) 时 间:三天 四、库存管理系统 描述:本系统采用了 模式开发,其中用到了 、 、 、 标签库、 表达式等技术,本人负责入库单和出库单 管理模块,其中包含的功能大致有根据进货单产生入库单,根据订货单产生出库单, 以及直接导入入库单等,采用了 框架,和单例模式,工厂模式开发 开发技术: 、 、 、 、 表达式、 等等 开发工具: 角 色:组员

Java开发工程师的工作职责

Java开发工程师的工作职责 Java开发工程师需要对公司现有系统进行二次开发或改造。下面是小编为您精心整理的Java开发工程师的工作职责。 Java开发工程师的工作职责1 职责: 1、技术人员职位,在上级的领导和监督下定期完成量化的工作要求; 2、能独立处理和解决所负责的任务; 3、根据开发进度和任务分配完成相应模块软件的设计开发编程任务; 4、进行程序单元、功能的测试查出软件存在的缺陷并保证其质量; 5、进行编制项目文档和质量记录的工作; 6、维护软件使之保持可用性和稳定性。 任职要求:

3、熟悉ORACLE数据库开发技术; 4、熟悉主流IDE集成开发环境,熟悉调试技术,熟悉SVN 等配置管理工具; 5、熟悉主流开发框架Spring MVC、SpringCloud、MyBatis; 6、工作积极主动,具有良好的责任心,能够在一定压力下工作; 7、善于沟通,具备良好的团队合作精神; 8、有良好的编码、文档编写习惯; Java开发工程师的工作职责2 职责: 1. 按照公司项目具体要求,完成软件的程序设计、代码编写; 2. 配合系统分析人员完成软件系统以及模块的需求分析和设计工作;

3. 维护现有产品,对现有产品进行功能升级、bug修正等; 署; 5. 参与业务系统缓存、消息、日志,监控及分布式架构方案优化与新技术引入、保障系统稳定、可靠运行。 岗位要求: 1. 全日制统招学信网可查学历,计算机、信息、电子等相 2. 4年及以上Java开发经验,至少熟悉一种开源消息中间件使用;熟悉nginx、Apache反向代理服务服务器使用,能熟练使用Maven、gradle项目构建工具; 3. 熟悉SQL语言,至少能够熟练运用Oracle、MySQL等数据库中的一种; 4. 熟悉SpringBoot、restful、springCloud等框架使用; 5. 良好的学习、沟通表达、团队合作能力,有良好的编程技巧和编程风格; 6. 有银行金融行业IT开发经验者优先;能够接受差旅安排者优先;

JAVA开发工程师年终工作总结

年终个人工作总结 从2017年8月入职*****,将近一年半的时光,忙碌而又充实。在领导的指点和同事的帮助下,顺利完成了本年度的工作。现从以下几个方面,总结一下本年度工作和对未来的规划: 一、本年度的主要工作 自2018年1月起,本人开发过的项目有:发票系统项目、研发费加计扣除项目、***发票系统项目、***进销明细项目、天眼查风险报告项目、***小程序及App项目、***报告项目、大数据研发项目、***网站项目等。本人参与过项目前期工作(包括需求确立、设计方案、工作量评估)的项目有:***项目、***有限公司项目等。 主要工作内容就是各个项目功能的开发,在开发过程中学习到了很多新的技能,也丰富了很多经验,认识了很多新的工具和语言,也拓宽了解决问题的思路。 二、自我评价 思想方面,对自己一直是高标准、严要求,具有强烈的责任心和事业心,能够积极主动的学习专业知识和新技能,工作态度端正,总是把项目工作放在第一位,积极的按时的完成领导分配的任务。下班后、假期中也能够经常给自己充电,时刻保持不断学习的心态。 工作方面,能够非常认真的对待工作,工作的时候积极负责,保证自己手里出来工作的质量,绝不应付。需要加班完成的工作按时加班加点,保证工作按时完成。 关于不足之处,一方面是虽然毕业多年,但是从事软件开发的时间并不长,依然还有很多方面的东西需要学习和探索,在技术的道路上还有很长的路要走,今后除了努力做好本职工作以外,还要花更多的时间去学习,争取早日成长为技术部门的能够独当一面的人才,为领导分忧;另一方面,在今后的工作当中,还需要多多提升自己的表达能

力、沟通能力。 三、明年的规划 2019年计划往两个方面努力:一方面是更加努力的提升自己的技术水平,拓宽技术方向,尽力拥有扎实的技术基础;另一方面是从工作当中学习项目管理的实践经验,虽然早已在2017年通过了PMP项目管理认证,但是在实践的道路上,还需要多学多看多总结。总之,2019年将会是我努力沉淀自己,厚积薄发的一年。 四、2019年KPI考核目标 (1)工作的准确性 (2)工作的及时性 (3)工作的复杂度 (4)工作态度 (5)学习成果 五、总结 回首过去的一年,是充实的、是高效的、是有价值的。今后,我依然会努力做好开发人员的本职工作,为项目的开发以及公司的发展贡献自己最大的力量。同时也非常希望自己各方面都能够快速成长,早日成为公司技术部的顶梁柱。 由于工作事项较多且紧急,所以这篇年终总结并没有长篇大论,但以上所述,均是我个人内心最真实的想法,还望领导百忙之中多批评指正。非常感谢各位领导工作当中对我的指点和帮助,希望今后工作中如有不当,及时给与批评,必定积极整改,非常感谢。

java开发工程师简历模板2020

个人简历 姓名:张三性别:男 出生年月:XXXX.X.X籍贯:XX 毕业学校:XX大学专业:计算机互联网信息技术方向联系电话:1XXXXXXXXX E-mail :XXXX@https://www.doczj.com/doc/3d8786523.html, JA V A软件开发工程师 ?20XX.X-20XX.X XX大学计算机互联网信息技术二本 ?20XX.X-20XX.X Java培训XX培训机构 ?熟悉CoreJava ?了解Spring、SpringMVC、MyBatis ?了解Oracle ?了解使用MyEclipse/Eclipse等开发工具 ?了解CSS、HTML、XML、JSON ?项目名称:XX计费系统 项目时间:15天WEB服务器: Tomcat 开发环境:Linux 数据库 : Oracle 负责描述:主要负责资费管理,账务帐号,业务帐号,个人信息模块开发。 项目总结: 在项目使用Spring整合数据库DAO操作时,应用接口,很方便的通过Spring配置文件的修改,更改DAO实现方式。这让我加深了对接口编程多态性的直接理解。两个模块的数据操作,经过MyBatis的整合,简化了SQL语句拼写,增强了数据库的移植性。

数据库连接操作使用连接池(DBCP)设置连接数限制,保持连接的活性,解决并发等问题,保障数据库访问的稳定。项目中对数据状态管理和增加、修改的字段验证采用了AJAX 的技术进行异步验证,让页面实行部分数据更新,而不用刷新整个页面,大大提高了用户的体验度。 项目通过Spring的IOC和AOP技术整合MyBatis框架将各个组件之间的耦合度降至最低,增加了程序的可维护性和可扩展性。 项目心得: 项目的结构设计和框架技术的使用让我开阔了视野积累经验,编程中的带来的苦乐及成就感。 20XX.X-20XX.X XXKTV 职位:多媒体设备维护员 工作收获:提升了不同部门之间的交流合作能力,同时也提升了不少工作抗压能力 国家劳动和社会保障部高级操作员(Java) 本人性格随和,有一定的学习能力,善于思考,时刻保持良好的心态,踏实做事。能够很快适应新的环境

高级Java开发工程师岗位的具体内容说明

高级Java开发工程师岗位的具体内容说明 高级Java开发工程师需要负责开发使用的技术框架搭建,参与设计、开发工作,核心模块设计与代码编写。以下是范文网小编整理的高级Java开发工程师岗位的具体内容说明。 高级Java开发工程师岗位的具体内容说明1 职责: 1. 负责产品研发Java后台设计与开发工作、客户现场相关项目的Java后台设计与开发工作; 2. 对自行编制的功能代码进行功能与性能优化,可协助H5、APP端、第三方进行接口联调,及时修改测试、提出BUG,确保代码质量; 3. 撰写相关的技术文档,主要包括设计文档、接口文档、部署文档、使用手册等; 4. 参与项目整个过程的实施工作,并具备独立安装部署和后期实施运维能力; 5. 参与到项目售前技术支持工作,能出差实施项目。 任职资格: 1. 计算机相关专业毕业,有3年以上Java工作经验,有政府信息化或智慧城市相关项目经验优先; 2. 熟练使用SQL语句与SQL优化,熟悉主流数据库MySql、Oracle等; 3. 熟练J2EE主流技术框架,如Spring、SpringMVC、Mybatis、shiro等; 4. 精通HTTP通信协议、RESTfull API、HttpClient等接口规范与应用; 5. 熟练Java相关边沿技术与工具:Eclipse、IDEA、Maven、SVN、Git、JavaScript、Poi、Log4j、freemarker、redis、Quartz、MQ等 6. 熟练使用Linux常用命令,可以完成Java服务运行环境的安装、部署、监控等工作; 7. 具有良好的理解能力与沟通能力,能正确理解产品或项目目标与需求,有问题可以积极沟通确认,能做到及时准确的上报下达;

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任何痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面方法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.doczj.com/doc/3d8786523.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

Java软件开发工程师培训课程体系

Java软件开发工程师培训 标准方案

1.实训客户需求 1)实训对象:适用于专科以上的大学应届毕业生,或毕业后有转行需求的学生。 2)进入条件 ●具备基本的学习和理解能力。 ●英语有基础的阅读能力 ●对软件开发有兴趣,想在IT行业发展。 ●良好的沟通理解能力。 3)实训周期:100个工作日(含项目实训) 2.实训目标 1)充分理解软件编程思想,熟练掌握javaEE软件工程师任职技能和相关经验。 2)熟练掌握java编程语言,以及进行java web开发和相关前端技术。 3)熟练掌握java的流行框架技术struts2 hibernate spring。 4)了解软件开发企业规范和标准,掌握软件项目开发全过程的活动要求(立项、分析、 设计、编码、测试、部署、结项)。 5)养成团队合作精神,养成良好的表达沟通能力。 6)掌握笔试、面试技巧、职场商务礼仪。 3.实训模式 1)分阶段实训模式 ●第一阶段:语法基础 内容:很多的计算机专业的学生,为什么后来发展成瓶颈无法进入软件行业,很大 原因是没有扎实的java基础和编程思想,没有建立在理解的层面上。第一阶断除 学习java基本语法外、还要学习常见的算法、深入理解面向对象、java的异常处理 机制。掌握java基础技术IO、集合框架、多线程、网络编程、XML解析技术。 ●第二阶段:web编程技术 内容:这里主要学习就业需求很大的web开发技术,包括前端技术和后端技术。 包括HTML、CSS、javaScript、ajax、Servlet、过滤器、监听器等,并完成一个阶段 项目。 ●第三阶段:SSH框架技术 内容:这一阶段讲解java主流的开源框架技术struts2、hibernate、spring,并整合。 ●第四阶段:项目实战 内容:由合作软件公司派出技术骨干,带领学员完成真实商业化项目的部分模块,积累实际工作经验。 2)素质培养 ●通过项目实战培养团队合作能力。 ●通过专门的素质课锻炼面试技巧和沟通表达能力。

JAVA开发工程师测试题

JA V A开发工程师测试题 单项选择题: 1. 下面关于Java的说法哪些是错误的? A. Java是一种完全面向对象的程序设计语言 B. Java支持goto语句 C. Java提供了许多机制来保证程序的健壮性和安全性 D. 同一个Java程序可以在不同硬件或操作系统上运行 答案:B 2. Java是一种编译型语言还是解释型语言? A. Java是一种编译型语言 B. Java是一种解释型语言 C. Java是一种兼有编译和解释的语言,Java通过解释型方式将源文件变为目标文件, 再通过编译型方式将目标文件变为可执行文件,这样可提高Java程序的运行速度 D. Java是一种兼有编译和解释的语言,Java通过编译型方式将源文件变为目标文件, 再通过解释型方式将目标文件变为可执行文件 答案:D 3. 用JSDK编译源代码文件Hello.java的命令是什么? A. java Hello.java B. javac Hello.java C. compile Hello.java D. build Hello.java 答案:B 4. 用JSDK运行类Hello的二进制码文件的命令是什么? A. java Hello.class B. java hello.class C. java Hello D. java hello 答案:C 5. 若要编写一个类Hello,下列说法中哪些是错误的? A. 源代码文件必须叫做Hello.java或者hello.java,否则编译出错 B. 编译后生成的二进制码文件为Hello.class C. 运行的命令为java Hello D. 若将文件Hello.class改名为hello.class,那么用命令java hello也可以运行 答案:D 6. 下面哪些是Java关键字? A. NULL B. true C. sizeof D. implements 答案:D 7. 关于Java的变量,下面的说法中哪些是错误的? A. 方法中的临时变量在使用之前必须初始化

JAVA开发工程师2020版本

工作经历 基础信息个人信息 个人信息 个人信息 姓 名:XXXXX 电 话:1XXXXXXX 年 龄:XX 邮 箱:XXXXXXXX@https://www.doczj.com/doc/3d8786523.html, 求职意向:JAVA 开发工程师 学 历:本科 教育背景 2016.4-2019.6 XXX 子科技大学 软件工程 2013.3-2015.7 XXX 外国语大学 信息管理与信息技术 个人技能 1、熟悉Spring 、SpringMVC 、Mybatis 框架 2、熟悉Docker ,Linux 及Ubantu 环境部署系统 3、熟悉SpringBoot ,SpringCloud+Eureka 搭建微服环境 4、熟悉Dubbo+Zk 搭建微服环境 5、熟悉消息中间件技术:RabbitMQ 限峰 以及分布式事务处理 6、了解jdk8新特性,例如Lambda 表达式,Stream 多线程并行处理数据等 7、熟悉Mysql 数据库优化,Mysql 集群分库分表实现读写分离 8、熟悉Mycat 数据库消息中间件,分片管理数据库 9、熟悉Redis 缓存数据库 10、熟悉第三方接口调用,例如支付宝、短信验证 11、熟悉常用压力测试工具Jmeter 、数据传输测试Postman 等 12、了解JVM 调优、HashMap 底层原理 13、了解JS 、Jquery 、VUE 及BootStrap 前端技术

2018.04~2020.05 南京XXXX Java开发工程师 项目经历 项目一 项目名称:XXX银行线上贷款系统 开发模式:团队开发(20人) 开发环境:IDEA、Tomcat 开发技术:MySql、SpringBoot、SpringCloud、Redis、MyCat、RabbitMQ、Nginx 项目描述:用户使用线上申请、信用审核、额度申请、放款级线上还款等功能。后台对用户的认证、审核、控制、发放、提现、还款管理等功能 模块描述: 1.贷款申请:贷款申请、额度申请、身份验证等 2.授信额度:资料审查、征信审查、额度管理包含计算,发放,额度收缩,收回,冻结等 3.贷款控制:贷款审查、终审批准、合同签订、贷款发放、贷款撤销、贷款终止 4.还款管理:还款计划变更、担保信息变更、还款方式变更等 5.贷后管理:逾期通知、还款到期通知、贷款档案及迫帐管理等 6.系统管理:贷款产品管理、个人/机构/审批权限、业务日志、业务监控等 个人负责: 1.使用MyCat数据库中间件进行分库分表,MySql双主双从读写分离居群部署 2.审批流程流程模块:报销,培训,请假等功能开发、并将结果汇总成报表;通过Quartz定时任 务提醒员工 3.系统后台模块:使用SpringSecurity+JWT+Redis进行身份验证 项目二 项目名称: XXXX租车 框架技术:SpringBoot+Mybatis,MySql、SpringSecurity、Redis

java开发工程师-xx简历

个人简历 年 龄:25岁 邮 箱: 手 机 : 现 居 地:北京通州 ? 熟悉掌握JavaScript ,Ajax ,jQuery ,JSON 等前台技术并能够熟练使用 EasyUI ,zTree ,ECharts 等插件 ? 熟悉掌握Servlet ,Cookie ,Session ,JDBC ,JavaBean ,EL 表达式,JSTL 等技术,深入了解MVC 开发模式 ? 熟悉使用Struts2框架,包括拦截器,OGNL 表达式,Ajax 并熟悉Struts2 的工作流程 ? 熟悉使用Spring 框架,包括IOC 和DI ,AOP 编程,声明式事务处理以及 代理模式 ? 熟悉使用Hibernate 框架,包括一对多,多对多的对象关系映射,HQL ,对 象状态转换,数据缓存等 ? 熟练运用 SpringMVC ,Mybatis 进行项目开发,掌握 shiro 安全框架 ? 熟悉使用MySQL 和oracle 数据库,使用其编写复杂的SQL 语句,具有 Mysql 数据库的优化经验;掌握redis 数据缓存技术 ? 熟悉使用MyEclipse 、HBilder ,PLSQLDevelopment 等开发工具,熟悉使 用 maven 项目管理工具,以及 SVN 服务器的使用 ? 熟悉Tomcat 服务器的应用部署和集群配置 个人信息 专业技能 求职意向:java 软件工程师 工作经验:2年 到岗时间:一周之内

工作经历 2015.03-2017.02 毗邻智慧软件开发科技有限公司 担任职位:java软件开发师 ●初期主要实现项目的维护和个性化需求的搜集整理 ●完成项目模块的编码和测试工作 项目经验 项目名称:泉翼达商城 框架构建:Spring + SpringMVC + Mybatis + Mysql + zTree +PageHelper+ + EasyUI +CKeditor+Nginx+Redis 项目描述:此系统主要实现的功能是用户网上预订果蔬功能,包括交易系统和后台管理系统、会员系统、积分系统、支付系统、物流系统、单点登录系统 功能模块:商品信息展示、购物车管理、订单管理、用户管理、商品管理、积分管理、支付管理等功能模块 项目职责: ?负责了此系统的商品信息模块和商品管理模块的用户需求分析,完成了文档的设计与编写 ?前台交易系统负责了商品信息模块和购物车管理模块的代码编写,实现了商品基本信息(如商品预览、商品明细、分类检索)的功能,以及购物车管理模块(实现添 加商品、删除列表、数量修改、清空购物车、结算功能) ?后台管理系统负责商品管理(实现商品列表、商品发布、商品删除、商品修改功能)

Java开发工程师面试题总结

JAVA开发工程师面试题总结-JAVASE部分 1.谈谈final, finally, finalize 的区别? ?final是Java的一个关键字,用于泄义不能彼继承的类,不能被覆写的方法,常虽 ?finally是Java的一个关键字,是异常处理操作的统一出口。 ?finalize是Object类中所提供的一个方法,用于在对象回收之前进行收尾操作。 2.请解释Java实现可移植性的原理 ?Java程序最终通过字节码文件运行,运行的时候字节码需要JVM的支持,但是在不同的操作系统上有不同JVM,程序不用关系操作系统,只关心JVM,只要JVM 不改变,程序 可以在操作系统间任意移植。 3.请解释path和classpath的区别? ?path是windows的环境属性,用于指泄可执行命令的路径 ?classpath是指在java程序执行的时候,用于指左类的加载路径 4.请说明下JAVA中的几个特殊关键字(了解,一般面试面这个问题的都是一些煞笔公司) ?未使用到的关键字:goto、const ?有特殊含义的关键字:nulL true、false ?之后增加了一个assert关键字 ?之后增加了一个enum关键字 5.请解释JAVA中的数据类型的划分,并说出其默认值 ?基本数据类型: ■ 数值型: ?榕型:byte、short、int^ long; 9 0 ?浮点型:float、double; T 0 ■ 字符型:char T 空字符:Au0000, ■ 布尔型:boolean -> false 引用数据类型:数组、类、接口9 null 6.请解释&和&&、|和||的区别 ?& (普通与)和I (普通或)指的是所有条件都进行判断: ?&& (短路与)如果前而的条件不满足,则后而不再进行判断,II (短路或)如果前而的条件满足则后而不再判断; ?在开发之中为了性能的提髙,主要使用短路与和短路或操作:

相关主题
文本预览
相关文档 最新文档