java年总结

2024-06-21

java年总结(共9篇)(共9篇)

1.java年总结 篇一

2017年总结

尊敬的领导:

您好!在2017年4月我很荣幸地进入公司,加入了研发部Java技术开发团队,认识了友善严谨的领导、热心和睦且技术优秀的同事,很是开心。在这一年里通过自身的努力,不断完善自己的知识结构,向同事虚心请教开发技术上的问题,较快地熟悉了公司采用的技术框架和业务知识。

通过公司日常培训学习和工作积累我对公司业务也有了一定的了解,在各方面也有了进步。目前在参与项目开发的工作中,我负责XXX功能模块开发。新年伊始,特向过去的一年2015年工作总结汇报如下:

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

1.对业务流程的梳理上,代码没有写活,考虑的问题不全面。后来在讨论时经过同事的指点进行了改造,代码质量和规范才有了明显提高。

2.知识面还不够广博。在开发中遇到不少以前没学过的技术,一个模块功能中,涉及的技术往往有多种,知识多了,就会灵活变通,以后一定要加强这方面的学习。

3.需要加强总结。在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够。平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提,所以要到遇到过的问题需要进行总结,以便以后能快速定位和解决。今后的计划:

通过今年的实践和学习,明年又是一个新的开始,立足当前的优缺点,肩负起应有的工作和性质。为公司明年的发展尽自己最大的努力,也希望自己明年有更大的收获。随着大数据时代的到来,数据已渗透到各行各业领域,希望明年可以学习到云数据库方面的知识技能。在当前已有关系型数据库方面经验的基础上提升自己。明年自己给自己定的目标是,达到理想的工作状态,顺利的开展公司的工作,掌握更多的技术点。编写高效率的代码。对公司的小建议:

1.部门管理方面:作为研发部的一员,我觉得公司应该要有OA系统。实现员工考勤统计、绩效管理、个人通讯录等办公自动化管理,不仅仅是提高个人的办公效率,也提高公司整体的办公效率,实现资源共享,强化部门管理以及部门之间的沟通。这样就不需要每次都是人工来统计考勤数据。也不必要走线下流程打印补卡单浪费资源和减少不必要的费用支出。

2.企业文化方面:如果条件允许,每周三下午四时可以设立下午茶时间,时间可以是十五分钟,再忙也要学会适当放松自己。也是提高工作效率的另一种方式。

工作计划、今后规划做出以下几点规划:

1.工作要注重实效、注重结果,一切工作围绕着目标的完成; 2 立足大局,勤于沟通,分工合作,提高工作效率; 3.把握一切机会提高专业能力,加强平时知识总结工作; 4.精细化工作方式的思考和实践。

以上为本人粗略的个人工作小结,请领导审阅,如工作上有不到之处,请领导多多包涵,不吝指出,以便本人及时改正,从而能更好地工作。展望2018年,我会更加努力、工作上认真负责,再接再厉,更上一层楼。相信自己会完成新的任务,能迎接新的挑战!

研发部Java开发工程师XX 2018年1月25日

2.java培训总结 篇二

在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然。计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,从这方面看,计算机是简单的,复杂的只是人们要对它说的话而已。其实计算机正像吴老师所说:“相比与人,我更喜欢和计算机打交道,因为它必须要完成人的指令,而不能有丝毫抗拒。”

在参加java培训的过程中,我感觉其实生活中很多时候与java编程是存在相似点。比如说我们想做一件什么事情,总是要先考虑下这件事的目的,做这件事需要先准备些什么,中间需要哪些步骤,最后怎样实现等等,这与计算机编程思想惊人的相似,所以说,任何事物发展到极致,必然还是在自然的这个圈子中,受自然规律的束缚,计算机就算功能再强大,也是人们赋予的,必然还是会局限再人们自身的思想当中,用人们固有的解决问题的方法来解决问题,所以就这方面来说,其实计算机语言是简单的,在这段时间的学习生活中,我也认识了很多朋友,大家都对未来怀着美好的憧憬,所以学习时也加倍努力,每天十几个小时的学习让我们平时的生活过的无比充实,每个人对幸福的定义不同,就我个人来说,能每天学习一些新知识,认识一些新朋友,吃得饱,睡的香,这就是幸福。在我们前行的道路上,或许有些许坎坷,但其实人生的快乐正是在起起落落间,只要坚信我们前进的方向正确,总会触摸到天堂。

3.java总结 篇三

 在子类的构造方法中可使用super(argument_list)语句调用父类的构造方法

 如果子类的构造方法中没有显示地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法

 如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错

1public class Person {

3private String name;

4private int age;private Date birthDate;

7public Person(String name, int age, Date d){ 8this.name = name;

9this.age = age;

10this.birthDate = d;

11}

12public Person(String name, int age){ 13this(name, age, null);

14}

15public Person(String name, Date d){ 16this(name, 30, d);

17}

18public Person(String name){

19this(name, 30);}

21// ……

22}

1public class Student extends Person {

2private String school;

4public Student(String name, int age, String s){ 5super(name, age);

6school = s;

7}

8public Student(String name, String s){

9super(name);

10school = s;

11}

12public Student(String s){ // 编译出错: no super()13school = s;

14}

15}

对象构造和初始化细节

 分配存储空间并进行默认的初始化

 按下述步骤初始化实例变量

1.绑定构造方法参数

2.如有this()调用,则调用相应的重载构造方法,然后跳转到步骤5

3.显式或隐式追溯调用父类的构造方法(Object类除外)

4.进行实例变量的显式初始化操作

5.执行当前构造方法的方法体

==操作符与equals方法

