Ctrl+D,我们将第⼀时间为⼤家提供更多关于2015年实习报告的信息,敬请期待!
点击查看:
相关推荐: | | | | | | | | | |
计算机java开发实习周记20篇
  第⼀周
  实习第⼀个礼拜,算是适应期。主要了解⼀些公司的背景、产品、发展⽅向等。刚到实习公司,不是像学校⾥的朝九晚五,⽽是朝⼋晚九。我们不可能简单的了解⼀些企业⽂化,简单的学学新的知识就可以了,我们的这个实习必将是⼀个繁忙的实习,也必将是⼀个充实的,进步的实习。来到这⾥,我们要忘掉⼤学⾥⾃由的作息时间,克服困难,养成良好的⼯作⽣活习惯。基于各⽅⾯的原因,虽然在去之前我们做了⽐较充⾜的准备,但还是遇到了⼀些困难,例如学习时间长,实战⽐较繁多,但时间⼜⽐较的短,难以保证按时按质按量完成。下午下了班,员⼯们都回去了,我还在那⼉练习,⼀直到晚上9点,才能回住处休息。中午也没有休息的地⽅,只能趴在电脑前休息⼀会,⼀两周下来,相当地疲惫。但我们都明⽩⾃⼰来实习的任务,都坚持着完成⾃⼰的任务和使命。这个星期熟悉了⼯作环境、java编程的环境配臵。等慢慢熟悉起来,做起事情也越来越顺⼿了.简单的总结为⼏个字,那就是:多看,多问,多观察,多思考!
  第⼆周
  实习第⼆个礼拜,主要是熟悉java的基础语法,把基础打扎实,以后在开发中才能如鱼得⽔。学习总结如下⼏点:
  1、类之间的关系:关联、聚合、继承、实现和多态。
  2、基本数据类型:整数型、浮点型、字符型、布尔型。
  3、常⽤逻辑语句和循环语句:switch只⽀持int类型判断,没有写break易穿透⾄下⼀个循环,jdk7.0貌似增强了⽀持数据类型。
  4、Break:强⾏退出循环;Continue:跳出当前循环。
  5、修饰符:pbulic,private,protected,default。设臵访问权限。
  6、Static关键字:静态修饰符,它修饰的⽅法、类和变量可以全局调⽤。
  7、Final关键字:禁⽌重写。
  8、This关键字:指向⾃⾝引⽤。
  9、string:是不可变的字符序列。(两个string变量必须⽤copy的⽅式在内存中new出新的数据块)
  10、stringBuffer:是可变的字符序列,可以直接添加字符。
  第三周
  实习第三个礼拜,主要是熟悉java的⾼级语法(核⼼)
  继承:⼦类继承⽗类的所有属性和⽅法,如果⽅法和属性被private修饰,⼦类则⽆法读取。⼦类使⽤Super关键字继承。⽗类⽆法调⽤⼦类⽅法。构造⽅法:⽅法名称必须与类名相同,且没有返回值。Object类是所有类的⽗类,即java中的根类。⽆参构造⽅法默认继承object的。(构造⽅法的重载,实现不同参数的构造)
  重载:⽅法相同,参数类型不同,数量不同。构造⽅法中也常使⽤⽅法重载。重写:重写⽅法必须和被重写⽅法具有相同参数列表、相同⽅法和相同返回值。重写⽅法不能使⽤⽐被重写⽅法更严格的访问权限。
  抽象:抽象类被继承后,⽅法必须被重写并实现,否则⼦类也还是抽象类。抽象⽅法只需声明,⽆需实现。接⼝:实现关键字implements。接⼝中所有成员变
  量和⽅法都是public。接⼝可以继承其他接⼝,并添加新的属性和⽅法。接⼝和实现类之间存在多态。
  多态:三个必要条件分别是继承、重写和⽗类引⽤⼦类对象。(java的核⼼思想)
  第四周
  实习第四个礼拜,主要熟悉了java的⾼级应⽤
  线程:进程是运⾏中的应⽤程序,是⼀套顺序执⾏的指令,每个进程都有⾃⼰独⽴的内存空间。线程是⼀个并发执⾏的顺
