自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (4)
  • 收藏
  • 关注

原创 监听文件改变 fileAlterationMonitor

监听文件改动Apacha common.io2.0提供了监听文件变化的功能。功能由三个组件组成。 监听器 FileAlterationListener 用于实现文件改变时触发的行为。 观察者 FileAlterationObserver 用于观察文件的改变,通知注册的监听器执行相应的事件。 监视器 FileAlterationMonitor 通过一线程...

2018-08-25 00:05:58 7573

原创 九、并发工具类之Semaphore

流量控制 SemaphoreSemaphore是一个计数的信号量。初始化时分配一个配额permits。在访问前需要用acquire()方法申请一个配额,访问结束后调用release()释放配置。申请配额时如果配额不足将会阻塞。例子:有2个足球,4个人射门练习。每个人射门后都要把球拿回来,后面的人才能射球。public class Player implements Runnable...

2018-08-24 17:46:10 194

原创 八、并发工具类之CyclicBarrier

CyclicBarrierCyclicBarrier和CountDownLatch功能相似。CyclicBarrier是所有参与线程互相等待对方执行到某点,再一起执行后面程序。与CountDownLatch一样,CyclicBarrier的构造函数也需要一个int类型的参数 parties,表示参与者数量。每一个线程调用cyclicBarrier对象的await方法就会进入等待。直到参与线...

2018-08-24 10:58:39 143

原创 七、并发工具类之CountDownLatch

CountDownLatch一个线程需要等到其他线程进行某操作时,可以使用CountDownLatch。 CountDownLatch构造方法,带有一个int类型的参数。public CountDownLatch(int count) 当一个线程调用countDownLatch.await()时,线程会等待。直到其他线程执行 countDownLatch.countDown()。每...

2018-08-23 21:21:41 154

原创 六、多线程-CAS

CAS锁的开销极大。在某些场景,如保证一个变量的 read-modify-write操作的原子性。这种场景可以通过使用CAS解决而不需要用到锁。CAS,Compare and swap 比较并交换,是一种乐观锁的实现方式。是一个中由处理器保证原子性的if-then-act操作。它通过提供一个变量内存位置,预期值(旧值)和新值。将预期值和变量的当前值进行比较,如果相等即证明变量并没有被改变,...

2018-08-19 21:38:18 627

原创 五、多线程协作之等待唤醒机制

线程间协作多线程开发中,线程往往都不是孤立的。一个线程往往需要多线程协作完成其待执行的任务。等待唤醒机制就是用来协调线程间的协作。例如:街边的小吃店都是生产一份等销售完再生产,这是典型的生产者消费者模式。下面用代码实现这个场景。等待唤醒机制的好处: 节省cpu。线程间通讯也可以通过轮询的方式来检查条件进行协作,但是会消耗大量cpu。用生产者/消费者模式举例。在生产者生产的时候,消费者并不需...

2018-08-19 19:27:24 311

原创 四、线程同步-volatile关键字

一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 禁止进行指令重排序。 例子 private boolean stop=true; @Test public void test() throws Excep...

2018-08-09 11:23:15 219

原创 三、java多线程同步-锁

锁概述锁是解决线程安全问题的最基本的解决方案。通过加锁,使得会发生线程安全问题的代码单线程串行。从而解决线程安全问题。锁的分类公平锁和非公平锁公平锁是按照锁申请的顺序来分配锁资源。 非公平锁是允许插队的,可能后申请的线程比先申请的线程优先获取锁。java中锁一般默认都是非公平锁。因为公平锁为了保障公平往往会增加线程的唤醒和暂停。例如一个运行中的线程要获取锁必须先检查有没有其...

2018-08-08 15:17:02 206

原创 二、多线程存在的问题和Java内存模型

多线程存在的问题多线程运用得好可以大大提高系统的性能。但是使用不当也会对系统造成毁灭性灾难。线程安全问题。多个线程操作共享数据时,会产生线程安全问题。导致读取脏数据或者丢失更新等问题 线程活性问题。由于程序问题导致一个线程一直处于非Runnable状态或者处于Runnable状态但执行的任务没有紧张称为线程活性问题。例如:两个线程,线程1需要先占用锁1,再占用锁2。线程2需要先占用锁2,...

2018-08-06 14:44:02 171

原创 一、java多线程基础

多线程的概念进程是程序运行的实例。启动一个java程序其实就是启动了一个jvm的进程。进程是程序向操作系统申请资源(内存空间、文件句柄等)的基本单位。线程是进程中可以独立执行的最小单位。进程和线程的关系,可以比喻成一个项目组和组员的关系。项目组完成一个项目需要需求,开发,测试。这些往往都是并行的。需要需求,开发和测试人员协作完成。他们共享项目组的资源,如需求文档,功能代码等。为什么...

2018-08-04 14:40:03 174

jvm规范和java规范

jvm规范和java规范书籍。对深入理解JVM和深入了解java很有帮助

2018-09-06

java,jquery,python api文档

各种编程语言api文档 各种编程语言api文档 各种编程语言api文档 各种编程语言api文档 各种编程语言api文档 各种编程语言api文档

2018-04-15

车辆租凭系统java源码

车辆租凭系统,java 车辆租凭系统,java 车辆租凭系统,java 车辆租凭系统,java

2018-04-15

漂亮登录页面模版

漂亮登录页面模版 漂亮登录页面模版漂亮登录页面模版漂亮登录页面模版漂亮登录页面模版漂亮登录页面模版

2018-04-15

空空如也

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

TA关注的人

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