自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

说一说hibernate的Get和Load

    N多面试题里,只要涉及hibernate就会这样的问题,说一说hibernate的Get和Load到底哪个效率高?我也曾经被这样面过,也被这样的面试题BS过,当时的答案无非就是从谷歌百度上搜一把记下,比如Get不用使用一级缓存和二级缓存,直接从数据库中load。而load采用proxy,走一级缓存和二级缓存,诸如此类的。但是事实上这样吗?proxy和从缓存中有神马关系啊?使用proxy就能...

2011-11-24 10:01:11 60

对Cookie的一点认识

1. Cookie是怎么在服务器和浏览器之间传递的?(以Tomcat为参考)response.addCookie()将cookie写到客户端request.getCookies()获取浏览器端的cookie但底层是怎么实现的?查看一下Tomcat的源码得知:原来是把Cookie对象拼成一定格式的字符串放在header中,header的名字叫set-cookie.有一点尤其重要可以有...

2011-11-21 09:18:52 104

BoneCP数据源记录SQl比hibernate的show sql好用

如何使用1. 配置logStatementsEnabled为true    <property name="logStatementsEnabled" value="true"/> 2 .配置log日志log4j.logger.com.jolbox=DEBUG,SQLLOGlog4j.appender.SQLLOG=org.apache.log4j.D...

2011-11-17 15:35:24 72

StringBuffer与StringBuilder浅析

1. 为什么要用StringBuffer和StringBuilder? String c = "aaa" +"bbb"与sb.append("aaa").append("bbb")有什么区别,类似这样的问题大家应该都很熟悉,它经常出现在面试题,我想答案大家都已经很清楚,用+会创建多个String,因为String是存放在常量池中的,而且是不可以变的,"aaa"变不成"aaabbb"

2011-11-17 13:23:58 61

初始化(Map,List)容器类的容量会有一定的性能提升

 容器类底层的数据结构大多使用数组,我们知道数组是不能动态修改它的size,假如非要修改的话,只要初始化另外一个更大容量的数据,并将原来的数据复制过去。对容器类的插入操作,首先就得check是否容量满足,如不满足先扩展 public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments m...

2011-11-15 13:39:22 202

SpringMVC 拦截器实现分析

SpringMVC的拦截器不同于Spring的拦截器,SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet,所以只需要在DispatcherServlet上做文章即可,DispatcherServlet也没有代理,同时SpringMVC管理的Controller也不有代理。哪不难想到我们在执行controller之前做某些动作,执行...

2011-11-15 13:15:17 63

利用springMVC的interceptor实现页面性能监控(Filter亦可)

   调优第一步,找出耗时比较长的页面进行优化。利用interceptor能轻易搞定。interceptor提供了preHandle和postHandle以及afterCompletion三个方法。preHandle调用controller具体方法之前调用,postHandle完成具体方法之后调用,afterCompletion完成对页面的render以后调用,至此整个页面渲染完成。也就是说我们在...

2011-11-15 13:00:43 154

原创 Tomcat的ThreadLocalLeakPreventionListener工作原理

当context stop的时候,如果thread pool的thread没有正常停止的话,而且ThreadLocal中引用了webclassloader加载的对象,有很有可能造成内存泄露,一个解决办法就是杀掉所有的threadpool的线程。Tomcat的ThreadLocalLeakPreventionListener就是这样一个原理 Engine engine = (Engine) cont...

2011-11-14 18:28:45 338

原创 使用HttpServletResponseWrapper获取渲染jsp以后的html

   有些场景,我们会试图获取渲染jsp以后的html,或者修改一下生成json,例如把普通的json换成跨域的jsonp。ResponseFacade只提供了getOutStream(),但是获取不了stream的容器bytearray,不通过hacker的方式根本获取不了。Tomcat也意识到这一点,提供了HttpServletResponseWrapper帮我们解决这个问题,对于Http...

2011-11-14 15:50:26 319

原创 Servlet Filter与Spring interceptor的执行顺序

  Filter有顺序吗?我们怎么控制filter的执行顺序。通过Tomcat的代码分析,servlet在Filter执行完成后才调用,如有多个filter怎么控制执行顺序,首先会想到在web.xml配置某个参数,例如order之类的,但查找一下一番,servlet并没有这个参数。试试filter Mapping的配置的先后顺序,果然有效,原来filter的执行顺序就考filter mapping...

2011-11-14 09:37:53 380

原创 Tomcat NIO/APR对静态资源提速

1.Tomcat如何处理静态资源?处理静态资源很简单,只需根据URI定位到文件,然后读取文件,写到response的outputstream中去,但tomcat是如何处理,是不是通过servlet container统一处理,还有另有其他方式?最终我发现是由DefaultServlet来处理。2.APR/NIO Connecter不仅能提高吞吐量,而且使用sendFile使用内核IO,而不是j...

2011-11-13 14:25:26 396

原创 Tomcat NioEndPoint初探

startInternal():创建worker线程池,初始化Poller线程,根据可以用的处理器的数目,我的机器是双核超线程的,所以为4.Poller是连接器的关键,不断地轮询分发连接,交给worker线程去处理。 // Create worker collection if ( getExecutor() == null ) { ...

2011-11-11 13:10:49 203

原创 Curl实现web serivce调试调用

curl -v --header "content-type: application/soap+xml"  --data @soap1.xml                                                                                                              "WsUrl地址" -w resul...

2011-11-10 17:08:18 118

原创 Spring异步任务@asynch

AOP+JCU的ThreadPool和Future实现了异步任务,很简单,直接看spring实现的源代码吧:public Object invoke(final MethodInvocation invocation) throws Throwable { Future result = this.asyncExecutor.submit(new Callable<Objec...

2011-11-10 17:04:59 115

HashMap无序与LinkedHashMap有序

HashMap为什么是无序? HashMap的数据结构是table[entry],entry是一个链表结构,数据的每个元素是一个链表。不同key,但是具有相同hashcode会落在table[hashcode]的链表上当使用iterator遍历时,使用如下code: final Entry<K,V> nextEntry() { if (mo...

2011-11-10 16:51:07 1584

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除