序流,⼀个进程包括多个顺序执⾏流程,这些流程称为线程。  JVM 就是⼀个进程,在JVM 中分出线程,⽐如main()就是主线程。同时开辟并发执⾏的序列即多线程。调⽤start()⽅法,线程启动;run()⽅法结束,线程就终⽌。线程是⼀个操作系统创建并维护的⼀个资源。对于单CPU 系统来说,某⼀个时刻只可能由⼀个线程在运⾏。⼀个Thread 对象就表⽰⼀个线程。进程的数据空间独⽴;线程的数据空间共享, 能充分使⽤CPU 的资源。线程间通信更容易。共享数据就要加锁、解锁,会降低效率。
  I/O:是在JVM 和外部数据源之间交换数据。按数据传输⽅向划分:输⼊流和输出;按数据单位划分:字节流和字符流;过滤流⽤来封装节点流或者其他过滤流,从⽽给节点流或其他的过滤流增加功
能。
  第五周
  实习第五个礼拜,使⽤Collection框架做派叫号系统
  ⾸先分析项⽬需求,概述如下:
  1.产品参与者
  顾客:到营业⼤厅排队取号
  柜员:提供业务服务的柜台业务员
  管理员:负责对业务类型、业务受理情况进⾏实时查看、调配的管理者
  2.功能需求
  1)、取号:顾客来到营业⼤厅通过取号机取号,可以选择⾃⼰要办理的业务类型。取号后⾃动进⼊排队中。等待叫号;
  2)、叫号:柜员可以通过叫号端进⾏重复呼叫、暂停服务和转移。叫号端可是软件也可以是硬件设备;
  3)、管理业务类型:管理⼈员可以通过后台管理进⾏业务类型的管理。可以添加、禁⽤、修改⼀种业务类型,为某种业务类型可以设臵每天办理量;
  4)、管理窗⼝:管理⼈员可以通过后台管理对业务窗⼝进⾏管理。可以为某个窗⼝指定办理某种业务类型;
  5)、统计整合数据:系统可以定时的整合数据,将分散在每天的数据按⼈、业务类型、时间进⾏整合,可以将统计数据输出成图表形式;
  6)、查看办理情况:可以查看当前流量、已经办理、未办理的⼈数。当前办理效率,历史数据等等;
  7)、记录⽇志:系统对关键的地⽅进⾏⽇志记录,以便系统可以在出错时进⾏调试和处理。  实施代码编写。第⼀个项⽬设计,感觉难度很⼤。之前所学的是零零散散的知识点,现在要把之前所学的知识连贯起来,刚开始不知道怎么去连贯,后来看了需求分析⽂档,分析图,慢慢的有点思路。在后⾯的做项⽬的过程中,遇到了太多的问题,通过⾃⼰的思考、问同事,问⽼师慢慢的解决了。⽽在第⼀个项⽬中也学到了很多东西。
  第六周
  1、数据库范式作⽤:尽可能减少数据冗余、保证数据完整性、识别出实体、关系以及表的缺失
  第⼀范式:字段都为单⼀属性,且属性为基础类型
  第⼆范式:属性必须完全依赖关键字
  第三范式:⾮主键属性不能依赖其他的⾮主键属性
  mysql 的学习,在学校⾥我对mysql已有了初步的了解。指导⽼师教我要灵活多变,什么时候要⽤到临时表,嵌套查询,存储过程⽤的地⽅等,叫我多看⼏个例⼦,并敲下代码运⾏下,体会⾥⾯的数据⽣成,查询出⾃⼰要的数据等。然后再根据这些数据写出语句,⽣成需要的流程,这就是数据挖掘的精髓!那么存储过程与⼀般的 SQL语句有什么区别呢?
  存储过程的优点:
  1.存储过程只在创造时进⾏编译,以后每次执⾏存储过程都不需再重新编译,⽽⼀般sql语句每执⾏⼀次就编译⼀次,所以使⽤存储过程可提⾼数据库执⾏速度。
  2.当对数据库进⾏复杂操作时(如对多个表进⾏
  Update,Insert,Query,Delete时),可将此复杂操作⽤存储过程封装起来与数据库提供的事务处理结合⼀起使⽤。  3.存储过程可以重复使⽤,可减少数据库开发⼈员的⼯作量
  从中我学到了:存储过程是数据在存储到数据库的过程中,可以对这些数据进⾏操作,不然数据就是直接从页⾯获取,直接原样存储。
  第七周
  实习第七个礼拜,为了进⼀步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验,代码的复⽤性。学习SQL的基础知识及正确的运⽤⽅法,和有⽤的相关技术,提⾼⾃⼰的⼯作效率。通过项⽬重构,培养我们综合运⽤已学知识Java语⾔的⾯向对象编程能⼒;培养我们动⼿能⼒;培养我们良好编程规范、编程⽅法;以便能较全⾯地理解、掌握和综合运⽤所学的知识,提⾼⾃⾝的编程能⼒;增强⾃⼰的团队协作意识,了解软件开发的思考⾓度和主要流程。为以后能够更快地进⼊⼯作状态并且能够更好的⼯作,打好⼀定的基础。
  从这⾥,我才真正的意识到实施⼀个软件⼯程并不是说简单的会编码就能够解决问题的,我们更多的精⼒不是放在编码上,编码只是⼀个很⼩的模块,只占到那么⼩的⼀个部分。这个事实在很⼤程度上*了我以前的思想,在我以前的认识中,似乎整个软件就是编码,除此⽆它,还好有⽼师的指导,不然真的会出现⽼师所说的,撞得头破⾎流之后才想起来⽤软件⼯程的思想来完成这个⼯作。
  项⽬程序的编程是⼀个⾮常烦琐⽽枯燥的过程,需要耐⼼和毅⼒去完成,不然中途出现过多的错误,会使之后的校验略显费时。
  实习项⽬的代码编写,从⽽进⼊到后期的校对和验收过程,但同时也少不了反复的调试和修改,为我的程序软件更加简单更加实⽤。
  第⼋周
  实习第⼋个礼拜,主要了解页的基本架构B/S 架构:浏览器-服务器(Browser/Server)结构,简称B/S结构与C/S结构不同,其客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web服务器与数据库进⾏交互,可以⽅便的在不同平台下⼯作。服务器端可采⽤⾼性能计算机,并安装Oracle、Sybase、Informix等⼤型数据库。
  B/S结构简化了客户端的⼯作,它是随着Internet技术兴起⽽产⽣的,对C/S技术的改进,但该结构下服务器端的⼯作较重,对服务器的性能要求更⾼。C/S架构:主从式架构(Client–server model) 或客户端-服务器(Client/Server)结构简称C/S结构是⼀种络架构,它把客户端(Client) (通常是⼀个采⽤图形⽤户界⾯的程序)与服务器(Server) 区分开来。
  每⼀个客户端软件的实例都可以向⼀个服务器或应⽤程序服务器发出请求。经典C/S系统:QQ/MSN/ICQ…
  HTTP协议:超⽂本传输协议(HTTP,HyperTextTransfer Protocol)是互联上应⽤最为⼴泛的⼀种络协议。
  第九周
  HTML :是⼀种标记语⾔、忽略⼤⼩写,语法宽松、使⽤ HTML 标记和元素,可以:控制页⾯和内容的外观、发布联机⽂档、使⽤ HTML ⽂档中插⼊的链接检索联机信息、创建联机表单,收集⽤户的信息、执⾏事务等等、插⼊动画、开发帮助⽂件等。
  CSS:样式会根据下⾯的规则层叠于⼀个新的虚拟样式表中,其中数字 d 拥有的优先权。浏览器兼容:⼀旦为页⾯设臵了恰当的 DTD,⼤多数浏览器都会按照上⾯的图⽰来呈现内容。然⽽ IE 5 和 6 的呈现却是不正确的。根据 W3C 的规范,元素内容占据的空间是由 width 属性设臵的,⽽内容周围的 padding 和 border 值是另外计算的。不幸的是,IE5.X 和 6 在怪异模式中使⽤⾃⼰的⾮标准模型。这些浏览器的 width 属性不是内容的宽度,⽽是内容、填充和边框的宽度的总和。
  虽然有⽅法解决这个问题。但是⽬前的解决⽅案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,⽽是尝试将内边距或外边距添加到元素的⽗元素和⼦元素。这些属性是DIV布局的奠基⽯。由于浏览器的不同,盒模式中也有差异,⽐如说对于宽度盒⾼度,在不同浏览器中定义是不同的,IE6   是包含边框、内边距,⽽FF的只是指内容的宽度。细节上的差异,往往是我们在⽇常⼯作
