java高级工程师

2024-09-22 版权声明 我要投稿

java高级工程师(精选6篇)

java高级工程师 篇1

1.从事java后端开发4年及以上,具有根据业务需求进行独立设计的能力 2.熟练使用Spring及SpringMVC开发

3.熟练使用常用持久层框架MybatisHibernate 4.熟悉java多线程及并发线程池使用

5.熟练使用Mysql基本操作,有一定sql优化经验

6.有使用Memcached/redis框架其中之一进行缓存开发的经验 7.会简单使用js/jquery等常用功能进行前端页面开发

任职要求:

1、本科及以上学历,三年以上基于Java语言开发经验;

2、精通J2EE架构,精通常用的设计模式,精通数据持久化、缓存、消息、通讯等的相关开源框架,对大容量、高并发系统的设计与调优有丰富经验尤佳;

3、熟悉TCP/IP协议,熟悉java网络编程,熟悉NIO,熟练使用相关框架,如Netty、Mina等;深入理解序列化与反序列化机制;

4、熟练使用redis、memcache 等缓存中的一种;

5、熟悉至少一种Web开发框架(Spring+Mybatis),对JS、CSS、HTML能熟练的运用;熟悉Spring boot, Spring cloud者优先考虑

6、熟悉Linux操作系统,熟悉Tomcat等主流web服务器;

7、至少熟悉一种关系数据库如mysql,并能根据业务需求设计数据库结构,有NoSQL经验者优先;

8、诚信正直,积极主动,有较强的责任心,并具备良好的沟通能力、理解能力和较强的学习能力,具备团队合作精神;

9、有以下经验者优先考虑:分布式Socket通讯、分布式队列、分布式任务分发框架、全文检索、海量数据存储与分布式存储技术。

编程专业相对于计算机领域其他专业来讲,是一门比较难以修炼的专业,此专业如果想要大成,需要修行之人心性极佳,踏踏实实,耐得住寂寞,受得住冷落。所以一位优秀的软件开发工程师是非常难得的。老师就是编程专业出身,并且有很多从事Java编程的朋友,总结了一下,一位优秀的Java开发工程师需要身怀以下十项技能:

1、语法:必须比较熟悉,在写代码的时候,IDE(Integrated Development Environment,集成开发环境)的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且知道任何修正。

2、命令:必须熟悉JDK(Java Development Kit,Java开发工具箱——JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。)带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。

3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

4、API(Application Programming Interface,应用程序编程接口):Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:

◆java.lang包下的80%以上的类的功能的灵活运用。

◆java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer.◆java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。

◆java.math包下的100%的内容。

◆java.net包下的60%以上的内容,对各个类的功能比较熟悉。

◆java.text包下的60%以上的内容,特别是各种格式化类。

◆熟练运用JDBC.80%、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.◆AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。

◆Swing的基本内容,和AWT的要求类似。

◆XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

5、测试:Junit测试是程序员测试,即所谓白盒测试。一位合格的Java开发工程师必须熟悉使用junit编写测试用例完成代码的自动测试。

6、管理:必须熟悉使用Ant(中文译为蚂蚁,是一种基于Java的build工具。)完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

8、思想:必须掌握OOP(Object Oriented Programming,面向对象编程)的主要要求,这样使用Java开发的系统才能是真正的Java系统。

9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

10、博学:掌握J2EE、Oracle、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。

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富客户端技术。

java高级工程师 篇2

Java语言是20世纪90年代初推出的一种纯面向对象编程语言, 自从它面世, 已经获得了企业和学校的一致推崇和好评, 由于它的可移植性、跨平台性等优点, 在基于网络、桌面系统开发中得到了广泛应用。所以, Java又有“网络程序设计语言”的说法。

基于Java的web高级开发课程是软件技术专业 (Java方向) 的主干专业课, 该课程将Java语言程序设计、web基础和结构化查询语言 (SQL语言) 等课程的知识进行综合应用和深化。可见, 基于Java的Web高级开发课程是培养Java方向学生实际开发技能与能力, 并积累开发经验的一门应用性课程, 该门课程的内容和教学对学生就业至关重要。因此, 根据当今IT企业对计算机和软件人才的需求, 进行该门课程教学模式的改革, 建立一种适合基于Java的web高级开发课程考评模式, 对提高学生的职业能力和素质, 为IT企业输送优秀的人才具有非常重要的意义。

