Java高级程序员面试题
- 客户端请求提交到DispacherServlet
- 由DispacherServlet控制器查询HandlerMapping,找到处理请求的Controller
- Controller调用业务逻辑处理后,返回ModelAndView
- DispacherServlet查询视图解析,找到ModelAndView指定的视图
- 视图负责将结果显示到客户端
- 机制 :springmvc 的入口是servlet,struts2的入口是filter
- 性能 : springmvc 会比struts2快一点。springmvc是基于方法设计,struts2是基于类,每次发一次请求都会实例一个action,每个Action都会被注入属性。
- 参数传递:struts2是在接受参数的时候,可以采用属性来接收参数,这家说明可以让多个方法共享
- 拦截器机制:struts2有自己的interceptor机制,springmvc用的是独立的AOP方式,strtus2的配置文件还是比springmvc大,springmvc使用简洁,springMVC比struts2开发效率要高.
- 客户端初始化一个执行servlet的请求
- 这个请求经过一系列的过滤器,被FilterDispatcher调用,询问ActionMapper来决定是否调用Action
- FilterDispatcher把请求的处理交给ActionProxy
- ActionProxy通过Configuraction Manager询问相关的配置文件,找到需要的Action类
- ActionProxy创建ActionInvocation的实例
- ActionInvocation调用Action前后的拦截器
- Action执行完毕后,根据struts.xml配置文件找到对应的视图页面
- 读取并解析配置文件
- 创建SessionFactory
- 打开Session
- 创建事务:transaction
- 持久化操作
- 提交事务
- 关闭Session
- 关闭SessionFactory
- spring能够很好的和各大框架整合
- spring 通过IOC容器管理了对象的创建和销毁 工厂模式
- 在使用hiberna,mybatis的时候,不用每次都编写提交的事务的代码,可以使用spring的AOP来管理事务 AOP其实就是一个动态代理的实现
- struts(表示层)+spring(业务层)+hibernate(持久层)
- struts是一个表示层的框架,主要用于接收请求,分发请求。struts其实属于MVC中的VC层次的
- hibernate是一个持久层的框架,主要负责与关系数据库的操作
- spring是一个业务层的框架,是一个整合的框架,能够很好的黏合表示层和持久层。
- 是一个项目管理、构建工具
- 作用:帮助下载jar 寻找依赖,帮助下载依赖 热部署、热编译
- 减少HTTP请求的数量(合并css、js、图片)
- 利用浏览器的缓存机制
- 利用GZIP压缩机制:只针对文本类资源有效
- 把CSS文件放在HTML开头
- 把javascript文件放在HTML结尾
- 避免CSS表达式(判断浏览器)
- 使用javascript压缩
- 减少DNS查找
- 避免重定向
- 使用ajax
- 利用安全性测试技术,找到潜在的漏洞
每个MyISAM在磁盘上存储成3个文件,其中文件名和表名都相同,但是扩展名分别为:
- .frm(存储表定义)
- MYD(MYData,存储数据)
- MYI(MYIndex,存储索引)
InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
1)自动增长列2)外键约束
- 1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启
- 2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行
- 3. PROPAGATION_MANDATORY: 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
- 4. PROPAGATION_REQUIRES_NEW: 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。
- 5. PROPAGATION_NOT_SUPPORTED: 总是非事务地执行,并挂起任何存在的事务。
- 6. PROPAGATION_NEVER: 总是非事务地执行,如果存在一个活动事务,则抛出异常
- 7. PROPAGATION_NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务,


(1)每一个URI代表一种资源;
(2)客户端和服务器之间,传递这种资源的某种表现层;
(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。
Java高级程序员面试题的更多相关文章
- 转 Java高级程序员面试题
1.你认为项目中最重要的过程是那些? 分析.设计阶段 尽量找出进度的优先级 2.如果给你一个4-6人的team,怎么分配? 挑选一技术过硬的人作为我的替补.其它人平均分配任务,每周进行全面的任务分配 ...
- Java高级程序员(5年左右)面试的题目集
Java高级程序员(5年左右)面试的题目集 https://blog.csdn.net/fangqun663775/article/details/73614850?utm_source=blogxg ...
- 对java高级程序员有益的十本书
英文原文:http://www.programcreek.com/2013/08/top-books-for-advanced-level-java-developers/ java语言是当今最受欢迎 ...
- Java初中级程序员面试题宝典
Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...
- 成为java高级程序员需要掌握哪些
section 1 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如 ...
- Andrid 高级程序员面试题
==========================20150518===================================一. Acitvity组件 1. 生命周期&kille ...
- php开发面试题---php高级程序员需要掌握的一些知识
php开发面试题---php高级程序员需要掌握的一些知识 一.总结 一句话总结: 还是需要多多接触架构师的知识,比如这里说的微服务,还有需要php服务端的知识来解决web端的不足,比如Swoole 1 ...
- Java程序员面试题集(136-150)(转)
转:http://blog.csdn.net/jackfrued/article/details/17740651 Java程序员面试题集(136-150) 摘要:这一部分主要是数据结构和算法相关的面 ...
- Java程序员面试题集(71-85)(转)
转:http://blog.csdn.net/jackfrued/article/details/17566627 Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言) ...
随机推荐
- Eclipse Neon Java版本安装Java EE插件
Help→Install New Software 地址:Neon - http://download.eclipse.org/releases/neon/201703231000 选择 Web,X ...
- Package 和 import 语句
- 488 Zuma Game 祖玛游戏
回忆一下祖玛游戏.现在桌上有一串球,颜色有红色(R),黄色(Y),蓝色(B),绿色(G),还有白色(W). 现在你手里也有几个球.每一次,你可以从手里的球选一个,然后把这个球插入到一串球中的某个位置上 ...
- 关于提示replication性能
关于GTIDs的二进制日志:gtid_next: 下一个事务的编号,是master传给slave的 如SET @@SESSION.GTID_NEXT= 'c09756b8-a7e7-11e5-9468 ...
- 【转】Android进程机制
以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luosheng ...
- MSComDlg.CommonDialog服务器不能创建对象错误的解决
作者:朱金灿 来源:http://blog.csdn.net/clever101 在JavaScript中弹出打开文件对话框,代码如下: var fileOpenDlg = new ActiveXOb ...
- 获取登陆信息 在created()方法中
// 获取登录信息 public async InitUser() { await sj.globalVar.Init(true); this.params.unitId = sj.globalVar ...
- 在DLL中创建窗口时一个值得注意的地方 — UnregisterClass
背景描述: 今天要测试一份注入代码,拿以前写的创建窗口的DLL来做测试. 第一次注入时一切正常,窗口被成功创建并显示,但在第二次加载时窗口没有显示出来. 经过研究发现在第二次加载DLL时Registe ...
- smile domain name www.bn-nd.com for sell. Please contact boyanzheng at foxmail.com 微笑的域名。请联系邮箱。
- SEO 第三章
SEO第三章 本次课目标: 1. 掌握关键词的选取方法 2. 掌握关键词的竞争强度分析 3. 掌握关键词的拓展方法 一.关键词的选取 选择关键词的时候可以根据公司网站的定位,围绕公司的主营产品或 ...