自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序那些事

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!...

原创 Phaser都不懂,还学什么多线程
原力计划

前面的文章中我们讲到了CyclicBarrier、CountDownLatch的使用,这里再回顾一下CountDownLatch主要用在一个线程等待多个线程执行完毕的情况,而CyclicBarrier用在多个线程互相等待执行完毕的情况。 Phaser是java 7 引入的新的并发API。他引入了新...

2020-03-31 09:08:30 8922 0

原创 关于CompletableFuture的一切,看这篇文章就够了
原力计划

文章目录CompletableFuture作为Future使用异步执行code组合FuturesthenApply() 和 thenCompose()的区别并行执行任务异常处理 java中CompletableFuture的使用 之前的文章中,我们讲解了Future, 本文我们将会继续讲解java...

2020-03-30 09:20:22 9519 2

原创 java中FutureTask的使用
原力计划

文章目录FutureTask简介Callable和Runnable的转换以Runnable运行 java中FutureTask的使用 FutureTask简介 FutureTask是java 5引入的一个类,从名字可以看出来FutureTask既是一个Future,又是一个Task。 我们看下Fu...

2020-03-28 16:12:28 9033 0

原创 java中ThreadLocalRandom的使用

java中ThreadLocalRandom的使用 在java中我们通常会需要使用到java.util.Random来便利的生产随机数。但是Random是线程安全的,如果要在线程环境中的话就有可能产生性能瓶颈。 我们以Random中常用的nextInt方法为例来具体看一下: public ...

2020-03-27 09:18:35 8958 0

原创 在java中使用JMH(Java Microbenchmark Harness)做性能测试
原力计划

文章目录使用JMH做性能测试BenchmarkModeFork和WarmupState和Scope 在java中使用JMH(Java Microbenchmark Harness)做性能测试 JMH的全称是Java Microbenchmark Harness,是一个open JDK中用来做性能测...

2020-03-26 09:25:48 9076 0

原创 java中CyclicBarrier的使用
原力计划

文章目录CyclicBarrier的方法CyclicBarrier的使用 java中CyclicBarrier的使用 CyclicBarrier是java 5中引入的线程安全的组件。它有一个barrier的概念,主要用来等待所有的线程都执行完毕,然后再去执行特定的操作。 假如我们有很多个线程,每个...

2020-03-25 09:26:54 8936 0

原创 java并发中CountDownLatch的使用
原力计划

文章目录主线程等待子线程全都结束之后再开始运行等待所有线程都准备好再一起执行停止CountdownLatch的await java并发中CountDownLatch的使用 在java并发中,控制共享变量的访问非常重要,有时候我们也想控制并发线程的执行顺序,比如:等待所有线程都执行完毕之后再执行另外...

2020-03-24 10:07:56 8989 0

原创 java中Locks的使用
原力计划

文章目录Lock和Synchronized Block的区别Lock interfaceReentrantLockReentrantReadWriteLockStampedLockConditions java中Locks的使用 之前文章中我们讲到,java中实现同步的方式是使用synchroni...

2020-03-23 09:52:15 8891 0

原创 java 中的fork join框架
原力计划

文章目录ForkJoinPoolForkJoinWorkerThreadForkJoinTask在ForkJoinPool中提交Task java 中的fork join框架 fork join框架是java 7中引入框架,这个框架的引入主要是为了提升并行计算的能力。 fork join主要有两个...

2020-03-20 09:56:07 8908 0

原创 java中ThreadPool的介绍和使用
原力计划

文章目录Thread Pool简介Executors, Executor 和 ExecutorServiceThreadPoolExecutorScheduledThreadPoolExecutorForkJoinPool java中ThreadPool的介绍和使用 Thread Pool简介 在...

2020-03-19 09:22:13 8984 0

原创 java中的daemon thread

java中的daemon thread java中有两种类型的thread,user threads 和 daemon threads。 User threads是高优先级的thread,JVM将会等待所有的User Threads运行完毕之后才会结束运行。 daemon threads是低优先级...

2020-03-18 09:07:39 8900 0

原创 java中interrupt,interrupted和isInterrupted的区别
原力计划

文章目录isInterruptedinterruptedinterrupt java中interrupt,interrupted和isInterrupted的区别 前面的文章我们讲到了调用interrupt()来停止一个Thread,本文将会详细讲解java中三个非常相似的方法interrupt,...

2020-03-17 09:22:28 8969 0

原创 java中的Atomic类

文章目录问题背景Lock使用Atomic java中的Atomic类 问题背景 在多线程环境中,我们最常遇到的问题就是变量的值进行同步。因为变量需要在多线程中进行共享,所以我们必须需要采用一定的同步机制来进行控制。 通过之前的文章,我们知道可以采用Lock的机制,当然也包括今天我们讲的Atomic...

2020-03-16 09:23:42 8925 0

原创 怎么在java中关闭一个thread

怎么在java中关闭一个thread 我们经常需要在java中用到thread,我们知道thread有一个start()方法可以开启一个线程。那么怎么关闭这个线程呢? 有人会说可以用Thread.stop()方法。但是这个方法已经被废弃了。 根据Oracle的官方文档,Thread.stop是不安...

2020-03-15 09:51:53 8978 0

原创 java中join的使用