2. 基于java的web高级开发课程现状

作为两年制的高职高专院校, 最重要的就是培养学生的应用能力和实践动手能力, 必须能够直接适应IT企业的用人需求, 但当前这门课程在多属高职高专院校还存在以下一些问题:

2.1 不能满足当今企业需求, 课程内容陈旧

IT行业是一个快速发展的行业, 而且IT企业招聘人才均要求有一定项目开发技能能力与经验。软件专业学生事实上在校内是可以通过一定训练形成实际开发能力并积累开发经验的, 但目前学校的课程内容体系及教学模式一直沿用传统的学科形式, 各门课程的知识应用性不突出, 缺少综合应用训练, 不能形成软件开发的职业技能与能力, 所以学生毕业时不具备一定的开发能力, 不能满足IT企业的需求, 不能即时就业。

2.2 理论教学学时偏多, 实践教学学时偏少

基于Java的web高级开发课程是一门实践性很强的课程, 传统的教学方式还是以理论为主导, 在先讲完理论知识的前提下, 再通过实践来理解理论知识。这样导致很多学生对理论知识理解不太透彻。

2.3 教学方法创新不够

对于职业院校来讲, 不仅在教学内容上与传统的高等院校有些差别, 而且教学方法也与高等院校有较大差别, 当前课程的教学方法虽然采用了理论和实践相结合的方式, 但是对学生的职业技能的培养还不够, 很多内容必须要学生动手来做才能产生更好的效果。

3. 教学内容改革

由于本门课程的实践性较强, 在教学中, 应从具体实例出发, 采用案例教学, 首先教师讲解具体的案例要求, 再结合具体案例总结教材中的基本理论和知识点。通过案例教学的方法, 学生学习主观能动性和积极性较好, 分析问题和解决问题的能力显著提高。由于这种教学方法改变, 所以教学内容也要相应的调整。

如果每个案例都讲一遍, 那么需要的学时会非常多。在教学中, 本门课程以五个主要案例为主线, 由浅入深。案例一是留言板, 这部分内容主要讲授JSP和Java Bean基础知识, 通过案例使学生初步掌握Java web编程方法和技巧;案例二为人员管理系统后台, 这部分内容主要讲授Servlet及Filter和Listener知识, 通过案例掌握Java web的重要应用Servlet及Servlet过滤器和监听器;案例三是小型在线购物系统, 这部分内容主要讲授EL、JSTL和JDBC高级开发;案例四是图书信息管理系统前台, 这部分内容主要讲授AJAX、JQUERY和JSON技术;案例五是网上书城, 这部分内容主要讲授单元测试、设计模式, 此外本案例为一个具体开发项目, 涵盖本门课程讲授的所有知识的综合应用。

4. 课程考评模式改革

4.1 考核模式改革

对于Java Web高级开发课程, 不能用传统的平时考勤和作业的考核方法。因为这门课程是实践性很强的课程, 如何只是平时考核和作业, 是完全不能衡量一个学生的知识掌握情况。采用案例教学, 考核机制必须要与传统的考核方法不同。

首先, 课后作业改为课上布置编程题目。这样要求学生课上必须自己写代码、调程序, 否则教师检查时他是不能过关的, 这样教师在检查时, 还达到考勤目的, 能有效区分学生知识掌握情况。

其次, 是项目开发考核。每一个项目组的成员都要通过答辩的形式演示自己所承担的项目内容, 最后教师给成绩, 这种考核方式可以提高学生的编程兴趣和开发能力。

4.2 考试模式改革

考试模式同样也不能用传统的考试方式。要做出较大调整。不能通过一套试卷作为最终的期末成绩, 因为一套试卷是不能检测出学生的学习效果, 尤其是编程能力和项目开发能力。

