自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

转载 读写锁

转载自 http://ifeve.com/read-write-locks/相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以应该允许多个线程能在同时读取共享资源。但是如果有一个线程想去写这些共享资源,就不应该再有其它线程对该资

2018-01-19 14:56:34 262

原创 CopyOnWrite

什么是CopyOnWrite容器Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和Co

2018-01-18 18:06:08 412

原创 BlockQueue

用法Queue也就是队列,只能有两种基本的操作,在头部取走一个元素和在尾部增加一个元素,所以是一种FIFO结构(先进先出),不同于栈,栈是一种后进先出的数据结构。阻塞Queue常用的方法:add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常remove 移除并返回队列头部的元素 如

2018-01-15 14:51:30 1094

原创 CountDownLatch闭锁

用法CountDownLatch是一种灵活的闭锁实现,它可以使一个活多个线程等待一组事件发生。闭锁状态包括一个计数器,该计数器被初始化一个正数,表示需要等待的时间数量。countDown方法递减计数器,表示有一个事件已经发生了,而await方法等待计数器达到0,这表示所有需要等待的时间都已经发生。如果计数器的值非零,那么await会一直阻塞知道计数器为零,或者等待中的线程中断,或者等待超时。

2018-01-14 14:16:08 347

原创 AQS

AQS的全称为(AbstractQueuedSynchronizer),是java.util.concurrent包中很多线程同步所需要的抽象类,具体在ReentrantLock的实现可以看这一篇文章http://ifeve.com/java-special-troops-aqs/疑问在阅读上面链接的文章时,在看到这段代码中产生了疑问:final boolean acquireQu

2018-01-13 20:19:05 275

原创 杭电选课脚本(二)

序上一篇实现了伪登陆选课系统,获取了cookie中的sessionID,这篇主要就是选课操作,大致过程就是不断地抓包,分析请求参数,请求参数可以在页面上抓取,比如很多form中的input都是隐藏的,都是可以抓取到,具体很多请求参数的抓取不想赘述。大致过程通过跨专业选课根据学号来查询课程获取课程的详细开班信息验证码的识别伪造参数选课!!细节这里不想说很多繁琐的

2018-01-08 19:08:15 2680

原创 杭电选课脚本(一)登录选课系统

序又到了学期末,选课的时间到了,中国的大学系统你懂得,卡,每次到了抢课时间,总是又卡又慢,半天刷不出来一个网站,如何写一个脚本,到了抢课时间运行一下,可以省时省力。这一篇只是伪登陆,后续的选课不知道能不能分析出来步骤伪登陆数字杭电登陆选课系统获取sessionId详细如果懒的看一步步的话,可以直接拉到底看代码第一步伪登陆数字杭电 打开chrome检查窗

2018-01-05 22:59:00 8509 1

原创 CyclicBarrier使用和源码分析

CyclicBarrier使用和源码分析一、CyclicBarrier用法字面意思回环栅栏,通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier,当调用await()方法之后,线程就处于barrier了。  CyclicBarrier类位于java.util.

2018-01-04 15:16:10 306

空空如也

空空如也

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

TA关注的人

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