==操作符与equals方法的区别:

 引用类型比较引用;基本类型比较值;

 equals()方法只能比较引用类型,“==”可以比较引用类型及基本类型;

 特例:当用equals()方法进行比较时,对类File、String、Date及封装类(Wrapper Class)来说,是比较类型及内容而不考虑引用的是否是同一个实例;

 用“==”进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),否则编译出错;

由装箱引发的——Integer比较的来龙去脉

前置知识: 众所周之,java是保留了int,char等基本数据类型的,也就是说int类型的并不是对象,然而有些方法却需要object 类型的变量,所以java使用了装箱机制,我们可一自豪的这样声明一个整型变量:Integer a = new Integer(10);那么整型的a也就是对象了,那这句是什么意思呢:Integer a= 10;java中可以这样声明一个对象吗?当然不是,从jdk1.5后,java实现了自动装箱,也就是自动将Integer a =10 中的int类型的10转化为了 Integer类型。好,有了前面的只是我们且先看一个题目:

Integer a = 127;

Integer b = 127;

Integer c = 128;

Integer d = 128;

System.out.println(a==b);

System.out.println(c==d);

答案是什么呢? 如果您回答true,false,那么很遗憾的告诉你,哈哈,其实你答对了!!

那我们晕了就相差1的两个数为啥走向了“反目成仇”的地步呢?凭啥127等于127,我128就不等于128呢?且听我慢慢道来,Integer a =127,Integer a=128。

127,128应该不会造成什么差异吧,难道是自动装箱的过程有猫腻?找下源码看看:

private static class IntegerCache {

private IntegerCache(){}

static final Integer cache[] = new Integer[-(-128)+ 127 + 1];static {

for(int i = 0;i < cache.length;i++)

cache[i] = new Integer(i128);

}

这是用一个for循环对数组cache赋值,cache[255] = new Integer(255-128),也就是newl一个Integer(127),并把引用赋值给cache[255],好了,然后是Integer b= 127,流程基本一样,最后又到了cache[255] = new Integer(255-128),这一句,那我们迷糊了,这不是又new了一个对象127吗,然后把引用赋值给cache[255],我们比较这两个引用(前面声明a的时候也有一个),由于是不同的地址,所以肯定不会相等,应该返回false啊!呵呵,这么想你就错了,请注意看for语句给cache[i]初始化的时候外面还一个{}呢,{}前面一个大大的static关键字大咧咧的杵在哪呢,对静态的,那么我们就可以回想下static有什么特性了,只能初始化一次,在对象间共享,也就是不同的对象共享同一个static数据,那么当我们Integer b = 127的时候,并没有new出一个新对象

来,而是共享了a这个对象的引用,记住,他们共享了同一个引用!!,那么我们进行比较a==b时,由于是同一个对象的引用(她们在堆中的地址相同),那当然返回true了!!

然后我们在看Integer c = 128;Integer d = 128;这两句。现在不用我说就应该能明白了吧,当数据不再-128到127之间时,是不执行return

IntegerCache.cache[i + offset];这句的,也就是不会返回一个static的引用,而是执行了return new Integer(i);于是当 Integer d = 128 时,又会重新返回一个引用,两个不同的引用

在做c==d 的比较时当然返回false了!

下面附上本程序的字节码以供喜欢底层的读者参考:

Compiled from “CompareInteger.java”

public class CompareInteger extends java.lang.Object{

public CompareInteger();

Code:

0:aload_0

1:invokespecial#1;//Method java/lang/Object.“”:()V4:return

public static void main(java.lang.String[]);

Code:

0:bipush 127

2:invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

5:astore_1

6:bipush 127

8:invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

11: astore_2

12: sipush 128

15: invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

18: astore_3

19: sipush 128

22: invokestatic#2;//Method

java/lang/Integer.valueOf:(I)Ljava/lang/Int

eger;

25: astore 4

27: getstatic#3;//Field

java/lang/System.out:Ljava/io/PrintStream;

30: aload_1

31: aload_2

32: if_acmpne39

35: iconst_1

36: goto40

39: iconst_0

40: invokevirtual#4;//Method java/io/PrintStream.println:(Z)V43: getstatic#3;//Field

java/lang/System.out:Ljava/io/PrintStream;

46: aload_3

47: aload4

49: if_acmpne56

52: iconst_1

53: goto57

56: iconst_0

57: invokevirtual#4;//Method java/io/PrintStream.println:(Z)V60: return

}

评论:呵呵,这么想你就错了,请注意看for语句给cache[i]初始化的时候外面还一个{}呢,{}前面一个大大的static关键字大咧咧的杵在哪呢,对静态的,那么我们就可以回想下static有什么特性了,只能初始化一次,在对象间共享,也就是不同的对象共享同一个static数据,那么当我们Integer b = 127的时候,并没有new出一个新对象来,而是共享了a这个对象的引用,记住,他们共享了同一个引用!!

呵呵,博主我被你这句话小小的误导了一下,其实你这里说的原理没错,但是把位置说错了,这段代码只是初始化cache:

static {

for(int i = 0;i < cache.length;i++)

cache[i] = new Integer(i-128);

}

但真正让cache[i]为static变量的是这句代码:

4.java学习总结 篇四

这周从HTML学到了mysql:

1.HTML:Hypertext Markup Language超文本标记语言 后缀名为.html或.htm

由两部分组成:head和body

2.body属性:bgcolor、background、bgproperties、text

3.table表格

属性:table、caption、tr、td、th、bgcolor、background、width、height、border、bordercolor、colspan、rowspan、align、valign

4.from表单:主要功能收集信息

表单标记: