java的一些随笔
2016-07-04 20:48
239 查看
1.用DetachedCriteria 做模糊查询:
DetachedCriteria dc = DetachedCriteria.forClass(param.getClass());
dc.add(Restrictions.like("workName", param.getWorkName(), MatchMode.ANYWHERE));
dc.add(Restrictions.eq("workState", param.getWorkState())).addOrder(Order.desc("workId"));
int totalCount=workparamDAO.findCountByCriteria(dc);
===================================================================================================================================
2. Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
Lock接口比同步方法和同步块提供了更具扩展性的锁操作。他们允许更灵活的结构,可以具有完全不同的性质,
并且可以支持多个相关类的条件对象。
它的优势有:
可以使锁更公平
可以使线程在等待锁的时候响应中断
可以让线程尝试获取锁,并在无法获取锁的时候立即返回或者等待一段时间
可以在不同的范围,以不同的顺序获取和释放锁
===================================================================================================================================
3.ThreadLocal用于创建线程的本地变量,我们知道一个对象的所有线程会共享它的全局变量,所以这些变量不是线程安全的,我们可以使用同步技术。
但是当我们不想使用同步的时候,我们可以选择ThreadLocal变量。每个线程都会拥有他们自己的Thread变量,它们可以使用get()\set()
方法去获取他们的默认值或者在线程内部改变他们的值。ThreadLocal实例通常是希望它们同线程状态关联起来是private static属性
===================================================================================================================================
4.springMVC的工作原理图:
a、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
b、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。
c-d、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。
e、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。
f、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。
g、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。
DetachedCriteria dc = DetachedCriteria.forClass(param.getClass());
dc.add(Restrictions.like("workName", param.getWorkName(), MatchMode.ANYWHERE));
dc.add(Restrictions.eq("workState", param.getWorkState())).addOrder(Order.desc("workId"));
int totalCount=workparamDAO.findCountByCriteria(dc);
===================================================================================================================================
2. Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
Lock接口比同步方法和同步块提供了更具扩展性的锁操作。他们允许更灵活的结构,可以具有完全不同的性质,
并且可以支持多个相关类的条件对象。
它的优势有:
可以使锁更公平
可以使线程在等待锁的时候响应中断
可以让线程尝试获取锁,并在无法获取锁的时候立即返回或者等待一段时间
可以在不同的范围,以不同的顺序获取和释放锁
===================================================================================================================================
3.ThreadLocal用于创建线程的本地变量,我们知道一个对象的所有线程会共享它的全局变量,所以这些变量不是线程安全的,我们可以使用同步技术。
但是当我们不想使用同步的时候,我们可以选择ThreadLocal变量。每个线程都会拥有他们自己的Thread变量,它们可以使用get()\set()
方法去获取他们的默认值或者在线程内部改变他们的值。ThreadLocal实例通常是希望它们同线程状态关联起来是private static属性
===================================================================================================================================
4.springMVC的工作原理图:
a、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
b、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。
c-d、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。
e、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。
f、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。
g、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。
相关文章推荐
- 【Spring】java.lang.IndexOutOfBoundsException: Index: 256, Size: 256
- 加密 算法 & Java implementation
- SSH框架之Spring
- 对象导论之被隐藏的具体实现
- jar包源码的导入---让开发中可以去看别人的源码
- jar包源码的导入---让开发中可以去看别人的源码
- jar包源码的导入---让开发中可以去看别人的源码
- jar包源码的导入---让开发中可以去看别人的源码
- LeetCode---Sum of Two Integers
- 如何利用java得到当前的时间和前一天的时间
- 浅析Java中的final关键字
- MyEclipse 快捷键
- (单例设计模式之一)饿汉式的反射与反序列化漏洞
- Java易混淆概念与重点知识积累 第三篇
- 走进Java
- springMVC + ProgressListener + CommonsMultipartResolver 上传进度查询
- eclipse adt 选择ndk目录时不识别,出现“Not a valid NDK directory”
- 【原】Maven解决jar冲突调试步骤:第三方组件引用不符合要求的javassit导致的相关异常
- 链表的Java实现
- java.lang.NoClassDefFoundError: org/springframework/beans/factory/support/DefaultListableBeanFactory