正式上班第一天
2019.3.20
上午:
1.弄懂文档不懂的技术
2.把项目的流程整理出来

下午:
1.弄懂demo-app包名的含义
2.弄懂demo-web包名的含义
3.弄懂demo-common包名的含义
4.理解demo-app,demo-web以及demo-common包之间的关系
5.对比学校做的项目与公司项目的区别(从包上看)

1.文档里不懂的技术:

(1)memcached

​ 1)概念:memcached 是一套分布式的高速缓存系统。(将一些常用数据储存在缓存中,可以更快的拿到数据;减少与服务器的交互次数,减低对服务器的损耗。比如将行政区域名存储在缓存中,因为区域名(北京)是固定的,不需要没查找一次数据,就与服务器交互一次。)

​ 2)memcached 与redis的区别?(分八个方面比较)
​ a.性能:memcached性能高于redis

​ b.内存使用效率:只使用key-values存储,memcached内存利用率更高;但redis使用hash的key-values来做,利用率高于mwmched。

​ c.redis支持服务器端的数据操作

​ d.数据备份恢复:memcached挂掉后,数据不可恢复;redis数据丢失后可以通过aof恢复。*

​ e.数据存储:两者都是将数据放在内存中,memcached不支持持久化;redis将数据储存在硬盘上,支持数据的持久化。

​ f.Memcached默认使用Slab Allocation机制管理内存;Redis采用的是包装的mallc/free,相较于Memcached的内存管理方法来说,要简单很多。

​ g.Memcached本身并不支持分布式;Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,它没有中心节点,具有线性可伸缩的功能。

​ h.Memcache支持多核多线程,Redis单线程操作。

(2)rabbitmq

​ 1)概念:RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件。(主要用于组件之间的解耦)

(3)RPC(Remote Procedure Call)

​ 1)概念:远程传输协议(相当于http协议)

(4)LB(负载均衡)

​ 1)概念:分摊到多个操作单元上进行执行。(比如游戏服务器场景,游戏上线后,每一个用户注册一次或者点击某个功能,都会与服务器交互一次。当一个用户进行一次交互,服务器能承受,但是当一千个甚至上万个用户同时进行操作,服务器就会崩溃。这个时候就需要使用多台服务器,将请求分给其他服务器,)

(5)web和app层

​ 1)概念:
web层–》控制器层,主要对外
app层–》数据层,内部实现

(6)Hessian(轻量级的RPC)

​ 1)概念:基于HTTP协议传输,使用Hessian二进制序列化,对于数据包比较大的情况比较友好。

(7)Restful

​ 1)概念:一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。

(8)Fedis( 前端开发集成解决方案)

​ 1)概念:fedis 是一个基于 gulp/gulp-plugins 的前端开发集成解决方案。

(9)postman

