java8新特性:Lambda 表达式

主要内容 1. Lambda 表达式 2. 函数式接口 3. 方法引用与构造器引用 4. Stream API 5. 其他新特性 Java 8新特性简介 速度更快 代码更少(增加了新的语法 Lambda 表达式) 强大的 Stream API 便于并行 最大化减少空指针异常 Optional...

2018-11-30 14:24:59

阅读数:5

评论数:0

elasticsearch检索方式

query String search query SDL query filter full-text search phrase search highlight search 一、query String search 搜索全部type下的document:GET /index/...

2018-08-20 10:00:19

阅读数:43

评论数:0

elasticsearch常用API

一、快速检查集群的健康状况:GET /_cat/health?v。集群健康状况分为三种:green,yellow,red        green:每个index的primary shard和replica shard都是active状态         yellow:每个index的prim...

2018-08-19 20:08:10

阅读数:57

评论数:0

elasticsearch的核心概念

一、near realTime(NRT):近实时,从写入数据到数据可以搜索到有一个小延迟(一秒),基于es的搜索和分析可以达到秒级 二、集群:包含多个节点,每个节点是属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的。 三、node节点:集群中的一个节点,节点的名...

2018-08-19 19:14:21

阅读数:85

评论数:0

Java并发多线程:JUC - 线程池

线程池提供了一个线程队列,队列中保存了所有等待状态的线程,避免了创建和销毁的额外开销,提高了响应速度java.util.concurrent.Executor:负责线程的使用与调度的根接口    ExecutorService:子接口,线程池的主要接口        ThreadPoolExecu...

2018-07-01 17:47:41

阅读数:41

评论数:0

Java并发多线程:JUC - 非静态方法的锁和静态方法的锁

非静态方法的锁是this,静态方法的锁是对应的class(如:String.class)当线程A和线程B访问相同共享数据:1、当线程A和线程B同属于非静态方法时,存在锁竞争问题2、当线程A和线程B同属于静态方法时,存在锁竞争问题3、当线程A属于非静态方法,线程B属于静态方法时,不存在锁竞争问题(当...

2018-06-30 23:05:31

阅读数:53

评论数:0

Java并发多线程:JUC - 虚假唤醒

生产者与消费者实例 《==》数据生产添加者与数据销毁删除者简单来说就是同时唤醒多个消费者或生产者,为了避免这个问题,线程等待应该总是使用在循环中,如:while这里同步方式可使用隐式锁synchronized和显示锁Locksynchronized —> Object.wai...

2018-06-30 22:09:46

阅读数:34

评论数:0

Java并发多线程:JUC - 同步锁Lock

用于解决多线程安全问题的方式:    一、同步代码块(隐式锁synchronized)    二、同步方法(隐式锁synchronized)    三、同步锁Lock(显示锁,需要通过Lock()方法加锁,必须通过unLock()方法释放锁)           ReentrantLock是Loc...

2018-06-30 20:40:15

阅读数:39

评论数:0

java并发多线程:JUC - 创建执行线程的方式三(callable)

创建执行线程的方式总共有4种1、继承thread2、实现runnable3、实现callable4、使用ExecutorService、Callable、Future实现有返回结果的线程callable支持泛型,能抛出异常,并且有返回值(泛型类型即返回值类型)callable需要futureTas...

2018-06-30 17:02:02

阅读数:23

评论数:0

Java并发多线程:JUC - CountDownLatch

CountDownLatch是一个同步的辅助类,在完成一组在其他线程中执行的操作之前,运行一个或多个线程等待。如:计算5个线程执行所需的时间,当5个线程全部执行完后,在执行这个线程进行计算时间确保某个计算在其所需的所有资源都被初始化完成后才继续执行确保某个服务在其依赖的所有服务都启动后才启动等待某...

2018-06-30 15:54:06

阅读数:33

评论数:0

Java并发多线程:JUC — ConcurrentHashMap锁分段机制

ConcurrentHashMap同步容器类是一个线程安全的hash表,对多线程的操作介于hashMap和hashTable之间,hashMap是线程不安全的,hashTable是线程安全的,采用独占锁机制。而ConcurrentHashMap内部采用的是锁分段机制。Java8后,底层并发支持采用...

2018-06-30 14:54:16

阅读数:29

评论数:0

Java并发多线程:JUC原子变量

java.util.concurrent.atomic包下提供了一些常用的原子操作的常用类     AtomicBoolean、AtomicInteger、AtomicLong、AtomicReference     AtomicIntegerArray、AtomicLongArray     A...

2018-06-30 14:34:39

阅读数:22

评论数:0

java并发多线程JUC:原子变量与CAS算法

高并发下的原子性问题:    如:i ++操作,分为三个步骤:先在主存中读出数据 —> 修改数据 —> 将数据写回主存中现有两个线程:线程A,线程B当线程A执行 i ++操作时,先在主存中将数据读出来,然后对数据进行自增修改,这时候线程B也读取到了主存中...

2018-06-30 13:13:09

阅读数:32

评论数:0

java多线程开发juc第一章:volatile内存可见性

当两个线程(线程A、线程B)操作共享数据时,共享数据存在于主存中,JVM会对线程A和线程B分配独立的内存,所以彼此的内存是不可见的,从而存在内存可见性问题。如:线程A要对共享数据进行修改,线程B要对共享数据进行读取,当线程B执行效率高于线程A时,线程B读到的数据一直都是第一次在主存中读到的数据,无...

2018-06-29 19:34:04

阅读数:50

评论数:0

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