
java
文章平均质量分 63
迷茫的老人
这个作者很懒,什么都没留下…
展开
-
Java并发——深入 ThreadPoolExecutor 任务执行原理
1 Executor它用于执行指定的任务,把任务提交与任务执行分离,程序员不需要关注线程的管理,以及任务的执行。ExecutorService 接口对 Executor 接口提供更多的扩展,ThreadPoolExecutor 类提供可以扩展的线程池实现,而 Executors 只是对这些 Executor 提供方便的工厂方法。1.1 类图2 Future2.1 类图2.2 FutureTask类结构:class FutureTask { // 任务运行状态 /*原创 2020-06-27 18:52:10 · 377 阅读 · 1 评论 -
Java并发——深入 ReadWriteLock 原理
ReadWriteLock 背后维护着一对相互关联的锁,一个用于读,一个用于写。读锁可以被多个读线程并发获取,只要没有写线程。而写锁不支持此种情况。读写锁,读-读能共存,读-写不能共存,写-写不能共存。自实现如果某个线程想要读取资源,只要没有线程正在对该资源进行写操作且没有线程请求对该资源的写操作即可。public class ReadWriteLock { private int readers = 0; private int writers = 0; private int wr.原创 2020-06-09 10:13:02 · 453 阅读 · 0 评论 -
Java并发——别再问 ReentrantLock 的原理了
说到并发,我们会马上想到锁,使用锁来保证各线程之间能够安全访问临界区以及非线程安全的数据。那为啥 Java 要提供另一种机制呢?难道 synchronized 关键字不香吗?嗯,它确实在有些场景不是那么香,从而迫切需要提供一种更灵活,更易于控制的锁机制。那在去了解 Doug Lea 大佬写的锁机制原理之前,我们自己先想想应该怎么去实现。自实现思考1、需要一个标志是否可以访问共享资源,如果直接使用 boolean 变量来做标记,可以控制。但是,在如果在可以并发性访问某个共享资源,那么就不好做了.原创 2020-06-02 17:37:54 · 340 阅读 · 0 评论 -
分布式概述
分布式系统架构第一原则就是不分布式。分布式系统的两个关键目标:性能容错性场景业务不一样,容错性策略也不一样。设计思路:中心化思想:分布式集群中节点机器按角色分工,基本上分两种角色:“领导” 和 “干活的”。“领导” 通常负责分派任务并监督“干活的”。问题“领导”的单点问题主备两个“领导”的设计方案,可以是热备或冷备,可以是自动切换或手动切换。“领导”的能力问题去中心化思想各节点机器地位平等,不存在角色的分工。问题脑裂问题。脑裂指单个集群由于网络的.原创 2020-05-31 15:43:06 · 239 阅读 · 0 评论 -
响应式编程入门
1. 响应式编程是对异步数据流编程在响应式编程中,最重要的就是数据流(data starems)。事件、消息 和 方法调用,甚至异常都可以用数据流来表达,因此,响应式编程中,我们必须观察这些流,当数据流中有数据时,我们对此作出响应。因此,我们要创建可以拥有任何事物的数据流,或在任何事物(如 点击事件、http 请求)可能要改变或发生时创建数据流。这样本质上它就拥有了异步特性。 Rea...翻译 2018-06-27 18:52:06 · 1167 阅读 · 0 评论 -
(一)RxJava 入门概述
RxJava 是为 Java 和 Android 响应式编程开发的特定实现,它深受函数式编程的影响。RxJava 对函数的组合,避免了全局状态和函数调用副作用的出现,并且它使用流的方式编写异步和基于事件的程序。它从生产者/消费者(观察者模式)开始,然后扩展了数十个操作,有创建、转换、错误处理和生命周期管理等操作。1. 响应式编程和 RxJava响应式编程是一个通用编程术语,它对变化作出响应...原创 2018-06-28 22:55:45 · 407 阅读 · 0 评论 -
异常:javassist.CannotCompileException: [source error] getPropertyValue
由于在 dubbo 接口服务中添加了一个接口,之后项目运行出现如下异常信息:java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.l...原创 2018-08-14 21:03:32 · 7850 阅读 · 6 评论