没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
一、线程池涉及的几个类及作用?
答 通过 提供四种线程池,分别为:
创建一个可缓存线程池,如果线程池长度超过处理需要,可灵
活回收空闲线程,若无可回收,则新建线程。
创建一个定长线程池,可控制线程最大并发数,超出的线程会在队
列中等待。
创建一个定长线程池,支持定时及周期性任务执行。
创建一个单线程化的线程池,它只会用唯一的工作线程来执
行任务,保证所有任务按照指定顺序优先级 执行。
二、并发的处理方式有哪些?
答:这需要从硬件到软件,前台到后台,以及数据库层面的几部分考虑。
首先要了解高并发的的瓶颈在哪里?
!"可能是服务器网络带宽不够
#"可能 $ 线程连接数不够
%"可能数据库连接查询上不去。
根据不同的情况,解决思路也不同。
!"像第一种情况可以增加网络带宽,&' 域名解析分发多台服务器。
#"负载均衡,前置代理服务器 反向代理服务器,也被广泛的作为负载均衡服务器 、
( 等等
%"数据库查询优化,读写分离,分表等等
具体处理的内容举例:
!" 尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与
数据库的交互,提高性能;
#" 用 )(* 等工具找出性能瓶颈,减少额外的开销;(扩展:开源 $ 性能测试工具
(HP Loadrunner、Apache JMeter、Load UI、Httperf、Siege))
%" 优化数据库结构,多做索引,提高查询效率,优化数据库查询语句,减少直接使用
$ 等工具的直接生成语句(仅耗时最长的查询做优化);
+" 统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要实时进行统
计的功能;
," 能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态 - 来
显示);
." 解决以上问题后,使用服务器集群来解决单台的瓶颈问题。
三、说明对 Spring 框架中 IOC 和 AOP 的理解?
思路:!、通俗的解释一下 和 /#、各自的实现原理 %、自己在项目中如何使
用
答:
IOC:
!、许多应用都是通过彼此的相互合作来实现业务逻辑的,如类 / 要调用类 0 的方法,
以前我们都是在类 / 中,通过自身 一个类 0,然后再调用 0 的方法,现在我们把
类 0 的事情交给了 ( 来做,在我们调用的时候,容器会为我们实例化;
#、容器初始化过程:(资源定位(定义 $ 的 -)载入 容器注册,注册
$&*)一般不包含 $ 的依赖注入的实现,在 ( 设计中,$ 的
注册和依赖注入是两个过程,依赖注入一般发生在应用第一次索取 $ 的时候,但是也
可以在 - 中配置,在容器初始化时,这个 $ 就完成了初始化;
%、三种注入方式:构造器、接口、 注入,常用是 注入;
+、$ 如何创建:工厂模式;
,、数据如何注入:反射。
AOP:
!、面向切面编程,在我们的应用中,经常需要做一些事情,但是与核心业务无关,
比如,要记录所有 (1方法的执行时间、操作人等信息,记录到日志。
通过 /,就可以不修改 (1的代码的情况下完成该需求。
#、/ 实现原理:代理
四、MVC 的流程描述一下?
答:下面是 23(模型、视图、控制器)架构的控制流程:
!、所有的终端用户请求被发送到控制器。
#、控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图。
%、附加了模型数据的最终视图做为响应发送给终端用户。
+、(2 的执行流程
系统启动的时候根据配置文件创建 ( 的容器首先是发送 ( 请求到核心
控制器 ,( 容器通过映射器去寻找业务控制器,
使用适配器找到相应的业务类,在进业务类时进行数据封装,在封装前可能会涉及到
类型转换,执行完业务类后使用 2/3 进行视图转发,数据放在 - 中,
用 -( 传递数据进行页面显示。
,、(2 里面拦截器是怎么写的:
有两种写法一种是实现接口另外一种是继承适配器类然后在 (2 的配
置文件中配置拦截器即可
4566配置 (2 的拦截器 667
4-(7
4566配置一个拦截器的 0 就可以了 默认是对所有请求都拦截 667
4$ 89-:(9
89-"""2:;(974<$7
4566只针对部分请求拦截 667
4-(7
4--(((89<-2("9<7
4$89-"""2:;(/(9<7
4<-(7
4<-(7
五、分布式相关知识:;((分布式服务框架服务框架)、(分布式数据库)、
=>((分布式应用程序协调服务)、$$分布式服务框架
nginx 和 dubbo 差别?
$$ 的负载均衡已经是服务层面的了,和 的负载均衡还在 ( 请求层面完全不
同
涉及到负载均衡就涉及到你的业务,根据业务来选择才是最适合的。$$ 在服务发现这
个地方做的更像一个 (个人感觉),一个消费者需要知道哪里有这么一个服务,
$$ 告诉他,然后他自己去调用。而 在具备了以上功能,还有两个最主要的功能
是,!,维持尽可能多的连接。#,把每个连接的具体服务需求 ( 到真正的 > 上。
但是这两个功能,$$ 做不到第一个。所以,结合你自己的业务来选择用什么,
和 $$ 在使用上说白了就是一个先后的关系而已(当然也是我个人感觉)。
六、集合相关知识点:
答 : 集 合 要 掌 握 的 是
/:、>、;$、;2(、;2(、;
的实现原理;
;$中的方法是同步的,而 ;2( 中的方法在缺省情况下是非同步的。
;$ 中,>: 和 都不允许出现 值。在 ;2( 中, 可以作
为键,这样的键只有一个;可以有一个或多个键所对应的值为 。
? 两个类都实现了 接口( 接口继承了 接口),他们都是有序
集合,都可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是
; 之类的集合的最大不同处,; 之类的集合不可以按索引号去检索其
中的元素,也不允许有重复的元素。
@ 同步性,3 是线程安全的,也就是说是它的方法之间是线程同步的,而
/: 是线程序不安全的,它的方法之间是线程不同步的。如果只有一个线程会
访问到集合,那最好是使用 /:,因为它不考虑线程安全,效率会高些;如果
有多个线程会访问到集合,那最好是使用 3,因为不需要我们自己再去考虑和编
写线程安全的代码。
!、/: 是实现了基于动态数组的数据结构,> 基于链表的数据结构。
#、 对于随机访问 和 ,/: 觉得优于 >,因为 > 要移动
指针。
%、对于新增和删除操作 和 -, 比较占优势,因为 /: 要移动
数据
七、数据库层面(关系型与非关系型)
答:
! 、 关 系 型 数 据 库 举 例 :
、A、:$、B-、、&0#、-:C、B(;
#、非关系型数据库举例:-$(文档存储型)、(键值对存储型)
定义:目前对于非关系型数据库主要有四种数据存 储类型:键值对存储( >:6
) , 文 档 存 储 ( - ) , 基 于 列 的 数 据 库 ( -6
),还有就是图形数据库(($);
2&0:
剩余10页未读,继续阅读
资源评论
- 白白了白呀白2020-06-04标签3分钟通用的自我介绍呢?就是写网上都已经有的资料
- ljlrh882019-04-17是我想要的,有用
陶金彪
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功