​ 接口调试工具(入门指南:https://www.jianshu.com/p/46d44c09d94c)

(10)Everything

​ voidtools开发的一款文件搜索工具。

2.门面模式

​ 定义:门面模式(Facade Pattern)也叫做外观模式,是一种比较常用的封装模式。

3.数据流程(编码相关)

数据流程:大方向web---->app
(1)web里数据流是从controller—>service

(2)app里数据流是从action—>manager—>service—>dao

(3)web到app是通过RPC里的hessian技术实现的。

4.demo-app包名的含义(与学校做的项目进行对比)

demo-app:数据层

(1)公司dto层相当于学校的vo(bean)层。

(2)service层和service.impl层:service是业务处理层接口,service.impl是业务处理的实现层。

(3)aspect层:拦截层,主要用来拦截包括但不限于指定包,注解下的方法,异步操作日志和缓存。

(4)config层:配置文件层,spring boot2的特性,用类的形式进行配置。

(5)manager层和manager.impl层:manager层也是业务处理层接口,manager.impl也是业务处理的实现层。

manager层与service层同为业务处理层,区别在于,manager可以由多个service组成,manager层是service层的更大一层,可以处理多个条件查询。举例:登录功能,登录成功后,既要显示个人信息(user表),也要显示权限(power表)。因为service层每一个方法只对应一个dao层里的方法,如果要service一个对应多个方法,dao层就要修改,dao是与数据库相关的,不可能修改dao,因此出现了manager层。对manager层的方法进行修改,只是修改了里面的service方法,不会对其他造成影响。

总结:manager层里的方法可有一对一,一对多的关系。service层里的方法只有一对一的关系。

5.demo-web包名的含义(与demo-app进行对比)

demo-web:控制器层

(1)exception层:异常处理层,包括自定义的异常

(2)controller层:web层的控制器,仅仅只做数据透传和返回

(3)service层与demo-app的service层的区别:demo-app的service层里写基本的增删改查方法,demo-web里的service写类似检查参数业务的方法。

6.demo-common包名的含义

demo-common里主要写一些可复用的代码,比如加密,支付功能以及工具包。

(1)annotation层:自定义注解层

(2)constant层:常量定义层

(3)dispatcher层:门面;举例医院,如果医生要求化验,病人必须首先划价,然后缴费,才可以到化验部门做化验。化验后再回到门诊室。会特别复杂,但在引入接待员后,病人只接触接待员,由接待员与各个部门打交道。接待员就是门面的体现。

7.总结

公司里做的项目与学校做的区别是特别大的:

1.所用技术:学校学的是很久之前用的;公司用的是目前比较流行,经过多次检验的,成熟的技术。

2.代码:公司会考虑代码复用性,会将大模块分成具体小模块来实现。

3.命名:公司里包,类的命名都有自己的规范,便于共同开发与后期维护。

4.架构:公司有专门的架构师,在开发前会对具体的业务场景提出解决方案,考虑目标需求的扩展。

小白第一天上班 ^^
一直无法理解整个项目的数据流程,问了之后,有种拨开云雾见青天的感觉。。。。
总结:遇到不会的,先自己找,找不到可以去问。但是公司技术大牛给的demo,看不懂,一定要去问。

Java实习 oneday相关推荐

  1. 从零基础到拿到网易Java实习offer,我做对了哪些事

    点击上方蓝字可以订阅哦! 作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右 ...

  2. Java实习面试重点基础知识

    今天第一次参加面试,十分紧张,加上本身我就学艺不精,没系统学过Java去面Java实习,问出的许多问题我都没有回答出来,估计我的第一次实习生面试凉了. 不过总不能沉溺于过去,总结一下今天面试中我遇到的 ...

  3. java实习报告范文

      篇1:java实习报告范文一.前言 实习时间:20_年02月07号---20_年06月1号 实习地点:河北中信联信息技术有限公司软件开发实习生 实习目的:通过实习,培养学生树立理论联系实际的工作作 ...

  4. 关于java实习心得总结(十篇)

    关于java实习心得总结(篇一) 初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么TurboC,VisualC++好用,什么JA_HOME,CLASSPATH,虚拟机 ...

  5. Java 实习要掌握的知识

    1. Java 基础知识: Java 基础语法:包括变量.常量.数据类型.运算符.流程控制语句等. 面向对象编程的概念:如类.对象.继承.多态.接口等. 异常处理机制:如 try-catch-fana ...

  6. 京东数科java咋样_校招|京东数科 Java 实习 一面

    作者:杀虫大师 来源:牛客网 京东数科Java实习一面 视频面试,35分钟 1. 自我介绍 2. 项目介绍 3. 如何设计订单系统 4. 如何设计秒杀系统,超售,重复排队,缓存雪崩 5. MyBati ...

  7. Java 实习面试经历(一)

    背景介绍 本人普通二本大三学生,因为大三下学期有三天的空闲时间,于是在招聘软件上投了简历,想找 Java 开发相关的实习岗位.今天进行了两场面试,一家算中小型的(大概一百几号人)互联网公司和一家五人左 ...

  8. java实习之新手村作战

    简介 以前在找工作的时候,看到招聘需求底下评论感觉特别有意思,这边和大家分享一下. 笔试面试---->注册游戏账号 实习阶段---->新手村 工作年限---->游戏时长 项目经验-- ...

  9. 去哪儿网java实习_【去哪儿网Java面试】Java实习(机票部门)-看准网

    Java实习(机票部门) 自我介绍,项目介绍,项目中遇到的难题,项目中用到了线程池,用的什么线程池,怎么配置的参数?自定义线程池,new ThreadPoolExecutor(10,20,2000,毫 ...

  10. 优秀java实习报告范文5篇

      优秀java实习报告范文(一) 一:实习介绍 1)实习题目 学生信息管理系统的设计与开发 2)实习目的 <Java程序设计>课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三 ...

最新文章

  1. 邵阳一中2021高考成绩查询入口,邵阳高考成绩查询系统
  2. 关于mybatis的xml文件中使用 >= 或者 <= 号报错的解决方案
  3. 每日一皮:鼓励师招到了,原来是这样的...
  4. java try catch 异常后还会继续执行吗
  5. C# 设置Word文档中图片的大小
  6. SequenceFile文件
  7. FTP协议、电子邮件系统、Telnet远程控制
  8. c#基础传智播客学习截图
  9. 分享OUTLOOK的定时发送功能
  10. Matlab实现单(双)极性(不)归零码
  11. unix环境高级编程——UNIX体系架构
  12. python课程设计爬虫篇_11 个案例开启 Python 爬虫初体验
  13. Java的文件读写操作
  14. 《画解数据结构》九张动图,画解队列
  15. BootStrap框架模块:BootStrap4实战
  16. [内存管理]内存池pool库
  17. java毕业设计——基于java+Socket+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码)——办公自动化系统
  18. 高效能人士的执行四原则(三)——原则2:关注引领性指标
  19. MySql数据库的下载安装及使用(2020最新版)
  20. 阿里VS腾讯谁将是未来流量之王?

热门文章

  1. 微信小程序选项卡页面切换
  2. Java Eclipse部分图标汇总
  3. electron 自定义标题栏_CAXA电子图板2015版自定义标题栏
  4. 【VUE】微商城(四)----封装轮播图组件,axios安装使用
  5. windows磁盘空间释放(二)
  6. 工作之RF功能开发入门
  7. php 检查货币类型_PHP如何获取货币汇率-百度经验
  8. 京瓷打印机驱动安装教程,怎么安装方便点?
  9. python用的编程软件是什么,python编程软件用哪个好
  10. java生成图表_【JAVA】POI生成EXCEL图表(柱状图、折线等)