摘要:
转发是服务器行为,重定向是客户端行为。 转发(Forword) :通过RequestDispatcher对象的forward(HttpServletRequest request,HttpServletResponse response)方法实现的。 RequestDispatcher 可以通过Ht 阅读全文
摘要:
这个讲得还阔以: https://blog.csdn.net/v_july_v/article/details/6279498 阅读全文
摘要:
长连接(PersistentConnection) HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。 HTTP 1.1则支持长连接(Persistent Connec 阅读全文
摘要:
ThreadLocal入门 ThreadLocal 提供了线程本地的实例。它与普通变量的区别在于,每个使用该变量的线程都会初始化一个完全独立的实例副本。 ThreadLocal 变量通常被private static修饰。当一个线程结束时,它所使用的所有 ThreadLocal 相对的实例副本都可被 阅读全文
摘要:
CyclicBarrier也叫回环栅栏,在JDK1.5被引入,可以让一组线程达到一个栅栏时被阻塞,直到最后一个线程达到栅栏时,所以被阻塞的线程才能继续执行。 CyclicBarrier好比一扇门,默认情况下关闭状态,堵住了线程执行的道路,直到所有线程都就位,门才打开,让所有线程一起通过。 叫做回环是 阅读全文
摘要:
CountDownLatch也叫闭锁,在JDK1.5被引入,允许一个或多个线程等待其他线程完成操作后再执行。 CountDownLatch内部会维护一个初始值为线程数量的计数器,主线程执行await方法,如果计数器大于0,则阻塞等待。 当一个线程完成任务后,计数器值减1。当计数器为0时,表示所有的线 阅读全文
摘要:
Semaphore也叫信号量,在JDK1.5被引入,用来控制同时访问某个特定资源的操作数量,或者同时执行某个指定操作的数量。还可以用来实现某种资源池,或者对容器施加边界。 Semaphore内部维护了一组虚拟的许可,许可的数量可以通过构造函数的参数指定。 访问特定资源前,必须使用acquire方法获 阅读全文
摘要:
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否可能属于这个集合。 它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 初始状态时,Bloom Filter是一个包含m位的位数组,每一位都置为0。 对于 阅读全文
摘要:
有一栋100层的高楼,一个鸡蛋从第N层及以上的楼层落下来会摔破, 在第N层以下的楼层落下不会摔破。给你2个鸡蛋,设计方案找出N,并且保证在最坏情况下, 最小化鸡蛋下落的次数。(假设每次摔落时,如果没有摔碎,则不会给鸡蛋带来损耗) 如果只有一个鸡蛋,就只能从第1层逐层往上扔,最坏的情况下,要99次(假 阅读全文
摘要:
12个球,其中一个和其他的重量不一样,有一个天平,最多几次找出这个球 将球编号,分成3组,1234 5678 9101112 第一次将1234,5678放在天平的两边 如果平衡,则坏球在9101112里,第二次取9,10称 如果平衡,则坏球在11,12里,将10换成11,如果平衡,则坏球是12,如果 阅读全文