java工程师技术总结_技术最新工作总结_第1页
java工程师技术总结_技术最新工作总结_第2页
java工程师技术总结_技术最新工作总结_第3页
java工程师技术总结_技术最新工作总结_第4页
java工程师技术总结_技术最新工作总结_第5页
已阅读5页,还剩2页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、xx年X月X日精品范文-java工程师技术总结_技术工作总结(文章一):研发部java开发工程师2xx年工作总结2xx年年度总结尊敬的领导:您好!在2xx年11月我很荣幸地进入公司,加入了研发部Java技术开发团队,认识了友善严谨的领导、热心和睦且技术优秀的同事,很是开心。在这一年里通过自身的努力,不断完善自己的知识结构,向同事虚心请教开发技术上的问题,较快地熟悉了公司采用的技术框架和业务知识。通过公司日常培训学习和工作积累我对公司业务也有了一定的了解,在各方面也有了进步。目前在参与项目开发的工作中,我负责xx功能模块开发。新年伊始,特向过去的一年2xx年工作总结汇报如下: 根据公司的安排,项

2、目的需要,通过在xx项目开发中的锻炼,我成长了,也认识到了自己的不足之处。在自身的努力、领导的帮助,团队的合作下,克服重重技术困难,增长了工作经验,收获颇多。从入公司以来我就开始学习基于代码生成器免费开源的开发框架以及Maven项目管理工具的使用,曾经接触过的框架比较熟悉的有SSH,表现层的实现技术freemaker、JSP。个人优势就是曾在xx行业针对xx业务用SpringMVC框架开发管理系统,缺点是没有用过Activity工作流技术。Hibernate框架,没有用到过多表关联动态查询和hql查询。印象较深刻的就是多对多关联表查询需要用到构造函数的方法来查。新接触的项目中我主要涉及到的开发

3、模块有(具体描述功能模块)xx等功能。工作中的经验总结如下:(1)、对业务流程的梳理上,代码没有写活,考虑的问题不全面。后来在讨论时经过同事的指点进行了改造,代码质量和规范才有了明显提高。(2)、知识面还不够广博。在开发中遇到不少以前没学过的技术,一个模块功能中,涉及的技术往往有多种,知识多了,就会灵活变通,以后一定要加强这方面的学习。(3)、需要加强总结。在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够。平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提,所以要到遇到过的问题需要进行总结,以便以

4、后能快速定位和解决。今后的计划:通过今年的实践和学习,明年又是一个新的开始,立足当前的优缺点,肩负起应有的工作和性质。为公司明年的发展尽自己最大的努力,也希望自己明年有更大的收获。随着大数据时代的到来,数据已渗透到各行各业领域,希望明年可以学习到云数据库方面的知识技能。在当前已有关系型数据库方面经验的基础上提升自己。明年自己给自己定的目标是,达到理想的工作状态,顺利的开展公司的工作,掌握更多的技术点。编写高效率的代码。对公司的小建议:(1)、部门管理方面:作为研发部的一员,我觉得公司应该要有OA系统。实现员工考勤统计、绩效管理、个人xx等办公自动化管理,不仅仅是提高个人的办公效率,也提高公司整

5、体的办公效率,实现资源共享,强化部门管理以及部门之间的沟通。这样就不需要每次都是人工来统计考勤数据。也不必要走线下流程打印补卡单浪费资源和减少不必要的费用支出。(2)、企业文化方面:如果条件允许,每周三下午四时可以设立下午茶时间,时间可以是十五分钟,再忙也要学会适当放松自己。也是提高工作效率的另一种方式。工作计划、今后规划做出以下几点规划:(1)、工作要注重实效、注重结果,一切工作围绕着目标的完成;2 立足大局,勤于沟通,分工合作,提高工作效率;(3)、把握一切机会提高专业能力,加强平时知识总结工作;(4)、精细化工作方式的思考和实践。以上为本人粗略的个人工作小结,请领导审阅,如工作上有不到之

6、处,请领导多多包涵,不吝指出,以便本人及时改正,从而能更好地工作。展望2xx年,我会更加努力、工作上认真负责,再接再厉,更上一层楼。相信自己会完成新的任务,能迎接新的挑战!研发部Java开发工程师xx 2xx年12月31日(文章二):java工程师2xx年度工作总结2xx年度工作总结2xx年对于我来说是非常重要的一年,在这一年中我有了很多的进步,也在在很多地方留下了一些遗憾。古人云:“前事不忘,后事之师”,亦云:“一日而三省吾身”。我虽然不能做到“一日三省”但是年终总结是万万不能再少的。希望可以通过对过去的总结,找到自己在技术发展上的缺陷,发现自己不好的那些习惯并在未来的日子中可以不断的修正。

