范文
菜单

java项目总结

时间: 12-02 栏目:总结
总结一:java项目总结

在通过将近一个月的项目中,使我学到咯很多的东西,也让我看到了我自己的一些在知识上不足,也将使我在后面java web的学习中还要更加努力,以便在以后能找到自己适意的工作,也不枉费在朗沃9个多月的学习,在这次项目中让我学到了很多的东西,不只是代码上的知识,也学谍咯java框架上的一些基本东西,还有层次结构的好处和又来,比如:MVC思想,MVC的又来有开始的两层结构到三成结构的过度以及两层结构的优缺点,以及现在流行的三层结构的优缺点,DAO模式的应用,对象的封装,socket通信的原理以及用socket发送对象等很多的知识点,怎样实现封装使得更好的保护数据,实现java的三大特点,使代码的耦合度降低提高内聚力类和类之间的依赖性降低使模块和模块之间的层次分明,实现代码的复用和实现结构的复用使得开发一个系统的性能更加的优异。    
    
在这次项目中使我对java面向对象的认识有了更时刻的印象,对“万物皆为对象岜整个理念有更深层次的理解,通过和老师的交流和上网了解的一些知识,其实搞软件的实质并不使在代码上实现一个什么什么的功能,你只要愿意去着你用你所学的知识肯定能够实现某一个功能,但学软件的最根本使分析和设计,所以现在市面上会设计的人才使最来钱的人,在软件开发的生命周期中编码其实使占很小一部分工作,数据库设计人员和java的框架技术人员使很赚钱的,也只有对在对象上有更多的了解你才能从代码层次上上升为另一种理念过后你才能在以后的编码中设计出更加优异和性能更高的代码,也只有这样那么你将来才有可能成为一个合格的程序员(不时编码高手),在二个项目中的开发中使我团队开发软件上有了了解,也使我了解了在团队开发软件的时候的一些注意点,不能随便更改类名,方法名悻变量及其修饰符,如果你一时兴起该了的话那么在项目融合的时候问题机会层出不穷,就有可能使你的项目失败,所以规范时很重要的,代码的规范将很大层次上的说明你对代码的熟念度。
    
在这次项目中使我对层次模型有了了解,在你那到一个项目文档的时候你比不使马上就开始编码而是,找到每个层次上类,找到边界类,根据相应的业务设计出数据库原型,在数据库原型出来之后在设计数据库的表和表之间的关系,只有层次模型在你脑海中有深刻的印象的时候那么你的编码当然也就很顺利的实现,层次模型一旦建立那么你代码上实现就围绕这个架构来写,那么你的系统才有可能成功,这样在添加业务或者使更改业务时才很方便更改一个地方不会影响到其他的层次,这样才有可能提高你系统的灵活性和扩展性,这也时衡量一个系统好坏的标准,在这次项目开发中用到咯大量的配置文件比如:用属性文件来建立socket连接,用xml文件在找业务类,这样有使我对配置文件的好处又有了一定的了解:合理的使用配置文件时提高代码灵活性的一个方面,在建立套节字连接的时候用配置文件可以很方便的更改我在那个端口号上建立连接,在看不到源代码的时候我也可以更改在其他端口上建立socket连接,在业务的时候用xml文件来找相应的业务类,这样就可以在还要添加业务的时候只需要在xml文件中在添加业务,在写起相应的代码就可以实现,用配置文件找业务还又一个好处就是在调用业务的时候不用对业务类静态的创建一个对象,而是用反射的方式找到调用那个方法,而是在程序执行的时候在创建对象在对象用完之后在释放资源,这样就可以减少电脑内存的消耗,使得程序的性能更加优异。同时也增强了代码的灵活性。
    
在用JDBC获去数据库连接对象的时候,其实时很有学文的咯,你如果在用连接对象的时候就要数据库建立连接对象,在用完诸后就关闭连接对象,在很多用户同时来运行你的系统的时候,就将产生很多的连接对象,这样有使得你的系统性能降低,很好的解决办法就是用数据库连接池:在程序启动的时候就建立最大连接和最小连接,当多用户请求的时候只需从数据库连接池中那出连接对象,这样就可以减少多次连接对象,开始在最大连接对象和最小领接对象的选择上又有了问题,创建最大连接时多少呢?最小连接有是多少呢?如果一开始最大连接数过多,而用户有很少那么就浪费资源,并且系统启动将会很慢,如果最大连接数过少那么程序启动很快但在启动后运行程序时有会很慢,最小连接数如果很小,那么在很多客户访问的时候将会很慢,合理利用数据库连接池将会很大部分的提高程序的性能、在这次项目还用到了日志文件来记录错误信息,在这次项目中还用到了很多的知识点我就不一一的在这里列举了。顺便给大家几道面试题(是前面部的同学给我说的):

