自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 经纬度正则

经度范围[-180,180]:[\+\-]?((?:[0-9]|[1-9][0-9]|1[0-7][0-9])\.([0-9]{0,10})|[0-9]|[1-9][0-9]|1[0-7][0-9]|180)解释:[\+\-]?表示正负匹配一次或者不匹配;(?:[0-9]|[1-9][0-9]|1[0-7][0-9])\.([0-9]{0,10})表示小数部分,例如0.12345、100.00、179.9900其中(?:[0-9]|[1-9][0-9]|1[0-7][0-9])表示匹配其中的一项,

2021-05-27 15:31:59 711

翻译 Java happens-before-guarantee规则

本文翻译自http://tutorials.jenkov.com/java-concurrency/java-happens-before-guarantee.html,人工翻译,仅供学习交流。Java happens-before规则Java happens-before是一组规则,它决定了如何允许Java VM和CPU重新排列指令以提高性能。当一个变量值与主存同步或从主存同步时, happens before guarantee使得线程可以依赖同时同步的其他变量。Java happens befor

2021-05-17 14:31:19 195

翻译 Java内存模型

本文翻译自http://tutorials.jenkov.com/java-concurrency/java-memory-model.html,人工翻译,仅供学习交流。Java内存模型Java内存模型指定了Java虚拟机如何与计算机的内存(RAM)一起工作。Java虚拟机是整个计算机的模型所以,这个模型自然包含了一个内存模型——也就是Java内存模型。理解Java内存模型非常重要,如果您想设计行为正确的并发程序。Java内存模型指定不同的线程如何以及何时可以看到其他线程写入共享变量的值,以及在必要时如

2021-05-13 14:40:24 111