java中join的使用 join()应该是我们在java中经常会用到的一个方法,它主要是将当前线程置为WAITTING状态,然后等待调用的线程执行完毕或被interrupted。 join()是Thread中定义的方法,我们看下他的定义: /** * Waits for this...

2020-03-14 08:56:29 8910 0

原创 java中线程的生命周期
原力计划

文章目录java中Thread的状态NEWRunnableBLOCKEDWAITINGTIMED_WAITINGTERMINATED java中线程的生命周期 线程是java中绕不过去的一个话题, 今天本文将会详细讲解java中线程的生命周期,希望可以给大家一些启发。 java中Thread的状态...

2020-03-13 10:07:45 10490 0

原创 java中ThreadLocal的使用
原力计划

文章目录在Map中存储用户数据在ThreadLocal中存储用户数据 java中ThreadLocal的使用 ThreadLocal主要用来为当前线程存储数据,这个数据只有当前线程可以访问。 在定义ThreadLocal的时候,我们可以同时定义存储在ThreadLocal中的特定类型的对象。 Th...

2020-03-12 09:53:04 10540 0

原创 java中Runnable和Callable的区别
原力计划

文章目录运行机制返回值的不同Exception处理 java中Runnable和Callable的区别 在java的多线程开发中Runnable一直以来都是多线程的核心,而Callable是java1.5添加进来的一个增强版本。 本文我们会详细探讨Runnable和Callable的区别。 运行机...

2020-03-11 09:18:36 10667 0

原创 java并发中ExecutorService的使用
原力计划

文章目录创建ExecutorService为ExecutorService分配Tasks关闭ExecutorServiceFutureScheduledExecutorServiceExecutorService和 Fork/Join java并发中ExecutorService的使用 Execu...

2020-03-10 11:01:55 10655 0

原创 java中Future的使用

文章目录创建Future从Future获取结果取消Future多线程环境中运行 java中Future的使用 Future是java 1.5引入的一个interface,可以方便的用于异步结果的获取。 本文将会通过具体的例子讲解如何使用Future。 创建Future 正如上面所说,Future代...

2020-03-09 09:17:39 10619 0

原创 java中wait和sleep的区别

文章目录Wait和sleep的区别唤醒wait和sleep java中wait和sleep的区别 在本篇文章中,我们将会讨论一下java中wait()和sleep()方法的区别。并讨论一下怎么使用这两个方法。 Wait和sleep的区别 wait() 是Object中定义的native方法: pu...

2020-03-08 09:33:25 10544 0

原创 java中的Volatile关键字使用

文章目录什么时候使用volatileHappens-Before java中的Volatile关键字使用 在本文中,我们会介绍java中的一个关键字volatile。 volatile的中文意思是易挥发的,不稳定的。那么在java中使用是什么意思呢? 我们知道,在java中,每个线程都会有个自己的...

2020-03-07 08:55:46 10529 0

原创 Spring Boot JPA 中transaction的使用

文章目录@Transactional的实现@Transactional的使用Transaction的传播级别REQUIREDSUPPORTSMANDATORYNEVERNOT_SUPPORTEDREQUIRES_NEWNESTEDTransaction的隔离级别READ_UNCOMMITTEDRE...

2020-03-06 09:08:08 10729 0

原创 java并发中的Synchronized关键词

文章目录为什么要同步Synchronized关键词Synchronized Instance MethodsSynchronized Static MethodsSynchronized Blocks java并发中的Synchronized关键词 如果在多线程的环境中,我们经常会遇到资源竞争的情...

2020-03-06 09:05:03 10480 0

原创 java.util.concurrent简介
原力计划

文章目录主要的组件ExecutorExecutorServiceScheduledExecutorServiceFutureCountDownLatchCyclicBarrierSemaphoreThreadFactory java.util.concurrent简介 java.util.conc...

2020-03-05 09:06:03 10520 0

原创 Spring Boot JPA中关联表的使用

文章目录添加依赖构建Entity构建Repository构建初始数据测试 Spring Boot JPA中关联表的使用 本文中,我们会将会通过一个Book和Category的关联关系,来讲解如何在JPA中使用。 添加依赖 我们还是使用H2内存数据库来做测试: <depende...

2020-03-04 09:14:56 10594 0

原创 Spring Boot JPA的查询语句
原力计划

文章目录准备工作Containing, Contains, IsContaining 和 LikeStartsWithEndsWith大小写不敏感Not@Query Spring Boot JPA的查询语句 之前的文章中,我们讲解了如何使用Spring Boot JPA, 在Spring Boot...

2020-03-03 09:30:52 10907 0

原创 Spring Boot JPA中使用@Entity和@Table

文章目录默认实现使用@Table自定义表格名字在JPQL Queries中重写表格名字 Spring Boot JPA中使用@Entity和@Table 本文中我们会讲解如何在Spring Boot JPA中实现class和数据表格的映射。 默认实现 Spring Boot JPA底层是用Hibe...

2020-03-02 08:54:52 11655 0

原创 在Spring Boot中使用内存数据库

文章目录H2数据库HSQLDBApache DerbySQLite 在Spring Boot中使用内存数据库 所谓内存数据库就是可以在内存中运行的数据库,不需要将数据存储在文件系统中,但是相对于普通的数据库而言,内存数据库因为数据都在内存中,所以内存的数据库的存取速度会更快。 本文我们将会讨论如何...

2020-03-01 08:38:39 10915 0

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