基于案例教学, 本文提出一种适合高职软件类课程的一种考试方法, 即考试分为三部分, 第一部分为理论考试, 占期末成绩20%, 题量不大, 考试时间为1小时, 考试形式为闭卷, 主要是以选择题和程序填空题为主;第二部分为上机考试, 占期末成绩的30%, 题量适中, 考试时间为2小时, 考试形式为开卷, 一般为3或4个上机编程题;第三部分为项目设计, 占期末成绩的50%, 为一个交大型的项目, 需要学生分组分工来完成, 最后通过报告、成果和答辩来给出成绩, 这种模式注重的是实践操作, 相当于一次模拟IT企业的项目开发, 培养学生应用开发能力和团队合作能力。

5. 总结

本文针对《基于Java web高级开发课程》当前授课内容和考核方式现状, 通过以案例教学为主导, 提出了一种新的课程内容体系和考评模式, 着力培养高职软件专业 (Java方向) 学生的程序设计能力, 适应当今社会对计算机和软件人才的需求。

摘要:针对基于Java的web高级开发课程的现状, 提出了一种适合基于Java的web高级开发课程考评模式, 对考核模式和考试模式进行改革, 着力培养高职软件专业 (Java方向) 学生的程序设计能力, 适应当今社会对计算机和软件人才的需求。

关键词:考评模式,软件专业,程序设计

参考文献

[1]靖向党.《以就业为导向的高技能实用型IT人才培养模式的创新与实践》, 2008.8.

[2]陈旭辉, 张荣胜.项目教学的项目开发、教学设计及其应用[J].中国职业技术教育, 2009 (3) .

[3]吕晓华, 李素朵, 张燕.任务驱动教学模式在JAVA课程教学中探索与实践[J].教育科学, 2008 (5) .

Java高级工程师的主要职责 篇3

1.从事Java Web 的设计与开发;

2.能独立处理和解决所负责的任务;

3.根据开发进度和任务分配,完成相应模块软件的设计、开发、编程任务;

4.进行程序单元、功能的测试,查出软件存在的缺陷并保证其质量;

5.进行编制项目文档和质量记录的工作;

6.维护软件使之保持可用性和稳定性。

任职要求:

1.统招本科以上学历(必要条件),5年或以上工作经验,计算机相关专业,有电商项目优先;

2.熟悉Spring, Struts, mybatis等框架体系,并有实际开发经验;

3.熟悉MySQL、Sql Server、Oracle等主流数据库的应用;

4. 熟悉主流应用服务器,如:linux等;

5. 熟悉Resin、tomcat等Web应用服务器;

6.精通JavaScript、div、CSS、HTML、Jsp;熟悉Jquery、Extjs、dwr ; 并有相关的开发经验;

7. 熟练使用Eclipse + Myeclipse开发工具;熟悉常用的Java设计模式;

java高级工程师 篇4

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

3.int 和 Integer 有什么区别?

4.说出ArrayList,Vector, LinkedList的存储性能和特性?

5.描述一下JVM加载class文件的原理机制?

6.STRING与STRINGBUFFER的区别?

7.List、Map、Set三个接口,存取元素时,各有什么特点?

8.谈谈final, finally, finalize的区别

9.sleep()和 wait()有什么区别?

10.GC是什么? 为什么要有GC?

11.jsp:include,jsp:forward两种跳转方式分别是什么?有什么区别?

12.简述JSP的内置对象及方法。

13.Servlet的基本架构?

14.getServletContext()和getServletConfig()的意思

15.filter 的作用是什么?主要实现什么方法?request 和 response全称是什么?

16.JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?

17.谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制

18.结合text这段结构,谈谈innerHTML outerHTML innerText之间的区别。

19.如何获取表单select域的选择部分的文本?

20.在JavaScript中定时调用函数 foo()如何写?

21.hibernate和jdbc有什么区别

22.描述使用JDBC连接数据库的过程

23.简述JDBC连接池的实现方法

24.Jdo是什么?

25.Class.forName的作用?为什么要用?

26.请教一个面试中遇到的SQL语句的查询问题

表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

27.一个日期判断的sql语句?

请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)

28.用一条SQL语句 查询出每门课都大于80分的学生姓名

name

kecheng

fenshu 张三

语文

张三

数学

李四

语文

李四

数学

王五

语文

王五

数学

王五

英语

29.复制表(只复制结构,源表名:a 新表名:b)