1、谈谈final、 finally、 finalize的区别。

2、HashMap和Hashtable的区别。

3、说说你对ejb的认识。

4、GC是什么? 为什么要有GC?

5、谈谈你对抽象类与接口认识?


总结二:java项目总结

项目的框架:

先由通讯服务器(LISServer)开一个8088端口,当接收到客户端发送的内容,然后将 行解析,然后根据解析出的内容作出相应的回应,这些回应是利用jDBC从数据库掉出 在与数据库连接时要用到一个数据库连接池,连接池的作用是用于避免频繁的链接数据 库,这样可以提高对用户的回应效率。

用到的类有:

LISServer:启动服务器并监听8088端口

DispatchSocket:一个多线程的类,负责处理每个客户端的请求

Requset:请求类,负责客户端发送的请求处理

Response:响应类,负责将数据输出到客户端

WebAppConfigManager:一个负责读取web.xml文件的类,同时生产对应的数据对象, 该数据包含在WebApp类型的对象里,单例模式类

WebApp: 对应xml文件里的<WebApp>节点的类

ServletMapping :对应xml文件里的<ServletMapping>节点的类

BusinessServlet :对应xml文件里的<servlet>节点的类

ConfigDataSource :对应xml文件里的<resource>节点的类

Super :业务抽象类

CCB :建设银行业务类

ICBC :工商银行业务类

BaseDao :业务接口类

InterestBean :数据库ccb表格对应的映射类

MyUser :数据库myuser表格对应的映射类

DBUtil :连接数据库操作类

MyUserDao :负责对myuser表格操作的类

CCBDao :CCB业务处理类,负责对数据库数据操作

ICBCDao:ICBC业务处理类,负责对数据库数据操作

LogInfo :日志文件类

用到的技术和资料:1.网络编程应用2.IO流操作应用3.字符串分解应用4.XML解析(JDOM、DOM4J)应用5.JDBC连接数据库和数据库操作应用6.JUnit测试用例应用7.反射技术应用8.工厂模式应用 9.集合应用 10.数据库连接池应用 11.持久层应用 12.多线程应用 13.日志文件应用14.接口、抽象类应用 15.面向接口,面向抽象,面向父类编程应用 16.properties配置文档。

在这个项目里我知道了团队的合作是很重要的一个元素,一个完美的项目是离不开团队的,而团队的分工可以造就一个完美的项目,团队里的每一个成员都是不可缺少的一个部分,我们在做的这个项目时犯了个很大的错误,就是每个成员都是自己搞自己的,只管把自己的搞好就行了,从来没有想过其他组员的完成是怎样的。这是一个很大的失误。相信在以后我们会很好的发挥出团队的优势。还有就是在项目辩答中老师说的很对,我们只知道学习一些书上的那些很浅很浅的知识,在学习中老师只是把学习的方向给我们指出,其他就要靠自己去钻自己去研究。不是什么都靠老师说的。还有就是在答辩中出了很多答辩题,这些题都可以让我们提升的,在这些题里也可以发现我们的不足之处从而弥补它。我们要做到在项目中学习,在总结中学习,在答辩中完善自己。


总结三:java项目总结

这是一次比较完整的团队合作项目,它要求团队各成员对系统的主体设计搭成一定的共识,这包括数据库设计,需求分析,以及其它一些细节,因此在编码之前的准备工作一定要充分。  

在设计之前,我们两组对于数据库的设计进行了激烈的讨论,最后在一些关键的问题上统一了意见。接下来的工作便是需求分析,具体结构设计,并制订小组项目详细计划,项目的进行将严格按照所制订的计划执行。然后小组成员对各自的数据库进行了设计,并且以数据字典的形式进行了共享。  

企业级人力资源系统分为十个子系统:机构编制管理、人员信息管理、人事档案管理、考勤管理、薪资福利管理、社会保障管理、招聘管理、合同管理、查询统计管理、系统管理。 

我负责人员信息管理子系统,这方面需要处理的业务逻辑比较少,表单比较多,要把握好与其它子系统的关联。员工基本信息表是与其它子系统关联的桥梁,大部分表都涉及到与基本信息表的外键关联。其中,职员编号(employeeId)是作为外键关联的字段,我给它设置了自增长。有人认为在企业里,职员编号应该是有一定规律的数字,而不应该设置自增长。这样的是想法很符合实际情况,后来我和两个组长讨论,认为自增长可以保证数据的唯一性,非自增长的主键在增加时可能遇到不可知的问题,并且其他组员的数据库已经设计好,改起来就麻烦了。因此最终职员编号采用了自增长。  

有了上面的共识,接下来的重要工作便是依次完成表的增删改查、数据校验。其中,分页和批量删除是我计划最后完成的部分,并且一定要完成。  