翻译 线程安全及不可变性

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicreferencearray.html,人工翻译,仅供学习交流。线程安全及不可变性只有当多个线程访问同一资源时才会出现竞争条件,一个或多个线程写入资源。多个线程读取相同的资源竞态条件不会发生。我们可以通过使共享对象不可变确保线程之间共享的对象不会被任何线程,更新因此线程是安全的。下面是一个例子:public class ImmutableValue{ private int v

2021-05-13 10:13:19 101

翻译 线程安全和共享资源

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicreferencearray.html,人工翻译,仅供学习交流。线程安全和共享资源多线程调用安全的代码被称为线程安全。如果代码的部分是线程安全的,则说明不含竞态条件。只有在多个线程更新共享资源时才会出现竞争条件。因此,了解Java线程在执行时共享哪些资源非常重要。本地变量本地变量存储在每个线程的自己栈中,意味着线程不共享本地变量。下面是一个线程安全本地变量的例子:`public

2021-05-12 14:56:46 117

翻译 竞态条件和临界区

本文翻译自http://tutorials.jenkov.com/java-concurrency/race-conditions-and-critical-sections.html,机翻加人工校正,仅供学习交流。竞态条件和临界区竞态条件是可能发生在临界区段内的并发问题。临界区是在多个线程执行的情况下,线程的执行顺序会对临界区访问的结果产生影响的一段代码。多个线程执行一个临界区的结果多个线程执行一个临界段的结果可能不同,这取决于线程的顺序执行,临界区包含竞态条件。竞态条件这个术语就来源于线程在临界区

2021-05-11 16:44:58 273 1

翻译 AtomicReferenceArray

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicreferencearray.html,人工翻译,仅供学习交流。AtomicReferenceArrayatomic包中的AtomicReferenceArray是一个可以原子更新的对象引用数组。AtomicReferenceArray类也支持比较并交换功能。创建AtomicReferenceArray您可以使用AtomicReferenceArray的两个构造函数之一来创建它。第

2021-05-10 18:19:26 872

翻译 AtomicLongArray

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomiclongarray.html,人工翻译,仅供学习交流。AtomicLongArrayjava.util.concurrent.atomic.AtomicLongArray表示一个int数组。AtomicLongArray中的int元素可以原子更新。AtomicLongArray还支持比较并交换功能。创建AtomicLongArray可以使用AtomicLongArray的两个构造函

2021-05-10 17:54:06 170

翻译 AtomicIntegerArray

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicintegerarray.html,人工翻译,仅供学习交流。AtomicIntegerArrayjava.util.concurrent.atomic.AtomicIntegerArray表示一个int数组。AtomicIntegerArray中的int元素可以原子更新。AtomicIntegerArray还支持比较并交换功能。创建AtomicIntegerArray可以使用Ato

2021-05-10 16:13:59 735

翻译 AtomicStampedReference

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicstampedreference.html,人工翻译,仅供学习交流。AtomicStampedReferenceAtomicStampedReference类提供了一个以原子形式读写的对象引用变量。原子性意味着多个线程试图改变同一的AtomicStampedReference时,AtomicStampedReference最终会处于一个一致的状态。AtomicStampedRefere

2021-05-10 15:39:21 1150

翻译 AtomicReference

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicreference.html,人工翻译,仅供学习交流。AtomicReferenceAtomicReference类提供了一个对象引用变量,它可以原子地读写。原子是指多个线程试图更改同一个AtomicReference(例如,CAS)不会使AtomicReference最终处于不一致的状态。AtomicReference甚至有一个高级的compareAndSet()方法让您将引用与期望

2021-05-10 14:43:05 1402

翻译 AtomicLong

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomiclong.html,人工翻译,仅供学习交流。AtomicLongAtomicLong类为您提供了一个Long变量,它可以原子地读写。它也包含像compareAndSet()这样的高级原子操作。AtomicLong类位于java.util.concurrent.atomic包中,因此完整的类名java.util.concurrent.atomic.AtomicLong。本文描述了在Jav

2021-05-10 14:01:46 684

翻译 AtomicInteger

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicinteger.html,人工翻译,仅供学习交流。AtomicIntegerAtomicInteger类提供了一个int变量,可以以原子方式读写,也包含像compareAndSet()这样的高级原子操作。AtomicInteger类位于java.util.concurrent.atomic包中,所以完整的类名是java.util.concurrent.atomic.AtomicInte

2021-05-08 18:20:48 880

翻译 AtomicBoolean

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/atomicboolean.html,人工翻译,仅供学习交流。AtomicBooleanAtomicBoolean类为您提供了一个布尔变量,可以以原子的方式读取和写入,它还包含了像compareAndSet()这样的高级原子操作。AtomicBoolean类位于java.util.concurrent.atomic包中,所以完整的类名是java.util.concurrent.atomic.Ato

2021-05-08 18:01:33 210

翻译 ReadWriteLock

ReadWriteLockreadwritelock是一种高级的线程锁机制,它允许多个线程读取某个资源,但一次只能有一个线程写入它。其思想是,多个线程可以同时从共享资源中读取,而不会导致并发性错误。并发错误首先发生在对共享资源的读写并发发生时,或者多个写入并发发生。在本文中,我只介绍了Java内置的ReadWriteLock。如果您想了解更多关于ReadWriteLock实现背后的理论.。你可以在我的Java并发教程中读到Read - Write Locks。ReadWriteLock锁定规则允许

2021-05-08 17:27:57 86

翻译 Java Lock

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/lock.html,人工翻译,仅供学习交流。Java Lockjava.util.concurrent.locks.Lock接口表示一个并发锁,它可以用来防止临界区段内的竞态条件。Java Lock接口为Java同步块提供了一个更灵活的替代方案。在本Java Lock教程中,我将解释Lock接口是如何工作的,以及如何使用它。如果您不熟悉Java同步块、竞态条件和临界区,你可以在我的教程中了解更多

2021-05-08 14:50:42 101

翻译 Java Fork and Join using ForkJoinPool

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/java-fork-and-join-forkjoinpool.html,人工翻译,仅供学习交流。Java Fork and Join using ForkJoinPool在Java 7中添加了ForkJoinPool,ForkJoinPool类似于Java ExecutorService,但有一个区别。ForkJoinPool使任务很容易把他们的工作分割成更小的可以提交给ForkJoinPool

2021-05-08 11:18:58 91

翻译 ScheduledExecutorService

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/scheduledexecutorservice.html,人工翻译,仅供学习交流。ScheduledExecutorServicejava.util.concurrent.ScheduledExecutorService 是一个能够安排任务延迟运行,或者在固定的时间间隔内重复执行的ExecutorService。请求由工作线程异步执行,而不是通过将任务交给ScheduledExecutorSer

2021-05-08 09:57:55 508

翻译 ThreadPoolExecutor

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/threadpoolexecutor.html,人工翻译,仅供学习交流。ThreadPoolExecutorjava.util.concurrent.ThreadPoolExecutor是 ExecutorService接口的实现类。ThreadPoolExecutor使用它的一个内部先查池执行给定的任务(Callable或Runnable).ThreadPoolExecutor中包含的线程池可

2021-05-07 18:11:48 85

翻译 Java Future

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/java-future.html,人工翻译,仅供学习交流。Java Futurejava.util.concurrent.Future类表示一个异步计算结果,创建异步任务时,将返回一个Java Future对象。Future对象作为异步任务结果的句柄。一旦异步任务完成,结果可以通过任务启动时返回的Future对象访问。一些Java内置的并发工具类,比如Java ExecutorService,会

2021-05-07 18:02:43 87

翻译 Java Callable

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/java-callable.html,人工翻译,仅供学习交流。Java Callablejava.util.concurrent.Callable接口表示可以由单独线程执行的异步任务。例如,可以提交Callable对象到异步执行它的Java ExecutorService。Java Callable接口定义Java Callable接口非常简单,它包含一个名为call()的方法。Callabl

2021-05-07 17:30:23 290

翻译 ExecutorService

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/executorservice.html,人工翻译,仅供学习交流。ExecutorServicejava.util.concurrent.ExecutorService接口是一种能够在后台并发执行任务的异步执行机制。本文中,我将会介绍如何创建ExecutorService,如何向它提交要执行的任务,如何查看这些任务的结果以及当需要时,如何再次关闭ExecutorService。任务委派下面的图

2021-05-07 17:10:33 2512

翻译 Semaphore

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/semaphore.html,人工翻译,仅供学习交流。Semaphorejava.util.concurrent.Semaphore类是一个计数信号量。这意味着他有两个主要的方法:acquire()release()计数信号量被初始化为给定数量的“许可”。每次调用acquire()时,调用线程都会获得一个许可。每次调用release()都会返回一个许可给信号量。如果N是初始化信号量时的许可

2021-05-07 15:00:29 43

翻译 Exchanger

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/exchanger.html,人工翻译,仅供学习交流。Exchangerjava.util.concurrent.Exchanger表示一种集合点,两个线程可以在此交换对象。下面是这个机制的一个例子:交换对象是通过两个exchange()方法中的一个完成的。这里有一个例子:Exchanger exchanger = new Exchanger();ExchangerRunnable ex

2021-05-07 14:02:22 58

翻译 CyclicBarrier

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/cyclicbarrier.html,人工翻译,仅供学习交流。CyclicBarrierjava.util.concurrent.CyclicBarrier类是一种通过某种算法同步线程的同步机制。换句话说,在任何线程继续执行之前,除非所有的线程都到达屏障,否则所有线程都要等待。下面是示意图:两个线程通过调用Cyclibarrier的await()方法等待对方。一旦所有的线程都处在CyclicBa

2021-05-07 13:57:42 54

翻译 CountDownLatch

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/countdownlatch.html,人工翻译,仅供学习交流。CountDownLatchjava.util.concurrent.CountDownLatch是一个允许一个或多个线程等待一组给定的操作完成后的并发结构。闭锁初始化给定一个计数,这个值会通过调用countDown()方法增加。一直等待到为0的线程可以先调用await()方法进行等待。调用await()方法会阻塞线程直到计数为0。

2021-05-07 11:32:22 41

翻译 ConcurrentNavigableMap

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/concurrentnavigablemap.html,人工翻译,仅供学习交流。ConcurrentNavigableMapConcurrentNavigableMap类是为了支持NavigableMap并发访问的而设计的子接口,使其子类可以实现并发访问。可以通过不同的方法,如 headMap(), subMap() 和tailMap(),返回这些子类。比起重新解释NavigableMap中的所

2021-05-07 11:06:20 368

翻译 ConcurrentMap

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/concurrentmap.html,人工翻译,仅供学习交流。ConcurrentMapjava.util.concurrent.ConcurrentMapConcurrentMap接口表示一个Map,它能够处理对它的并发访问(存入和取出)。除了从它的超接口java.util.Map继承的方法之外,ConcurrentMap有一些额外的原子方法。ConcurrentMap实现类由于Concu

2021-05-06 16:38:55 269

翻译 LinkedBlockingDeque

本文翻译自http://tutorials.jenkov.com/java-concurrency/race-conditions-and-critical-sections.html,人工翻译,仅供学习交流。LinkedBlockingDeque链表阻塞双向队列实现阻塞双向队列接口,阅读阻塞双向队列文章获取更多内容。deque是双向队列的缩写,你可以插入和删除元素从双向队列的任意一端。当链表阻塞双向队列为空时,如果一个线程从其内部获取元素,无论从哪一端尝试获取元素,线程都将会阻塞。下面是如何实例

2021-05-06 16:15:09 88

翻译 BlockingDeque

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/blockingdeque.html,机翻加人工校正,仅供学习交流。BlockingDeque在java.util.concurrent包中,BlockingDeque接口是一个线程安全的插入和取出的双向队列。在本文中,我将向您展示如何使用BlockingDeque。BlockingDeque是一个阻塞线程插入或删除元素的双向队列,如果不能从双向队列中插入或删除元素。deque是“双尾队列”的

2021-05-06 16:07:07 273

翻译 SynchronousQueue

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/synchronousqueue.html,机翻加人工校正,仅供学习交流。SynchronousQueueSynchronousQueue类实现了BlockingQueue接口。阅读BlockingQueue以获得关于该接口的更多信息。SynchronousQueue是一个可以用来与另一个线程交换单个元素的队列。将元素插入队列的线程被阻塞直到另一个线程从队列中获取该元素。如果线程试图获取某个元素

2021-05-06 14:57:00 42

翻译 PriorityBlockingQueue

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/priorityblockingqueue.html,机翻加人工校正,仅供学习交流。PriorityBlockingQueuePriorityBlockingQueue类实现了BlockingQueue接口。阅读BlockingQueue文本以获得关于该接口的更多信息。PriorityBlockingQueue是一个无界并发队列。它使用与java.util.PriorityQueue类相同的排序规

2021-05-06 14:47:19 87

翻译 LinkedBlockingQueue

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/linkedblockingqueue.html,机翻加人工校正,仅供学习交流。LinkedBlockingQueueLinkedBlockingQueue类实现了BlockingQueue接口,阅读BlockingQueue文本以获得关于该接口的更多信息。LinkedBlockingQueue在内部将元素保持在一个链接结构(链接节点)中。如果需要,这个链接结构可以设置一个上限。如果没有指定上限

2021-05-06 14:31:37 65

翻译 DelayQueue

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/delayqueue.html,机翻加人工校正,仅供学习交流。DelayQueueDelayQueue类实现了BlockingQueue接口。阅读BlockingQueue以获得关于该接口的更多信息。DelayQueue在内部阻塞元素,直到某个延迟过期,元素必须实现接口java.util.concurrent.Delayed。以下是接口的展示:public interface Delayed

2021-05-06 14:27:29 43

翻译 ArrayBlockingQueue

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/arrayblockingqueue.html,机翻加人工校正,仅供学习交流。ArrayBlockingQueueArrayBlockingQueue类实现了BlockingQueue接口,阅读BlockingQueue文章以获得关于该接口的更多信息。ArrayBlockingQueue是一个有界的阻塞队列,它将元素存储在一个数组内部。有界意味着它不能存储无限量的元素,它同时可以存储的元素数量有

2021-05-06 13:36:05 93

翻译 Java BlockingQueue

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/blockingqueue.html,机翻加人工校正,仅供学习交流。Java BlockingQueue接口Java BlockingQueue接口表示一个线程安全的队列,可以将元素放入,也可以取出。换句话说,多个线程可以同时从Java Bloc中插入和获取元素,不会有任何并发性问题。阻塞队列这个术语就来自于Java BlockingQueue 接口能够阻塞试图在队列插入或获取元素的线程。如果一

2021-05-06 11:55:05 806

翻译 Java并发工具包--java.util.concurrent

本文翻译自http://tutorials.jenkov.com/java-util-concurrent/index.html,机翻加人工校正,仅供学习交流。Java并发工具包–java.util.concurrent在Java 5版本新添加了一个Java .util.concurrent包,这个包包含一组使得在Java并发(多线程)应用程序开发中更加容易的类。在添加此包之前,您必须自己编写工具类。在本教程中,我将带您浏览java.util.concurrent中所有的类,所以你可以学习如何使用它们

2021-05-06 10:19:43 164

翻译 创建和启动Java线程

本文翻译自http://tutorials.jenkov.com/java-concurrency/creating-and-starting-threads.html,机翻加人工校正,仅供学习交流。创建和启动Java线程Java线程就像一个虚拟CPU,可以在Java应用程序内部执行Java代码。当一个Java应用程序启动时,它的main()方法由主线程执行,Java 虚拟机会创建一个特殊的线程来运行您的应用程序。在主线程中,您的应用程序可以创建并启动多个并行执行应用程序代码的部分的线程。Java线程与

2021-04-30 11:39:06 205

翻译 单线程并发

本文翻译自http://tutorials.jenkov.com/java-concurrency/singlethreaded-concurrency.html,机翻加人工校正,仅供学习交流。单线程并发单线程并发意味着从一个线程内似乎同时在多个任务上取得进展。从表面上看,单线程并发听起来有点矛盾。在以前多线程体系结构中,多个任务将被分配到多个线程中,以便并发执行。因此,不同任务之间的切换是通过操作系统和CPU之间的不同切换来完成的。实际上,一个线程可以同时在多个任务上取得进展。在这个单线程并发性教程中

2021-04-29 22:44:01 1880

翻译 并发与并行

本文翻译自http://tutorials.jenkov.com/java-concurrency/concurrency-vs-parallelism.html,机翻加人工校正,仅供学习交流。并发与并行并发和并行通常用于多线程程序。乍一看,并发性和并行性似乎是指相同的概念,然而,并发和并行实际上有不同的含义。在这个并发与并行的教程中,我将解释这些概念的含义。事先说明,在本文中,我将讨论单个应用程序(单个进程)中的并发性和并行性,不在多个应用程序、过程或计算机之间。并行vs并行教程视频如果你更喜欢

2021-04-27 15:42:24 609 1

空空如也

空空如也

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

TA关注的人

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