1、 一、实习目的进一步了解 java 开发的相关知识,掌握 java 开发的基本技术,丰富 java 开发的实战经验。学习 SQL 的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用 Java 语言的面向对象编程能力;培养我们动手能力;培养我们良 好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流 程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。二、实习单位及岗位介绍1、实习单位介绍河南云和数据信息技术有限公司,专注云计算和大数据及三维可视
2、化相关领域研究与专业服务,是国内目前唯一可同时整合 Oracle、Microsoft、Unity、Baidu 四大国际顶尖 IT 品牌的产品、技术、解决方案及原厂教育资源的高科技公司。云和数据是 Oracle 公司河南 OAEP 中心运营、管理机构,是微软Microsoft Azure 云计算中国首家合作伙伴,是 Unity 公司全线业务在河南的战略合作伙伴,也是百度营销大学、在河南地区的官方授权合作运营机构。云和数据可提供用户数据库管理、分析与设计及性能调优等技术服务,可面向企业与个人提供云计算、3D 虚拟现实、数据分析挖掘等产品与解决方案。发布了国内首创的备贝容灾备份系统,投资建设了理念先
3、进的健康云服务平台,覆盖“终端+应用+平台+服务”整个产业链。云和学院,作为云和数据公司高端 IT 教育品牌,投资 4 亿元,拥有 Oracle、Unity 和百度营销大学原厂授权,可自主进行课程设计与交付。首次把 IT 业 内四大国际顶尖公司的产品、技术、解决方案、教育资源聚合带到河南的同时,一站式解决高校关注的原厂授权教育基地、授权考试中心、授权合作研发中心、科研 实验室技术平台建设,技术支撑、专业共建、师资培养、校企合作、成果转化、学生就业、创业等问题。2、实习岗位介绍我的岗位是 Java 软件工程师。实习期间参与人力资源管理系统的开发,根据开发规范和流程独立完成模块设计、编码、测试。编
4、写相关应用系统的开发文档、数据库设计文档等。较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的能力。三、实习内容及过程1、Java 基础知识Java 的基础知识对于一个 Java 软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候很多都不在乎你会不会流行的技术,如(Struts、Hibernate、 Spring、ibatis 等)。他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的 Java 基础知识,如 类、对象、方法、成员变量、静态变量、封装、继
5、承、多态、异常、接口、抽象类、IO流等等,所以一 个 系统对于 Java 编程基础的依赖便不言而喻。2、MySQL、Oracle 数据库MySQL 是最流行的开放源码 SQL 数据库管理系统,它是由 MySQL AB 公司开发、发布并支持的。MySQL AB 是由多名 MySQL 开发人创办的一家商业公司。它是一家第二代 代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。Oracle 则是以稳定性着称,在访问量和数据大量交换的服务器中,Oracle 占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等。3、Servlet 和 JSP一个 Servlet 就是 J
6、ava 编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然 Servlet 可以对任何类型的请求产生响应,但通常只用来扩展 Web 服务器的应用程序。Java Servlet 技术为这些应用程序定义了一个特定于 HTTP 的 Servlet 类。javax、servlet 和 javax、servlet、http 包为编写 Servlet 提供了接口和类。所有的 Servlet 都必 须实现 Servlet 接口,该接口定义了生命周期方法。JSP 是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态技术标
7、准。在传统的网页 HTML 文件(*、htm,*、html)中加入 Java 程序 片段(Scriptlet)和 JSP 标签,就构成了 JSP网页 Java 程序片段可以操纵数据库、重新定向网页以及发送 E-mail 等,实现建立动态网站所 需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持 Java, 也可以访问 JSP 网页 。Java Servlet 是 JSP 技术的基础,而且大型的 Web 应用程序的开发需要 JavaServlet 和 JSP 配合才能完成。现在许多 Web 服务器都支持 Serv
8、let,即使不直接支持 Servlet 的 Web 服务器,也可以通过附件的应用服务器和模块来支持 Servlet,这得益于 Java的跨平台特性。 另外,由于 Servlet 内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此 Servlet 的效率非常高 。4、三大框架Struts 2 是 Struts 的下一代产品,是在 struts 1 和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与 Struts 1 的体系结构差别巨大。Struts 2 以WebWork 为核
9、心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开,所以 Struts 2 可以理解为 WebWork 的更新产品。虽然从 Struts 1 到 Struts 2 有着太大的变化,但是相对于 WebWork,Struts 2 的变化很小。Hibernate 是一个开放源代码的对象关系映射框架, 它对JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的
10、Web 应用中使用,最具革命 意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由 Rod Johnson 创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的 开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。5、管理系统的开
11、发在开发团队中, 加强了自己的团结精神和集体感, 对工作认真负责, 对团队认真负责。通过这个项目不仅学习到了很多技术也了解了整个项目的大体流程, 从需求分析、数据库设计、详细设计、代码编写、测试、项目维护等方面, 使自己不仅从一个代码编写人员的角度还从一个整体的角度来看整个项目开发, 加深了软件开发概念的理解。不断学习使我对工作有了更进一步的认识和了解。不懂就学、就问, 是一切进步取得的前提和基础。因为有大学专业课的底子和参加过专门的 java 培训使我在工作过程中遇到的技术知识能更快的理解和掌握。工作中时常遇到新的 问题, 就需要查阅相关资料, 请教同事和经理, 一个问题一个问题的解决, 一
12、个困难一个困难的克服, 不仅将原有知识温习巩固, 产生新的理解, 而且学到很多新知识, 有了许多新的认识。但某些认识都还是肤浅的, 还需要我在实践当中去不断深入地理解。现场开发与维护使我不仅从一个开发人员的角度而且从客户的角度去思考问题。在项目的开发后期, 也就是项目即将上线的阶段我与其他几位同事被派往现场去开发与维护项目。以前的开发都是根据需求分析来进行, 功能要求一般在分析里面都写的很清楚, 但是在现场开发直接面对客户, 客户提出的需求一开始只是一个大体的功能描述, 如何将这个只是语言描述的功能转化为技术实现需要很强的抽象能力和对业务的深入理解, 这个过程大大锻炼了自己的综合能力。在第一时
13、间接触客户的需求, 从客户的角度思考问题, 只有更了解客户需求才能更合理的设计软件的结构, 功能。四、实习总结及体会通过这次实习机会,我主要学习了以上这些 java 编程的技术,同时也明白了身处公司中如何更好地与同事配合,毕竟在软件开发中,你不可能一个人干完一个 系统,大家都是通过 svn 等团队管理工具互相配合完成编程任务。在实习之前,我对软件开发的过程只有一个模糊地印象,以为只要把代码编写完之后就算基本上一个项目开发完毕了。然而通过这次实习,彻底颠覆了我的认知,我当时的认知无疑是非常幼稚和可笑的,完全的软件开发过程不只只是编写代码,在编写代码之前还有好多的事情要做,比如文档的编写、对项目进
14、行需求分析、数据库设计等等。代码编写完成之后还要进行测试,以及人员的培训,这些都是必须做,也是必不可少的项目,甚至比代码的编写还重要。我在开发期间遇到很多问题,但是我会试着到网络去找答案,如果实在找不到我会试着问问我的上级,或者跟一些朋友讨论一下,如果发现了这个问题的答案我会及时把它记录下来,方便以后遇到问题可以随时翻阅,我相信好记性不如烂笔头这句话,我也相信如果一个程序员写的代码没有错误那 只能证明他没写过代码,虽然我比较懒,但我现在有空的时候都会对着电脑敲代码,我相信手感是敲出来的,你看 10 遍都不如你敲一遍来得印象深刻。通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,在今后的学习中我会严于律己,认真学习有关软件编程的课,为以后的工作打好坚实的基础。