基本数据校验按各数据格式进行,例如手机号、e-mail等。另一方面要对职员编号与姓名的一致性,职员编号的存进行验证,这些通过DAO里面的方法实现,针对出错,用JS给出友好的提示。  

在做好基本功能的前提下,争取做出特色。我尝试写了Hibernate分页、批量删除的代码,最后都测试成功。同时加入了JS控件,对于一些有特殊格式要求的字段,防止用户填写错误(比如日期的填写格式为yyyy-mm-dd),使系统更加人性化。经过讨论,对员工基本信息主表及与其关联的所有表,配置级联删除。当主表信息被删除时,与之外键关联的子表信息同时被删除。  

回顾这段历程,遇到了一些瓶颈,例如批量删除时如何有效的处理选中的id,要明白它得到的是一个String[],需要转化成int[]就好办了。关于分页,我也是琢磨了好久。在网上看了不少实例,具体实现起来还是一头雾水。就在项目验收的前两天晚上,我决定自己写的试试。第一个方法是需要获取表里面总记录数count,按照套路执行hql,我这样处理了结果:

count = list.size();结果出了问题。数据库里有6条记录,结果打印出count为1。在这里折腾了好久,后来打印list为[6],这下才明白list.size()得到的是list里元素的个数,这个元素是6 ,我需要获取的是元素的是值(基础知识薄弱)。明白这点就好办了,最后我是这样处理的   

String a = list.get(0).toString(); //获取list第一个元素(对象),并转换成String    

count = Integer.parseInt(a);  //将a转换成int,得到count  这样做分页的第一步就完成了。第二天早上比较顺利的完成了剩下的代码并测试成功。 相比网上的分页代码,总的来说我写的很容易看懂,至于它有什么问题目前还不知道。  

通过这次项目经验,我明白了只要想到了,就一定可以做到。不要畏惧,困难并不像想像中的那么可怕。一味的逃避将得不到真正的锻炼。要时刻和队友交流,分享成果。两个人总比一个人知道的多。


总结四:java项目总结

做网上银行这个项目已经接近尾声了,总的来说收获了很多。从开始做项目的头一天开始,陈老师就一在强调了这个项目的总要性。确实这个项目对我们来说很重要,这个项目是我们来朗沃的第一个项目,是把我们之前的OO进行一个串联的复习。在学习JAVA面向对象的时间白老师就向我们说过这样一句话:真实的项目之中编码是花时间最短的一个过程。真正花时间的是在之前的分析设计上面花时间。确实做这次项目让我体会到了这点。编码其实是很快的。难的就在于对这个项目的思路。对这个项目流程要清楚。
   
在做这个项目之中,在冯文老师的带领下也学会了很多东西。也学会了一些好的编码习惯。在之前做作业什么的,从来不会再代码中添加注释之类的。觉得是自己写出来的东西肯定看的懂的撒。觉得写注释有那么点多余似的。然而却不是那么回事,当在做这个项目的过程之中,随着写的方法,写的类越来越多。代码看上去也就越来越复杂。发现不添加注释,半天都理不出来头绪。在这次项目中冯文老师也是反复的强调写一句代码就运行一次,确实我之前的习惯与之相违背。是不管三七二十一,一口气写到底。然后在运行,呵呵。突然报一大堆的错出来。看着这一段红色的错误。于是便没有了勇气在继续下去了。从这次项目之中也体会出了什么叫做螺旋式开发(即增量开发),代码是一点点的累积起来的,在实际的项目之中,也就是一句句的慢慢来写,一个功能一个功能的实现,然后在组成的大型的项目。并不是想象的那样一触而就。
 
在做这个项目的时间出现了很多很多的错误。什么空指针异常,也是最常见的异常。还有什么找不该类什么的,数组下标越界啊,反正很多。随着这个项目的开发。也渐渐的不在对异常那么恐惧了,也对一些异常有了一些认识。比如空指针什么的。在多少的情况之下,就是因为用的的变量。或者对象为空了。在我们不确定的一个对象是否是空的时间。我们用到最常用的方式就是输出一下。如果没输出就为空了。
   
总之这个项目对我们的收益很大。在该文章的结尾的时间发布一点个人的思想情感。一个项目是从一句代码。到一段代码。在到一个功能。在到一个实际的项目,其实就是那么平平凡凡的代码拼接出来的,我由此想到了人生。(不要笑话我高谈阔论哦。因为我天生就是一个幻想家)就比如在成都这个城市吧,看见那么多的人开着这样那样的车的时间吧。我就不由的想自己那一天突然暴富什么的,也就爽歪歪了。然而等自己得意的笑出来的时间。发现周围的人都在看着自己,原来发现这是幻想。其实我们的人生也就跟开发一个项目一样。是一步一步的走出来的。并不是那么一步登天的。其实每个人都懂,但是没得多少人实际的做到了。
为你推荐