中能总结出来的。当你的CSS写的不兼容时候,你⾃然就会想起这些内容。
  第⼗周
  JavaScript是⼀种基于对象和事件驱动并具有安全性能的脚本语⾔
  基本特点:基于对象的语⾔、简单性、安全性、动态性、跨平台性、是⼀种脚本编写语⾔、解释型语⾔(不⽤编译、直接由浏览器解释执⾏)
  使⽤typeof操作符判断
  NaN--not a number,即⾮数值a、NaN⽤于表⽰⼀个本来要返回数值的操作数未返回值的情况;b、任何涉及NaN的操作都会返回NaN;c、NaN与任何值都不相等包括NaN本⾝,返回false
  isNaN函数--判断某个值是否为数值
  如果是数字值,返回本⾝、如果是null,返回0、如果是undefined,返回NaN、如果是字符串,遵循以下规则:
  -–如果字符串中只包含数字,则将其转换为⼗进制(忽略前导0)
  -–如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0) -–如果是空字符串,将其转换为0
  -–如果字符串中包含⾮以上格式,则将其转换为NaN
  如果是对象,则调⽤对象的valueOf()⽅法,然后依据前⾯的规则转换返回的值。如果转换的结果是NaN,则调⽤对象的toString()⽅法,再次依照前⾯的规则转换返回的字符串值。
  parseInt- 将字符串转换为整数类型的数值,规则如下、忽略字符串前⾯的空格,直⾄到第⼀个⾮空字符、如果第⼀个字符不是数字符号或者负号,返回NaN、如果第⼀个字符是数字,则继续解析直⾄字符串解析完毕或者遇到⼀个⾮数字符号为⽌、如果上步解析的结果以0开头,则将其当作⼋进制来解析;如果以0x开头,则将其当作⼗六进制来解析。
  第⼗⼀周
  Servlet⽣命周期
  Servlet 的并发问题:在Servlet中使⽤静态变量和成员变量是,要⾮常⼩⼼。如果你的程序改变这些变量值的时候,就会发⽣并发问题。如果从不会去改变,只是读取,则不会发⽣并发局部变量永远不会有并发问题。Servlet的并发处理:不使⽤静态变量和成员变量、如果⼀定要使⽤,要加锁,但会影
