文章目录
- 前言
- 一、String
- 1、String的常用方法
- 二、多线程
- 1、有几种线程池
- 三、集合
- 1、hashmap和hashtable的区别
- 2、红黑树转链表的条件
- 四、SpringMvc
- 1、springMVC的处理流程
- 五、Sql
- 1、把班级看做一张表,男女平均年纪和人数总数,根据性别分组
- 2、Mysql事务的四大特性
前言
一、String
1、String的常用方法
length()获取字符串长度
indexOf()输入数字获取对应的字符串
substring()截取字符串输入长度
substring(str,end)截取固定长度
equals()对比
comcat字符串拼接
time清空前后空格
二、多线程
1、有几种线程池
1 newCachedThreadPool()带缓存的线程池
2 newFixedThreadPool(int nThreads),重用指定数目(nThreads)的线程,其背后使用的是无界的工作队列
3 newSingleThreadExecutor(),它的特点在于工作线程数目被限制为 1,操作一个无界的工作队列
4 newScheduledThreadPool方法创建一个按照一定时间周期来执行的线程池。
5.newWorkStealPool 一个拥有多个任务队列的线程池,可以减少连接数,创建当前可用cpu数量的线程来并行执行。
三、集合
1、hashmap和hashtable的区别
hashmao线程不安全,Hashtable线程安全,所以table的效率要小于map。
2、红黑树转链表的条件
当树的元素小于等于6时就会转为链表,增加查询速度。
四、SpringMvc
1、springMVC的处理流程
DispatcherServlet, HandlerMapping , HanderAdaptor , Controller, ViewResolver。
具体流程:
- 用户通过浏览器发起 HttpRequest 请求到前端控制器 (DispatcherServlet)。
- DispatcherServlet 将用户请求发送给处理器映射器 (HandlerMapping)。
- 处理器映射器 (HandlerMapping)会根据请求,找到负责处理该请求的处理器,并将其封装为处理器执行链 返回 (HandlerExecutionChain) 给 DispatcherServlet
- DispatcherServlet 会根据 处理器执行链 中的处理器,找到能够执行该处理器的处理器适配器(HandlerAdaptor) --注,处理器适配器有多个
- 处理器适配器 (HandlerAdaptoer) 会调用对应的具体的 Controller
- Controller 将处理结果及要跳转的视图封装到一个对象 ModelAndView 中并将其返回给处理器适配器 (HandlerAdaptor)
- HandlerAdaptor 直接将 ModelAndView 交给 DispatcherServlet ,至此,业务处理完毕
- 业务处理完毕后,我们需要将处理结果展示给用户。于是DisptcherServlet 调用 ViewResolver,将 ModelAndView 中的视图名称封装为视图对象
- ViewResolver 将封装好的视图 (View) 对象返回给 DIspatcherServlet
- DispatcherServlet 调用视图对象,让其自己 (View) 进行渲染(将模型数据填充至视图中),形成响应对象 (HttpResponse)
- 前端控制器 (DispatcherServlet) 响应 (HttpResponse) 给浏览器,展示在页面上。
五、Sql
1、把班级看做一张表,男女平均年纪和人数总数,根据性别分组
SELECT COUNT(*) AS 总人数,sex AS 性别, AVG(age) AS 平均年龄 FROM hanshu GROUP BY sex
2、Mysql事务的四大特性
原子性,一致性,隔离性,持久性。