自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吃四碗饭的嘤嘤怪的博客

一个爱吃饭的码畜

原创 函数式编程(基础部分)

函数式编程是Java1.8新增内容: 1.FunctionalInterface注释 Java8提出了函数式接口的概念。简单来说就是只定义了单一抽象方法的接口。比如下面的定义: package function; @FunctionalInterface public interface...

2018-08-28 00:13:30

阅读数 2825

评论数 0

转载 EsayPoi模板导出在Linux上的导出问题(解)

由于Linux与Windows环境上路径解析模板会有问题:会爆空指针异常 所以在TemplateExportParams params = new TemplateExportParams("excel/XXXXX.xlsx"); 先添加一个工具方法: public ...

2018-08-27 15:21:38

阅读数 3230

评论数 0

原创 Future模式

Future模式是多线程开发中常见的设计模式,它的核心思想是异步调用。对于Future模式来说,它无法立即返回你需要的数据,但是它会返回一个契约,将来你可以凭借这个契约去获取你需要的信息。 这是传统的同步方法,调用一段耗时的程序。当客户端发出call请求,这个请求需要很长的一段时间才会返回,...

2018-08-23 22:57:42

阅读数 3498

评论数 0

原创 ThreadLocal使用及原理

1.ThreadLocal的简单使用 从ThreadLocal的名字上可以看到,这是个线程的局部变量。也就是说只有当前线程可以访问,既然是只有当前线程池可以访问的数据自然是线程安全的。 package thread; import java.text.ParseException; imp...

2018-08-13 00:00:37

阅读数 6556

评论数 0

原创 JDK并发包(线程池)(2)

在线程池中寻找堆栈 首先来看下这段代码 package thread.pool; import java.util.concurrent.SynchronousQueue; import java.util.concurrent.ThreadPoolExecutor; import jav...

2018-08-08 22:59:00

阅读数 2427

评论数 0

原创 JDK并发包(线程池)(1)

1.什么是线程池 为了避免系统频繁地创建和销毁线程,我们可以让创建的线程进行复用。如同数据库连接池一样当系统使用数据库时不是创建一个新的连接,而是从连接池中获取一个可用的连接,反之当需要关闭连接是,并不是真的进行关闭连接,而是将这个连接返还给连接池。通过这种方式,可以节约很多创建和销毁对象的时间...

2018-08-07 22:17:44

阅读数 2424

评论数 0

原创 JDK并发包(3)

1.循环栅栏:CyclicBarrier CyclicBarrier是另一种多线程并发控制实用工具。它和CountDownLatch非常类似,它也可以实现线程间的计数等待,而且他的功能比CountDownLatch更加复杂强大。假如将计数器设为10,那么在凑足10个线程后,计数器会归零,然后接着...

2018-08-03 22:00:31

阅读数 2351

评论数 0

原创 JDK并发包(2)

1.允许多个线程同时访问:信号量(Semaphore) 从广义的来说,信号量是对锁的扩展。无论是内部锁synchronized还是重入锁ReentrantLock一次都只允许一个线程访问一个资源,而信号量可以指定多个线程,同时访问某一个资源。信号量主要提供以下两个构造器: public Se...

2018-08-02 23:54:25

阅读数 2464

评论数 0

原创 JDK并发包(1)

1.重入锁 重入锁可以替代synchronized关键字。在JDK5.0中重入锁性能好于synchronized但是从JDK6.0开始,JDK对synchronized做了大量优化是得两者性能差距不多。 重入锁使用java.util.concurrent.locks.ReentrantLock...

2018-08-01 23:48:51

阅读数 2542

评论数 0

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