30.拷贝表(拷贝数据,源表名:a 目标表名:b)

31.原表:

courseid coursename score------1 java 70 2 oracle 90 3 xml 40 4 jsp 30 5 servlet 80

------

为了便于阅读,查询此表后的结果显式如下(及格分数为60): courseid coursename score mark

--------------------1 java 70 pass 2 oracle 90 pass 3 xml 40 fail 4 jsp 30 fail 5 servlet 80 pass

java高级工程师 篇5

1、一般复杂软件应用的编码,相关文档书写的工作;

2、与开发经理一起参与需求讨论及软件系统的设计与分析

3、根据开发进度和任务分配,能独立完成相应模块软件的设计、开发、编程任务。

岗位要求

1、计算机技术等相关专业专科以上学历,5年以上工作经验,至少3年以上JAVA WEB实际开发经验。

2、扎实JAVA基础,热爱JAVA编程,喜欢钻研,具有一定抗压素质,工作积极主动,具备较强的责任感且有良好的沟通和团队协作能力,吃苦耐劳,能接受一定量的加班;

3、熟悉J2EE,熟练使用SSH框架开发,熟练使用struts、spring、hibernate开发,熟练使用WEBSERVICE,熟练使用JAVA IO流各种操作,熟悉JSF开发优先考虑;

4、熟练使用ORACLE/MSSQL/MYSQL数据库中至少一种;

5、熟练使用JSP、SERVLET、JDBC、HTML、CSS、JAVASCRIPT开发等;

6、必须要求熟练使用JQUERY!熟练使用JQUERY各种主流UI优先考虑,例如EASYUI、LIGERUI等;

Java聊天室制作 篇6

1引言

Java聊天室项目几乎可以覆盖Java的所用知识点, 例如Java数组、多线程、网络编程。而且, 对功能需求非常清楚, 可以直接进行开发。通过这个系统地练习, 可以系统地掌握Java技术。

2工作原理

要制作聊天室, 必须掌握它的工作原理。聊天室属于网络编程, 目前较为流行的网络编程模型是客户机/服务器 (C/S) 结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行, 监听网络端口, 一旦有客户请求, 就会启动一个服务线程来响应该客户, 同时自己继续监听服务端口, 使后来的客户也能及时得到服务。

聊天室编程采用TCP协议。TCP是一种面向连接的保证可靠传输的协议。通过TCP协议传输, 得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个Socket之间必须建立连接, 以便在TCP协议的基础上进行通信, 当一个Socket (通常都是Server Socket) 等待建立连接时, 另一个Socket可以要求进行连接, 一旦这两个Socket连接起来, 它们就可以进行双向数据传输, 双方都可以进行发送或接收操作。

3聊天室的制作

网络上的两个程序通过一个双向的通信连接实现数据的交换, 这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面, 一个Socket由一个IP地址和一个端口号唯一确定。

但是, Socket所支持的协议种类也不光TCP/IP一种, 因此两者之间是没有必然联系的。在Java环境下, Socket编程主要是指基于TCP/IP协议的网络编程。

3.1设计服务器和客户端的界面

为了简单起, 将服务器和客户端设计成相同的界面, 只是在界面的标题上进行区别。工作重点是实现二者的双向通信, 界面读者可以根据自己的需要进行修改。

客户端代码:

3.2实现服务器和客户端一对一的通信

界面编写完成后能够正常显示如图1, 图2所示, 但不能进行通信, 必须要加入网络编程的代码。这里先给出通信的界面, 以便帮助读者理解。

客户端代码:

3.3利用多线程实现服务器和客户端多对多的通信

上面的程序在界面程序的基础上, 加入了Socket编程部分, 实现了客户端和服务器端的单一通信, 但服务器不能接收多个客户端的信息, 也不能给多个客户端发送信息。因为服务器程序不支持多线程, 所以必须修改服务器和客户端程序使其都成为多线程类, 这样就可以实现客户端和服务器的多对多的通信。这里还是先给出两个客户端和服务器同时通信的界面, 方便读者理解, 如图5、图6、图7所示。

客户端代码:

4结语

上一篇:廉洁监督员履职报告下一篇:全民科学素质行动计划