1、Spring MVC工作原理
a.客户端请求提交到前端控制器DispatcherServlet
b.由DispatcherServlet查询HandlerMapping 通过HandlerMapping找到处理请求的二级控制器Controller
c.DispatcherServlet将请求提交到Controller
d.Controller调用业务逻辑处理后 返回ModelAndView
e.DispatcherServlet查询ViewResoler视图解析器 找到ModelAndView指定的视图
f.视图负责将结果显示到客户端
2、jQuery可以对表单进行哪些操作
a.获取值
文本框、密码框、textarea
checkbox radio select
b.控制表单元素
text textarea 清空内容 填充内容
checkbox 设置打勾
radio 设置默认选项
select 添加option 清空option
c.触发事件
submit blur change
3、SQL分页查询
注意事项:
a.使用ROWNUM编号时 不要使用ROWNUM做>1以上的数字的判断 否则该结果集将得不到记录
b.在分页中有排序需求时 先排序再编号 再根据编号取范围
工资按照由高到低排序后取6-10名
排序 select name,sal,job,deptno from emp order by sal desc
编号 select rownum rn,t.* from (select name,sal,job,deptno from emp order by sal desc) t
取范围 select * from (select rownum rn,t.* from (select name,sal,job,deptno from emp order by sal desc) t) where rn between 6 and 10
4、SQL函数
字符串函数:
CONCAT ||
LENGTH
UPPER LOWER INITCAP
TRIM LTRIM RTRIM
LPAD RPAD
SUBSTR
INSTR
数值函数:
ROUND
TRUNC
MOD
CEIL FLOOR
日期转换函数:
TO_DATE
TO_CHAR
日期常用函数:
LAST_DAY
ADD_MONTHS
MONTHS_BETWEEN
NEXT_DAY
LEAST GREATEST
EXTRACT
空值函数:
NVL NVL2
聚合函数:
MAX MIN
AVG SUM
COUNT
SQL左右外连接
左外连接以左表中的数据为基准 若左表有数据右表没有数据 则显示左表中的数据 右表中的数据显示为空 右外连接反之
5、JSP九大内置对象
application
session
request
page
pageContext
config
response
out
exception
6、数据库优化:
a、建立有效的索引
b、sql语句优化 where条件靠前 缩小子查询的结果集 in exist
c、表结构优化,大表分割。
7、数据库缓存
提高访问性能,避免重复访问,执行同一个sql访问的是缓存的数据
8、高并发优化
a、数据库优化
b、代码优化 算法优化
c、服务器优化 分布式部署
d、jvm调优
e、页面优化 简洁 减少页面尺寸
9、使用jquery获取表格某行某列的值
.children().eq(3).children().eq(3).val()
get() eq()的区别 都是jquery提供的方法 get()返回DOM对象 eq()返回jquery对象
10、sleep wait的区别
sleep是Thread类的方法 wait是Object类中定义的方法
sleep()不释放同步锁 wait()释放同步锁 notify() synchronized
11、servlet生命周期
a.初始化阶段 调用init()方法
b.响应客户请求阶段 调用service()方法
c.终止阶段 调用destroy()方法
12、数组排序 集合排序
Arrays.sort() Collections.sort()自定义排序规则 重写Comparator接口 sort()方法里第二个参数new Comparator(){}
13、HashMap Hashtable区别
都实现Map接口 HashMap是线程不安全 性能更高
Map底层是散列表 即数组和链表的结合体
HashMap可以通过下面的语句进行同步
Map m = Collections.synchronizeMap(hashMap);
14、List Set
都实现Collection接口
ArrayLIst 数组 随机访问 异步 线程不安全
LinkedList 链表 插入删除 异步 线程不安全
Vector 数组 同步 线程安全
Set 不可重复集
15、String常量池
final 修饰 String类型是不可变的 因而String类是线程安全的
每当代码创建字符串常量时 JVM会首先检查字符串常量池 如果字符串已经存在池中 就返回池中的实例引用 如果字符串不在池中 就会实例化一个字符串并放到池中
StringBuilder StringBuffer
StringBuilder线程不安全 性能高于StringBuffer 建议使用StringBuiler
16、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法
栈:基本数据类型的变量 对象的引用 函数调用的现场保存
堆:对象
静态区:字面量 常量
网友评论