java实习周记.docx
《java实习周记.docx》由会员分享,可在线阅读,更多相关《java实习周记.docx(7页珍藏版)》请在冰豆网上搜索。
java实习周记
竭诚为您提供优质文档/双击可除
java实习周记
篇一:
java实习周记25篇
第一周
实习第一个礼拜,算是适应期。
主要了解一些公司的背景、产品、发展方向等。
刚到实习公司,不是像学校里的朝九晚五,而是朝八晚九。
我们不可能简单的了解一些企业文化,简单的学学新的知识就可以了,我们的这个实习必将是一个繁忙的实习,也必将是一个充实的,进步的实习。
来到这里,我们要忘掉大学里自由的作息时间,克服困难,养成良好的工作生活习惯。
基于各方面的原因,虽然在去之前我们做了比较充足的准备,但还是遇到了一些困难,例如学习时间长,实战比较繁多,但时间又比较的短,难以保证按时按质按量完成。
下午下了班,员工们都回去了,我还在那儿练习,一直到晚上9点,才能回住处休息。
中午也没有休息的地方,只能趴在电脑前休息一会,一两周下来,相当地疲惫。
但我们都明白自己来实习的任务,都坚持着完成自己的任务和使命。
这个星期熟悉了工作环境、java编程的环境配臵。
等慢慢熟悉起来,做起事情也越来越顺手了.简单的总结为几个字,那就是:
多看,多问,多观察,多思考!
第二周
实习第二个礼拜,主要是熟悉java的基础语法,把基础打扎实,以后在开发中才能如鱼得水。
学习总结如下几点:
1、类之间的关系:
关联、聚合、继承、实现和多态。
2、基本数据类型:
整数型、浮点型、字符型、布尔型。
3、常用逻辑语句和循环语句:
switch只支持int类型判断,没有写break易穿透至下一个循环,jdk7.0貌似增强了支持数据类型。
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–servermodel)或客户端-服务器(client/server)结构简称c/s结构是一种网络架构,它把客户端(client)(通常是一个采用图形用户界面的程序)与服务器(server)区分开来。
每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。
经典c/s系统:
QQ/msn/IcQ…
hTTp协议:
超文本传输协议(hTTp,hyperTextTransferprotocol)是互联网上应用最为广泛的一种网络协议。
第九周
实习第九个礼拜
hTmL:
是一种标记语言、忽略大小写,语法宽松、使用hTmL标记和元素,可以:
控制页面和内容的外观、发布联机文档、使用hTmL文档中插入的链接检索联机信息、创建联机表单,收集用户的信息、执行事务等等、插入动画、开发帮助文件等。
css:
样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字d拥有最高的优先权。
浏览器兼容:
一旦为页面设臵了恰当的DTD,大多数浏览器都会按照上面的图示来呈现内容。
然而Ie5和6的呈现却是不正确的。
根据w3c的规范,元素内容占据的空间是由width属性设臵的,而内容周围的padding和border值是另外计算的。
不幸的是,Ie5.x和6在怪异模式中使用自己的非标准模型。
这些浏览器的width属性不是内容的宽度,而是内容、填充和边框的宽度的总和。
虽然有方法解决这个问题。
但是目前最好的解决方案是回避这个问题。
也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。
这些属性是DIV布局的奠基石。
由于浏览器的不同,盒模式中也有差异,比如说对于宽度盒高度,在不同浏览器中定义是不同的,Ie6
是包含边框、内边距,而FF的只是指内容的宽度。
细节上的差异,往往是我们在日常工作中能总结出来的。
当你的css写的不兼容时候,你自然就会想起这些内容。
第十周
实习第十个礼拜
Javascript是一种基于对象和事件驱动并具有安全性能的脚本语言
基本特点:
基于对象的语言、简单性、安全性、动态性、跨平台性、是一种脚本编写语言、解释型语言(不用编译、直接由浏览器解释执行)
使用typeof操作符判断
nan--notanumber,即非数值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、容器外的资源、forwardvsredirect都能访问内部资源,redirect还可以访问外部资源、使用forward是在后台转发;浏览器也不知道干了什么,所以地址不会变、而redirect要先回到浏览器,告诉浏览器要访问谁,所以浏览器的地址栏要发变化、当访问内部资源时,使用firward效率会更高。
篇二:
java软件开发——顶岗实习周记25篇
实习第一个星期,到广州数鹏通科技有限公司人事部报道。
作为公司的新人,对于各种运作和工作流程都不是很清楚,这就需要我要求自己主动去学习,去了解,以便自己能更好的为公司创造价值
这周,我向开发人员问了我们项目小组需要是用什么技术,如hibernate,spring,ibATIs,jQuery,exTJs,DwR,easyui等等。
了解了以后,我重点看了看jQuery,因为这块比较不熟悉。
之后熟悉了下招聘流程。
接下来帮项目经理做了个项目上线休整的静态“日志列表功能模块”之后画了流程图,如请假申请、设备申请。
在最后一天项目经理要求我看项目,部署项目,虽然其中刚刚开始遇到了不少麻烦,但是通过我主动学习后,问题很快就解决了
从这周开始,我们将开始为期一年的校外实习训练生活,这一周里,我们主要是与公司实习项目经理沟通,制定下实习的主要内容和活动安排。
通过与项目经理的沟通,初步定下我个人实习程序项目,通过myeclipses实现企业商品进销存管理系统,通过编程,达到实现公司项目的统计管理。
同项目经理初步拟定下需求分析,接下来由个人编写实现代码程序。
在同事之间的讨论和研究中,我学习到了不少知识,这都是在我们大学课堂上所疏忽的知识点和重要的实践经验,使我受益非浅,这将成为我今后学习工作的重要财富。
接下来,完成需求文档便可以投入到程序代码的编写中去,这个环节所需要的时间是相当巨大的。
一份分析得透彻的需求文档,将会给我们之后的程序编写带来很多的方便,所以,接下来需要比较细心的完成我这个项目的需求分析文档。
实习第3个星期,实际算是适应期。
主要了解一些公司的背景、产品、发展方向和前景等。
另外,尝试更同事多沟通,多听,从交谈中也能够学到不少东西。
同事们都很热心,很照顾我,经常在我碰到困难的时候便主动伸出援助之手,令我非常感动。
几天之后开始在同事的帮带下,做一些业务相关的工作,主要是在一旁协助处理一下简单的事情。
也就是打根基。
可别小看了这些活,虽说简单,但都是疏忽不得的,每件事情都至关重要,因为它们都是互连的。
为了保证最后能够顺利,前面的每一步基础都要打好。
为了能够真正的使用知识,我很严格的要求自己去做好每一件事情,即使再简单的事情我都会认真考虑几遍,因此,虽然做得不算快,但能够保证让同事们满意。
同事通常也不催促,都把任务安排好,然后便交给我自己去处理,同时还不时提供一些帮助。
等慢慢熟悉起来,做起事情也越来越顺手了。
实习第4周开始,已经逐渐进入状态。
开始独立接触一些业务,项目经理也知道我是一个很新的新手,所以刚开始让我做的,主要是帮其他有经验的同事打打下手,做一些最简单的java类的实现,例如枚举,这就要求我对部门的一些业务流程和项目特点有相当的熟悉。
于是每天我都会非常早起来,准备一些资料在身边已被随时查阅,当然如果这次信息能够放在脑子里那就更好了,于是我一有空就多看几遍,慢慢的熟记在胸。
工作进行的还是比较顺利的工作都是辛苦的,等到假期的时候也不可以安心的休息。
幸好有同事在旁边提示,更多的时候他们帮我,有时候我也帮他们。
大家互相帮助也使问题容易解决得多了。
一个人做就很难一起做就变得非常容易。
我对这段时间的工作非常满意。