响性能
  资源访问:WebRoot下⾯的都叫容器内的资源、Servlet、容器外的资源、forward vs redirect 都能访问内部资源,redirect 还可以访问外部资源、使⽤forward是在后台转发;浏览器也不知道⼲了什么,所以地址不会变、⽽redirect 要先回到浏览器,告诉浏览器要访问谁,所以浏览器的地址栏要发变化、当访问内部资源时,使⽤firward效率会更⾼。
  Session 是容器为每个客户端开辟内存空间,专;第⼗⼆周;实习第⼗⼆个礼拜;MVC:Model--职责分明,便于风开发、优点;JSP技术使⽤Java编程语⾔编写类XML的ta;Web服务器在遇到访问JSP页的请求时,⾸先执;JSP与JavaServlet⼀样,是在服务器端;JSP:为什么要学EL和 jstl、在⼀个系统中,;EL表达式:${属性名}//属性Session 是容器为每个客户端开辟内存空间,专门⽤来保持状态信息、 Session需要⼀个id来标识:sessionid、要求客户端要保留id、每⼀次访问时都带上这个id、a、Session的基本特点:保存在服务器端(安全性⾼,保护隐私)、类似Hashtable的数据结构保存、⽀持任何类型的对象、b、保存会话id的技术(aporia)、Cookie表单隐藏字段、c、获取Session、d、Session存取信息、e、设臵Session的有效时间
  第⼗⼆周
  MVC:Model--职责分明,便于风开发、优点:解耦,职责分明,便于分⼯开发、缺点:分成三部分,