7、9月份入职到现在有4个多月了,在公司领导同事的关心和帮助下,本人认真负责的完成了各项工作任务,技术水平有了明显提高。工作情况如下:(1)、熟悉了解公司各项规章制度我于2xx年9月进入公司,为了更快更好地融入公司这个团队,为以后的工作打好铺垫,在入职培训中,我认真对公司的各项规章制度进行了解,熟悉公司的企业文化,熟悉公司编程风格,熟悉公司编码规范,熟悉办公环境,以及人文交流,通过了解和熟悉,我为能进入公司这个团队感到自豪,同时也感到自身的压力。在以后的工作中,我将以公司的各项规章制度为准则,思想汇报专题严格要求自己,踏实工作,在坚持原则的情况下敢于创新,更快更好地完成工作任务。(2)、学习新技术

8、由于客户对产品的要求越来越高,要求产品更人性化,多样化,交互性强,公司在今后的项目中将用到extjs技术,所以我对这门技术进行了详细,深入的学习,现在已经能够灵活运用,并编码实现了大量常用组件的开发,为公司的以后的项目需求做好了准备。(3)、熟悉并参与修改现有项目熟悉并参与修改佛山招投标项目和司法厅项目。存在的不足以及改进情况如下:(1)、技术水平有待继续提高在工作中遇到一些技术问题无法解决,最后通过网上搜索以及请教同事领导帮忙得以解决,我将归纳整理常见问题,做到下次遇见能够快速解决,积累经验,提高工作效率,继续学习新知识新技术,翻新技术知识。(2)、缺乏计划性在工作过程中,常常因为缺乏计划,

9、导致工作目的不够明确,主次矛盾不清,造成事倍功半的效果,在以后的工作过程中,我要认真制订工作计划,做事加强目的认识,分清主次矛盾,争取能达到事半功倍的效果。(3)、缺乏沟通,不能充分利用资源在工作的过程中,由于碍于面子,不积极向其他同事求教,造成工作效率降低甚至出现错误,不能达到优势资源充分利用。俗话说的好“三人行必有我师”,在以后的工作中,我要主动加强和其他部门同事的沟通,通过公司这个平台达到资源共享,从而提高自己的技术水平,更好的完成工作。在2xx年我将继续坚持认真的工作态度,刻苦的学习态度,愉快的生活态度投入工作,希望在2xx年取得新的进步与成就。(文章三):java工程师面试总结一.a

10、utowired和resource的区别Resource的作用相当于Autowired,只不过Autowired按byType自动注入,而Resource默认按 byName自动注入罢了。Resource有两个属性是比较重要的,分是name和type,Spring将Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。Resource装配顺序(1)、如果同

11、时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常(2)、如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常(3)、如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常(4)、如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;final可用来修饰类,变量,方法。(1)、final修饰变量:final修饰变量时,表示该变量一旦获得了初始值之后就不可改变。(1)、修饰成员

12、变量: 与普通成员变量不同的是,final成员变量(实例属性和类属性)必须由程序员显示初始化,系统不会对final成员变量进行隐式初始化。非final修饰的成员变量初始化过程:当进行静态初始化时,可对类属性初始化,当执行普通初始化块,构造器时可对实例属性初始化,因此:非final成员变量的初始值,可以在定义该变量时指定初始值,可以在初始化块,构造器中执行初始化值,否则成员变量的初始值是由系统自动分配的初始值。final修饰的类属性,实例属性指定初始值的地方:类属性:静态初始化块,声明该属性时指定初始值。实例属性:非静态初始化块,构造器,声明该属性时指定初始化值。二.final修饰局部变量:(1

13、)、系统不会对局部变量进行初始化,必须由程序员显示初始化。如果在定义final变量时没有指定初始值,则可以在后面代码中进行对final变量赋初始值,但只能一次,不能重复赋值,如果final修饰的局部变量在定义时已经指定默认值,则后面的代码中不能再对该变量赋值。(2)、final修饰形参不能被赋值,因为形参在调用该方法时,有系统传入的参数来完成初始化。(3)、final修饰基本类型变量与引用类型变量的区别:(1)、final修饰基本类型变量时,不能对基本变量重新赋值,因为基本类型变量不能被改变。(2)、final修饰引用类型变量时,仅仅保持的是这个引用所引用的地址不会改变,既一直引用同一个对象。

