《java程序员实习周记15971.pdf》由会员分享,可在线阅读,更多相关《java程序员实习周记15971.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、java 程序员实习周记 java 程序员实习第一周 XML:概念:可扩展的标记语言、优点:结构化,平台、语言无关,标准的 XML 读写 XML 格式的文档,完成数据交换、声明:大多数XML 文档以 XML 声明作为开始、建议使用 XML 声明,但它不是必需的。如果有,它一定是文档的 java 程序员实习第一行内容。、注释、实体:不能直接表示的符号、五个实体、自定义实体、CDATA:一段文本,不会被解析器解析。Log4j:是Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIXSy
2、slog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。Log4j 由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有 ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。java 程序员实习第二周Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操
3、纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。数据库设计:a)降低关联的复杂性、b)尽量不使用联合主键、c)ID 的生成机制,不同的数据库所提供的机制并不完全一样、d)适当的冗余数据,不过分追求高范式 2、HQL优化:HQL 如果抛开它同 HIBERNATE 本身一些缓存机制的关联,HQL 的优化技巧同普通的 SQL 优化技巧一样,可以很容易在网上找到一些经验之谈。加载策略
4、:延迟加载 vs 立即加载、-延迟加载(默认)不会立即命中数据库,使用数据时命中、在可以改变为立即、*使用数据必须在 session 关闭之前、-立即加载:立即命中数据库,不管有没有数据抓取策略、查询抓取:(N+1)、连接抓取:需要在关联的对象中设臵 fetch=select|join、N+1 与 1+M:-针对一端,如果查询有 m 个对象,这时会先发送 1 条 sql 语句查出 m 个对象,然后再发送 m 条 sql 语句查关联对象,这就是 1+M、-针对多端,如果查询有 n 个对象,那么对每个对象需要重新发送一条 sql 语句,这就是 n+1。事务控制:事务方面对性能有影响的主要包括:事务
5、方式的选用,事务隔离级别以及锁的选用 a)事务方式选用:如果不涉及多个事务管理器事务的话,不需要使用 JTA,只有 JDBC 的事务控制就可以。b)事务隔离级别:参见标准的 SQL 事务隔离级别 c)锁的选用:共享锁、独占锁、更新锁、死锁、悲观锁、乐观锁。java 程序员实习第三周前面做过的新豆商城,使用 JDBC来连接数据库,现在学习了 Hibernate,所以把所有连接数据库的代码转变成hibernate来连接。为什么选择Hibernate:由于是对JDBC的轻易级封闭,内存消耗少,最快的运行效率。、开发效率高,Eclipse、JBuilder 等主流 JAVA 集成开发环境对 Hiber
6、nate 有很好的支持,在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate 效率高的惊人。分布式,安全检查,集群,负载均衡的支持。轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。具有可扩展性,API 开放,当本身功能不够用的时候,可以自己遍码进行扩展。对 JDBC 访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。总结:通过 hibernate 连接,发现比以前用 JDBC 连接的代码量要少很多,简洁很多。唯一不好的是在 XML 的配臵文件中,经常会有错误。我相信,这只是我对hibernate 不熟悉造成的,当对 hibernate 使用多了,这
7、些问题就迎刃而解。java程序员实习第四周在之前的项目基础上,实现以下功能:系统可以分为不同权限的管理员,管理本系统,如商品管理员、系统管理员等。系统管理员可以配臵一些信息管理本系统。系统可以管理商品(添加、删除、修改、查询)。系统可以管理商品分类(添加、删除、修改、查询)。系统可以管理品牌(添加、删除、修改、查询)。系统可以管理论坛,根据商品分类创建论坛分类。自定义分类等。系统可以的论坛管理功能等,此处不再详细累赘。系统可以进行订单管理功能。系统可以进行用户管理功能。公告管理管理。模板管理功能。支付用送货管理。难点:顾客的购物功能 1.顾客点击商品信息页的购买按钮,传递商品 id、颜色到系统
8、,系统根据客户传递的值将商品放入购物车中,然后显示购物车页面。顾客依此往复,添加产品。2.顾客可以修改购买商品的数量,此处使用 Ajax 技术,动态刷新页面及商品小计金额和总金额。3.顾客可以删除购物车中的商品,此处仍然使用 Ajax 技术。4.顾客点击计算按钮的时候,弹出结算页面,顾客选择送货方式、付款方式、以及修改送货地址等。用户还可以选择使用豆豆支付商品。5.顾客点击提交完成本次购物,即完成一次订单购物。总结:通过实践才能学到更多,更了解自己学会了多少。简单的总结为几个字:多看,多问,多观察,多思考!java程序员实习第五周项目重构是团体合作,由 6 个人一起完成。要一起讨论包的命名、实
9、体类。之后由技术总监把包的命名规范上传到共享区,团队做项目需要用到 JIRA 来跟进每天的任务。每个人还需要写总结:今天做了什么?做的过程中遇到的一些问题?明天打算做什么?这样项目经理才知道你今天完成了哪些内容。我的任务主要是做后台产品的管理,添加产品、修改产品、删除产品、以及产品图片的上传功能。用户订单的实现。在团队合作中,我们提出的志同道合的口号就是团队精神的具体表现,没有一个共同的工作目标一切都很难实现,集体主义的具体表现就是团队精神,在我们工作中离不开团队精神的指引,团队离不开统一的指挥,才能保证团队的顺利工作和工作成绩的取得,这就是团队精神的巨大作用,在我们不同的历史时期,团队精神发
10、挥了不同的作用,有一点是可以值得大家重视的就是,在凝聚人心鼓舞士气方面都具有十分重要的作用。在这里,我明白了团队合作的重要性。在接下来的代码实施中,工作进行的很顺利。java程序员实习第六周在新豆商城的项目设计中,总结:需求分析是重点。前台需求分析,系统前台拥有 2 种用户,即浏览使用本系统的顾客,当顾客注册为本系统的会员时,即本系统的 java 程序员实习第 2 种。功能描述如下:浏览、注册、搜索、购物、登陆、消息功能、个人资料修改、收货地址、积分交易、订单查看等。用例图如下:(略)需求分析,系统后台拥有多种用户,简单描述如下:商品管理员、系统管理员等。由于时间关系,本系统后台前期可能不做开
11、发。预想在后期专门开发权限管理栏目,可以根据需要产生多种管理员以分配不同的;功能描述如下:商品管理、商品分类管理、品牌管理、;后台用例图如下:;系统管理员;java 程序员实习第二十一周;实习 java 程序员实习第二十一个礼拜;struts是开源软件;软件工程师使用 Struts 为业务应用的每一层提供;Action,这个类通常由用户提供,该控制器负责;Model 部分:由 JavaBean 组成,Acti;View 部分:该部分采用管理栏目,可以根据需要产生多种管理员以分配不同的权限进行管理。功能描述如下:商品管理、商品分类管理、品牌管理、订单管理、送货方式管理、会员管理、公告管理、模板管
12、理、论坛分类管理、帖子管理、系统配臵、支付管理等。后台用例图如下:(略)java 程序员实习第七周 struts 是开源软件。使用 Struts 的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用的时间。如果我们想混合使用 Servlets 和 JSP 的优点来建立可扩展的应用,struts是一个不错的选择。软件工程师使用 Struts 为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用 Servlets 和 JSP 的优点来建立可扩展的应用
13、。Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet 的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给 JSP 页面显示。Model 部分:由JavaBean 组成,ActionForm 用于封装用户的请求参数,封装成 ActionForm 对象,该对象被 ActionServlet 转发给 Action,Action 根据 ActionForm 里面的请求参数处理用户的请求。JavaBean 则封装了底层的业务逻辑,包括数据库访问等。View 部分:该部分采用 JSP 实现。Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用
14、,自定义的标签库可以实现与 Model 的有效交互,并增加了现实功能。对应上图的 JSP 部分。Controller 组件:Controller 组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由 Struts 框架提供,继承HttpServlet类,因此可以配臵成标注的 Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应 Action 部分。总结:学习了才知道 struts 很强大。java 程
15、序员实习第八周 Spring 也是一个开源框架,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。传统 J2EE 应用的开发效率低,Spring 作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务、事务处理等。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言 Spring 都是轻量的。完整的 Spring 框架可以在一个大小只有 1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不
16、足道的。此外,Spring是非侵入式的:典型地,Spring 应用中的对象不依赖于 Spring 的特定类。控制反转 Spring 通过一种称作控制反转(IoC)的技术促进了松耦合。面向切面 Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。容器 Spring 包含并管理应用对象的配臵和生命周期,在这个意义上它是一种容器,你可以配臵你的每个 bean 如何被创建基于一个可配臵原型,你的 bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。框架 Spring 可以将简单的组件配臵、组合成为复杂的应用。在 Spr
17、ing 中,应用对象被声明式地组合,典型地是在一个 XML 文件里。Spring 也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有 Spring 的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为 Spring 中的各种模块提供了基础支持。java 程序员实习第九周项目概述:融合通信产品是一款基于云计算体系架构,融合所有通讯录,集中管理用户通讯会话的工具。它以融合通信录为关系链,提供多种通信方式并融合至统一入口,并融合互联网热点应用,提供进入互联网的入口,可根据实际政企用户的定制需求增加扩展功能。功能范围:支持 android 系统手机,
18、暂不支持 iphone。处理流程:导航栏:用于在层级结构的信息中导航,也可以用来管理屏幕信息标签栏:Tab 栏用于切换子任务、视图和模式。内容栏:显示页面内容的区域列表视图:列表视图在一行行格子里展示信息,可以划分为块或进行归组。用户可以拖动内容,以显示更多行。用户可以点击选中一项,然后用控件增加或删除行,选中多拍,查看某一行的更多信息或者展开另一个表示视图。当用户选中某项目时,表格会短暂地高亮。浮出层:浮出层是一种临时的视图方式,可以通过用户点击控件或区域来召唤。分段控件:是一条分割成多段的线,每一段都像是按钮,可以激活一种视图方式。关联菜单:通过长按屏幕上的内容来打开关联菜单,显示被选中内
19、容的一些可操作指令的列表,指令可以成为当前进程的一部分,系统也能通过被选中内容去启动另一个进程进行操作。java 程序员实习第十周上一个星期的实习下来,有很多经验,有很多认识,自己总是有很多的感慨。也许在实习的这些天中,我也在逐渐的成长。在认识学习逐渐的成熟。每个人都会在时间潮流中不断认识自我,只不过是时间的长短的问题。因此待人要真诚,时时为人着想,处处为人行事。能够把自己溶入群体,而不耻向工人群众学习。要想在如今的社会中生存,就要吸收新的思想与知识,不断更新观念,趋于完善。这样才有利于思想与实际行动真正地结合,只有在思想演练,才能在最短的时间里把自己要从事的行业中处于领先的地位进而起着不可替代的作用,因为我将会为它比其他人付出更多创造更多价值。我也应该得到我应得到的报酬与珍贵的经验。在团队合作中,项目经理与技术经理起了很大作用。团队离不开统一的指挥,才能保证团队的顺利工作和工作成绩的取得,这就是团队精神的巨大作用;还有一点是可以值得大家重视的就是,在凝聚人心鼓舞士气方面都具有十分重要的作用。在这里,我更好的明白了团队合作的精神与凝聚力。