造成系统架构复杂,对于⼩系统不适合、造成调试困难,⼀旦出现错误,可能是Model,也可能是view也可能是control、对开发⼈员要求⽐较⾼。
  JSP 技术使⽤Java编程语⾔编写类XML的tags和scriptlets,来封装产⽣动态页的处理逻辑。页还能通过tags和scriptlets访问存在于服务端的资源的应⽤逻辑。JSP将页逻辑与页设计和显⽰分离,⽀持可重⽤的基于组件的设计,使基于Web的应⽤程序的开发变得迅速和容易。
  Web服务器在遇到访问JSP页的请求时,⾸先执⾏其中的程序段,然后将执⾏结果连同JSP⽂件中的HTML代码⼀起返回给客户。插⼊的Java程序段可以操作数据库、重新定向页等,以实现建⽴动态页所需要的功能。
  JSP与JavaServlet⼀样,是在服务器端执⾏的,通常返回给客户端的就是⼀个HTML⽂本,因此客户端只要有浏览器就能浏览。
  JSP:为什么要学EL和jstl、在⼀个系统中,页⾯通常是由美⼯开设计完成,美⼯并不懂java语⾔、当美⼯看到页⾯上充满着java代码时,会⼲扰美⼯维护页⾯,造成维护困难、如何做到动态页⾯没有java代码?EL表达式和JSTL。
  EL 表达式:${ 属性名 } //属性名是调⽤对象的setAttribute(属性名,属性值)、在servlet往范围对象中
设臵属性,forward到⽬标页⾯、EL访问常量值,直接输出 ${ 常量 }、可以使⽤==判断字符串、存取器[] 读取对象的值、使⽤.可以访问对象的属性,读取map的key、读取数组只能⽤[]。
  第⼗三周
  功能需求如下:
  这是⼀个上在线购物系统(B2C)。
  系统需要提供上购物的功能。
  ⽤户能够随意浏览商品,并能获取商品的详细信息,如图⽚预览、商品描述等。  系统能够向⽤户提供⼀些浏览信息,让⽤户能够快速的了解系统出售商品信息,如特价促销,店长推荐,排⾏榜,新上架商品等。
  系统能够提供3级分类商品。
  系统能够提供品牌分类。  系统能够提供公告信息,让⽤户快速了解系统的通告信息。
  系统能够提供论坛的⽅式,供⽤户发表对商品的评论的功能。
  系统能够提供搜索功能,让⽤户快速了解他需要的产品。
  ⽤户在浏览3级分类商品的时候,需要体统⾼级筛选功能,如不同⽅式浏览商品信息、按价格排序商品,按规格浏览商品等功能。
  ⽤户购物需要注册成为本系统的会员,并能随时修改⾃⼰的信息(如收货信息等)。
  会员能够收藏⾃⼰喜欢的商品,并能随时关注该商品。
  会员能够查看已购买的商品。
  会员能够完成与论坛的相关功能。
  总结:通过实战,发现⾃⼰学得不是⾃⼰想象的那么好,有些功能还是做不出来。通过新⾖商城项⽬,发现⾃⼰的不⾜,跟同事之间的交流中,能学到很多新知识。简单的总结为⼏个字,那就是:多看,多问,多观察,多思考!
  第⼗四周
  ⼀、 AJAX是什么?在传统的web应⽤中,⽤户与应⽤的每⼀次交互,都是⾸先⽤户通过浏览器向服
务器端发送⼀个请求,服务器解析这个请求,将相应的响应信息返回给浏览器。在服务器端业务逻辑⾮常复杂或者需要耗时较长的情况下,浏览器等待刷新时,页⾯经常是⼀⽚空⽩,⽤户只能被动等待服务器端响应完成,在此期间客户不能在页⾯上做任何操作,带给⽤户⾮常糟糕的体验。它包括:基于XHTML和CSS标准的表⽰;使⽤DOM进⾏动态显⽰和交互;使⽤XML和 XSLT进⾏数据交换与处理使⽤XMLHttpRequest与服务器进⾏异步通信;使⽤JavaScript绑定⼀切。
  ⼆、使⽤AJAX 的利弊:使⽤AJAX,可以为开发⼈员、终端⽤户带来可见的便捷:减轻服务器的负担。AJAX的原则