14、但这个对象完全可以改变(对象的属性)例如: final person p = new person();/改变person对象的age属性,合法。p.SetAge(23);/对p引用重新赋值,不合法。p = null;注意:如果final修饰变量是基本数据类型,且在编译时就可以确定该变量的值,于是把该变量当做常量来处理:常量命名规则:多个有意义的单词连接,所有字符大写,单词之间用下划线分割。如果final修饰变量是引用类型,final变量无法在编译时就获得值,而必须在运行时才能得到值如:final TestClass t = new TestClass();编译时系统不会创建一个TestCla

15、ss对象赋给 t 变量,所以t不需要当做常量来处理,无需使用常量命名规则。(4)、final方法:(1)、final修饰的方法不可被重写。(2)、java提供的Object类有一个final方法:getClass(),因为java不希望任何一个类重写这个方法。(3)、对于private 方法,仅在当前类中可见,子类无法访问,所以也就无法重写该方法,如果子类中定义了一个与父类private方法有相同方法名,相同形参列表,相同返回值类项的方法,也不是方法重写,只是重新定义了一个方法,因此使用final修饰的一个private 访问权限的方法,依然可以在其子类中定义与该方法有相同方法名,相同形参列表

16、,相同返回值类型的方法。(4)、final修饰的方法不能被重写但完全可以被重载。(5)、final类:(1)、final修饰的类不可有子类,java.lang.Math类就是一个final类,它不可以有子类。三 JQuery 绑定事件的方法.bind()$(a).bind(click,function() alert(That tickles!) );这是最直接的绑定方法。jQuery 扫描文档找到所有 $(a) 元素,然后给每一个找到的元素的 click 事件绑定处理函数。.live()$(a).live(click,function() alert(That tickles!) );Que

