自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nwpu_geeker的博客

希望能向大牛学习!

  • 博客(16)
  • 收藏
  • 关注

原创 java线程之间的通信方式

引言当多个线程需要协作来完成一件事情的时候,如何去等待其他线程执行,又如何当线程执行完去通知其他线程结束等待。线程与进程的区别进程可以独立运行,它是系统进行资源分配和调度的独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,比进程更小的独立单位,它基本上不拥有系统资源。 他们之间的联系: 一个线程属于一个进程,而一个进程有多个线程,多个线程共享该进程的所有资源。 ...

2018-07-26 14:49:52 578

转载 线程池中的线程为什么不会释放而是循环等待任务呢

线程池 之前一直有这个疑问:我们平时使用线程都是各种new Thread(),然后直接在run()方法里面执行我们要做的各种操作,使用完后需要做什么管理吗?线程池为什么能维持住核心线程不释放,一直接收任务进行处理呢?线程 线程无他,主要有两个方法,我们先看看start()方法介绍:...

2018-07-25 23:35:05 5433

转载 JAVA8之collect总结

JAVA8之collect总结(给自己) 一,collect是一个终端操作,它接收的参数是将流中的元素累积到汇总结果的各种方式(称为收集器)二,预定义收集器包括将流元素归约和汇总到一个值.如下工厂方法 返回类型 用于 toList List<T> 把流中所有元素收集到List中 示例:List...

2018-07-23 22:34:45 371

转载 缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能...

2018-07-23 16:49:34 242

转载 RPC原理解析

1.RPC原理解析1.1 什么是RPCRPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP/IP或UDP,为通信程序之间携带信息数据。RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了近似于无限制提升的可...

2018-07-23 10:37:27 278

转载 mysql联合索引的理解

命名规则:表名_字段名1、需要加索引的字段,要在where条件中2、数据量少的字段不需要加索引3、如果where条件中是OR关系,加索引不起作用4、符合最左原则https://segmentfault.com/q/1010000003984016/a-1020000003984281联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只...

2018-07-19 23:19:16 1138

转载 使用Java8的fuction函数式编程例子

前言由于这段时间使用SpringBoot的原因,很多东西都用了SpringBoot内部的Template来做,也没关心底层怎么操作的。最近忙里偷闲回答了几个问题,正巧看到一个关于Redis资源释放问题的,引起了我的兴趣,便去看了下官方文档。 Redis推荐的Java客户端是jedis,关于Jedis的配置那些我就不说了,直接上他的示例代码。/// Jedis implements Clo...

2018-07-12 14:58:18 837

转载 MYSQL中的乐观锁实现(MVCC)简析

什么是MVCCMVCC即Multi-Version Concurrency Control,中文翻译过来叫多版本并发控制。MVCC是解决了什么问题众所周知,在MYSQL中,MyISAM使用的是表锁,InnoDB使用的是行锁。而InnoDB的事务分为四个隔离级别,其中默认的隔离级别REPEATABLE READ需要两个不同的事务相互之间不能影响,而且还能支持并发,这点悲观锁是达不到的,所以R...

2018-07-09 17:32:59 296

转载 分析ReentrantLock的实现原理

Java并发编程源码分析系列:分析Java线程池的创建分析Java线程池执行原理分析Java线程池Callable任务执行原理前几篇文章分析了线程池的原理,接下来研究锁的方面。显式锁ReentrantLock和同步工具类的实现基础都是AQS,所以合起来一齐研究。什么是AQSAQS即是AbstractQueuedSynchronizer,一个用来...

2018-07-06 10:53:18 235

转载 什么是可重入锁

可重入锁,也叫做递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但不受影响。本文里面讲的是广义上的可重入锁,而不是单指JAVA下的ReentrantLock。可重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。...

2018-07-06 10:19:00 1521

转载 Java多线程-线程池ThreadPoolExecutor的submit返回值Future

起原文地址 http://blog.csdn.net/qq_25806863/article/details/71214033一般使用线程池执行任务都是调用的execute方法,这个方法定义在Executor接口中:public interface Executor { void execute(...

2018-07-05 23:10:45 2371

转载 Java并发控制:ReentrantLock Condition使用详解

Java并发控制:ReentrantLock Condition使用详解 生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。其中一个是生产者,用于将...

2018-07-05 22:04:55 227

转载 LinkedBlockingDeque源码分析

LinkedBlockingDeque是一个基于链表的双端阻塞队列。和LinkedBlockingQueue类似,区别在于该类实现了Deque接口,而LinkedBlockingQueue实现了Queue接口。该类的继承关系如下图: 本文将与LinkedBlockingQueue进行比较,关于LinkedBloc...

2018-07-05 21:35:16 291

转载 Jdk8 Optional 的使用

在实习过程中,阅读项目源码的时候看到了Optional的用法,将返回的类进行包装,调用Optional类中的一些方法。不禁利用一些业余时间,好好学习一下jdk1.8带给我们强大的用法。总之就是,简化了之前代码的书写,使用函数式编程,不用反复去检验返回值为null的情况,总之,谁用谁知道,好好学吧 我...

2018-07-05 17:52:14 765

转载 Lock锁和Condition条件

浅谈Synchronized:  synchronized是Java的一个关键字,也就是Java语言内置的特性,如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,执行代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而获取锁的线程释放锁会有三种情况:  1).获取锁的线程执行完该代码块,然后线程释放对锁的占有;  2).线程执行发生...

2018-07-05 17:44:39 319

转载 java函数式编程之Predicate

描述:Predicate< T>接口接受一个T类型参数,返回一个boolean值。源码:public interface Predicate<T> { boolean test(T t);}123测试代码如下: Predicate<Integer> boo...

2018-07-05 15:30:43 250

空空如也

空空如也

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

TA关注的人

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