是“按需取数据”,可以程度的减少冗余请求和响应对服务器造成的负担。⽆刷新更新页⾯,减少⽤户⼼理和实际的等待时间。特别是当读取⼤量数据的时候,AJAX使⽤XMLHTTP对象发送请求并获取服务器响应,在不重新载⼊整个页⾯的情况下⽤Javascript操作DOM最终更新页⾯。在读取数据的过程中,⽤户⾯对的不是⽩屏,是原来页⾯的内容,⽤户可以继续进⾏其他操作,只有当数据接收完毕之后才更新相应部分内容。带来更好的⽤户体验。⼀直以来,B/S程序在⽤户易操作性、界⾯友好性上跟C/S相⽐都有较⼤的差距,随着AJAX的应⽤,这种情况将得到较⼤的改观。可以把以前服务器负担的⼀些⼯作转嫁到客户端,利⽤客户端闲臵的能⼒来处理,减轻服务器的负担。 第⼗五周
  XML:概念:可扩展的标记语⾔、优点:结构化,平台、语⾔⽆关,标准的
  XML读写XML格式的⽂档,完成数据交换、声明:⼤多数XML⽂档以XML声明作为开始、建议使⽤XML声明,但它不是必需的。如果有,它⼀定是⽂档的第⼀⾏内容。、注释、实体:不能直接表⽰的符号、五个实体、⾃定义实体、CDATA:⼀段⽂本,不会被解析器解析。
  Log4j:是Apache的⼀个开放源代码项⽬,通过使⽤Log4j,我们可以控制⽇志信息输送的⽬的地是控制台、⽂件、GUI 组件、甚⾄是套接⼝服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每⼀条⽇志的输出格式;通过定义每⼀条⽇志信息的级别,我们能够更加细致地控制⽇志的⽣成过程。
  Log4j 由三个重要的组件构成:⽇志信息的优先级,⽇志信息的输出⽬的地,⽇志信息的输出格式。⽇志信息的优先级从⾼到低有ERROR、WARN、 INFO、DEBUG,分别⽤来指定这条⽇志信息的重要程度;⽇志信息的输出⽬的地指定了⽇志将打印到控制台还是⽂件中;⽽输出格式则控制了⽇志信息的显⽰内容。
零基础学java编程  第⼗六周
  Hibernate是⼀个开放源代码的对象关系映射框架,它对JDBC进⾏了⾮常轻量级的对象封装,使得Java程序员可以随⼼所欲的使⽤对象编程思维来操纵数据库。 Hibernate可以应⽤在任何使⽤JDBC的场合,既可以在Java的客户端程序使⽤,也可以在Servlet/JSP的Web应⽤中使⽤,⾰命意义的是,Hi
bernate可以在应⽤EJB的J2EE架构中取代CMP,完成数据持久化的重任。数据库设计:a) 降低关联的复杂性、b) 尽量不使⽤联合主键、c) ID的⽣成机制,不同的数据库所提供的机制并不完全⼀样、d) 适当的冗余数据,不过分追求⾼范式
  2、 HQL优化:HQL如果抛开它同HIBERNATE本⾝⼀些缓存机制的关联,HQL的优化技巧同普通的SQL优化技巧⼀样,可以很容易在上到⼀些经验之谈。
  加载策略:延迟加载vs⽴即加载、-延迟加载(默认) 不会⽴即命中数据库,使⽤数据时命中、在可以改变为⽴即、*使⽤数据必须在session关闭之前、-⽴即加载:⽴即命中数据库,不管有没有数据
  抓取策略、查询抓取:(N+1)、连接抓取:需要在关联的对象中设臵fetch="select|join"、N+1 与 1+M:-针对⼀端,如果查询有m个对象,这时会先发送1条sql语句查出m个对象,然后再发送m条sql语句查关联对象,这就是1+M、-针对多端,如果查询有n个对象,那么对每个对象需要重新发送⼀条sql语句,这就是n+1。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。