17、ry绑定处理函数到 $(document) 元素,并把 click 和 a 作为函数的参数。有事件冒泡到document节点的时候,检查这个事件是不是 click 事件,target element能不能匹配 a css选择器,如果两个条件都是true,处理函数执行。.delegate()$(#container).delegate(a,click,function() alert(That tickles!) );jQuery扫描文档找到 $(#container),绑定处理函数到他的 click 事件,a css选择器作为函数的参数。当有事件冒泡到 $(#container),检查事件是不

18、是 click,并检查target element是不是匹配css选择器,如果两者都符合,执行函数。注意这次和.live() 方法很相似,除了把事件绑定到特定元素与跟元素的区别。精明的JSer 或许会总结成 $(a).live() = $(document).delegate(a),真的是这样吗不,不全是。四。spring事务管理Spring+Hibernate的实质:就是把Hibernate用到的数据源Datasource,Hibernate的SessionFactory实例,事务管理器HibernateTransactionManager,都交给Spring管理。那么再没整合之前Hiber

19、nate是如何实现事务管理的呢通过ServletFilter实现数据库事务的管理,这样就避免了在数据库操作中每次都要进行数据库事务处理。一.事务的4个特性:原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做。一致性:数据不会因为事务的执行而遭到破坏。隔离性:一个事务的执行,不受其他事务(进程)的干扰。既并发执行的个事务之间互不干扰。持久性:一个事务一旦提交,它对数据库的改变将是永久的。二.事务的实现方式:实现方式共有两种:编码方式;声明式事务管理方式。基于AOP技术实现的声明式事务管理,实质就是:在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行

20、完目标方法后根据执行情况提交或回滚事务。声明式事务管理又有两种方式:基于XML配置文件的方式;另一个是在业务方法上进行Transactional注解,将事务规则应用到业务逻辑中。三.创建事务的时机:是否需要创建事务,是由事务传播行为控制的。读数据不需要或只为其指定只读事务,而数据的,修改,删除就需要事务管理了。一种常见的事务管理配置:事务xxTransactionInterceptor和事务自动代理BeanNameAutoProxyCreator相结合的方式。五。oracle通用函数sum(),max(),min(),count(),decode(),case,avg(),to_date(),

21、如nvl(字段,x)字段值等于null就这个函数得到的结果就是x,ABS(x) 函数,此函数用来返回一个数的绝对值。CEIL(x)函数,用来返回大于或等于X的最小整数。FLOOR(x)函数,用来返回小于或等于X的最大整数。ROUND(x,y)函数,返回舍入到小数点右边Y位的X值。Y缺省为0,这将X舍入为最接近的整数。如果Y是负数,那么舍入到小数点左边相应的位上,Y必须为整数。Select CONVERT(varchar(100),GETDATE(),23): 2xx-05-16CONVERT(data_type(length),data_to_be_converted,style)data_t

22、ype(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。六.oracle存储过程(1)、存储过程异常处理create or replace procedure peace_xxert ( c_n in varchar2)iserror EXCEPTION;beginif c_n = OKthenxxert into course (course_name) values (c_n);elsif c_n = NG thenxxert into course (course_name) value

23、s (c_n);raise error;elseDbms_Output.put_line(c_n | c_n);end if;mit;exceptionwhen error thenrollback;Dbms_Output.put_line(ERRO);end;关于 游标 if,for 的例子create or replace procedure peace_ifiscursor var_c is select x from grade;beginfor temp in var_c loopif temp.course_name = OS thendbms_output.put_line(St

24、u_name = |temp.stu_name);elsif temp.course_name = DB thendbms_output.put_line(DB);elsedbms_output.put_line(feng la feng la );end if;end loop;end;-关于游标 for,case 的例子1create or replace procedure peace_case1iscursor var_c is select x from test_case;beginfor temp in var_c loopcase temp.volwhen 1 thendbms

25、_output.put_line(haha1);when 2 thendbms_output.put_line(haha2);when 3 thendbms_output.put_line(haha3);when 4 thendbms_output.put_line(haha4);elsedbms_output.put_line(qita);end case;end loop;end;七。java 对象作用范围Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除。因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3。其中T1表示对象的创建时间,T2

26、表示对象的使用时间,而T3则表示其清除时间。由此,我们可以看出,只有T2是真正有效的时间,而T(1)、T3则是对象本身的开销。下面再看看T(1)、T3在对象的整个生命周期中所占的比例。我们知道,Java对象是通过构造函数来创建的,在这一过程中,该构造函数链中的所有构造函数也都会被自动调用。另外,默认情况下,调用类的构造函数时,Java会把变量初始化成确定的值:所有的对象被设置成null,整数变量(byte、short、int、long)设置成0,float和double变量设置成0.0,逻辑值设置成false。所以用new关键字来新建一个对象的时间开销是很大的,如表1所示。表1 一些操作所耗费

27、时间的对照表运算操作 示例 标准化时间本地赋值 i = n (1)、0实例赋值 this.i = n (1)、2方法调用 Funct() (5)、9新建对象 New Object() 980新建数组 New int10 3100从表1可以看出,新建一个对象需要980个单位的时间,是本地赋值时间的980倍,是方法调用时间的166倍,而若新建一个数组所花费的时间就更多了。再看清除对象的过程。我们知道,Java语言的一个优势,就是Java程序员勿需再像C/C+程序员那样,显式地释放对象,而由称为垃圾收集器(Garbage Collector)的自动内存管理系统,定时或在内存凸现出不足时,自动回收垃圾

28、对象所占的内存。凡事有利总也有弊,这虽然为Java程序设计者提供了极大的方便,但同时它也带来了较大的性能开销。这种开销包括两方面,首先是对象管理开销,GC为了能够正确释放对象,它必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等。其次,在GC开始回收“垃圾”对象时,系统会暂停应用程序的执行,而独自占用CPU。因此,如果要改善应用程序的性能,一方面应尽量减少创建新对象的次数;同时,还应尽量减少T(1)、T3的时间,而这些均可以通过对象池技术来实现。实现一个对象池,一般会涉及到如下的类:1)对象池工厂(ObjectPoolFactory)类该类主要用于管理相同类型和设置的对象池(O

29、bjectPool),它一般包含如下两个方法: createPool:用于创建特定类型和设置的对象池;destroyPool:用于释放指定的对象池;同时为保证ObjectPoolFactory的单一实例,可以采用Singleton设计模式,见下述getxxtance方法的实现:public static ObjectPoolFactory getxxtance() if (poolFactory = null)(文章四):总结关于JAVA工程师的一些技术面试问题总结关于JAVA工程师的一些技术面试问题Xml相关的DTD和XSD有什么区别,用DTD如何定义attribute和sub-elementsJSP和Serlvet的区别JSP include有哪几种方式,有什么区别作用域public,private,protected,以及不写时的区别读取xml文件的方法有几种hashcode和equals方法的区别,分别在什么情况下用,在什么情况下overrideHashSet和HashTable的区别JVM中classloader如何加载classswitch语句可以处理的数据类型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论