摘要:
【西电22考研 计科院834】17级毕业生 本科双非通信专业 脱产在家 辞职跨考 一战上岸西安电子科技大学! 接下来我将从以下几个方面简单的介绍一下我自己,希望准备考研的小伙伴呢结合自己的实际,如果有需要的话,可以适当参考一下。 初试科目及成绩介绍 个人情况介绍 数学一 英语一 政治 专业课834 阅读全文
摘要:
61. 旋转链表 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: 1->2->3->4->5->NULL, k = 2 输出: 4->5->1->2->3->NULL 解释: 向右旋转 1 步: 5->1->2->3->4->NULL 向右旋转 阅读全文
摘要:
Semaphore概述及案例学习 Semaphore信号量用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理地使用公共资源。 public class SemaphoreTest { private static final int THREAD_COUNT = 30; privat 阅读全文
摘要:
CyclicBarrier概述 CyclicBarrier可以理解为Cyclic + Barrier, 可循环使用 + 屏障嘛。 之所以是Cyclic的,是因为当所有等待线程执行完毕,并重置CyclicBarrier的状态后它可以被重用。 之所以叫Barrier,是因为线程调用await方法后就会被 阅读全文
摘要:
CountDownLatch概述 日常开发中,经常会遇到类似场景:主线程开启多个子线程执行任务,需要等待所有子线程执行完毕后再进行汇总。 在同步组件CountDownLatch出现之前,我们可以使用join方法来完成,简单实现如下: public class JoinTest { public st 阅读全文
摘要:
ScheduledThreadPoolExecutor概述 我们在上一篇学习了ThreadPoolExecutor的实现原理:Java并发包源码学习系列:线程池ThreadPoolExecutor源码解析 本篇我们来学习一下在它基础之上的扩展:ScheduledThreadPoolExecutor。 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
非阻塞并发队列ConcurrentLinkedQueue概述 我们之前花了很多时间了解学习BlockingQueue阻塞队列接口下的各种实现,也大概对阻塞队列的实现机制有了一定的了解:阻塞 + 队列嘛。 而且其中绝大部分是完全基于独占锁ReentrantLock和条件机制condition实现的并发 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 阅读全文
摘要:
系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 基本用法介绍 ReentrantLock位于java.util.con 阅读全文
摘要:
Java并发包源码学习系列:AQS共享模式获取与释放资源 往期回顾: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 上一篇文章介绍了AQS内置队列节点的出队入队操作,以及独占式获取共享资源与释放资源的 阅读全文
摘要:
本篇学习目标 回顾CLH同步队列的结构。 学习独占式资源获取和释放的流程。 CLH队列的结构 我在Java并发包源码学习系列:AbstractQueuedSynchronizer#同步队列与Node节点已经粗略地介绍了一下CLH的结构,本篇主要解析该同步队列的相关操作,因此在这边再回顾一下: AQS 阅读全文
摘要:
本文基于JDK1.8 本篇学习目标 了解AQS的设计思想以及重要字段含义,如通过state字段表示同步状态等。 了解AQS内部维护链式双向同步队列的结构以及几个重要指针。 了解五种重要的同步状态。 明确两种模式:共享模式和独占模式。 学习两种模式下AQS提供的模板方法:获取与释放同步状态相关方法。 阅读全文
摘要:
Optional概述 Optional 是个容器:它可以保存类型T的value,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测,很好地解决了空指针异常处理的问题,比如可以使用isPresent()方法判断value是否为null,使用get()方法获取val 阅读全文
摘要:
NIO是啥? NIO是Java从JDK1.4开始引入的一系列改进版输入输出处理手段,也就是New IO,简称NIO,也有说法叫NonBlocking IO,是同步非阻塞式的IO模型,准确地说它支持阻塞非阻塞两种模式。 笔者在NIO、BIO、AIO、同步异步、阻塞非阻塞傻傻分不清楚?一文中详细总结了同 阅读全文
摘要:
以下内容摘自:敖丙肝了一个月的Netty知识点 阻塞与非阻塞 阻塞和非阻塞操作是针对发起的IO请求操作后是否立刻返回一个标志信息而不让请求线程等待,当数据准备未完成时,请求线程的状态: 阻塞:往往需要等待缓冲区中的数据准备好过后才处理其他的事情,否则一直等待在那里。 非阻塞:无论数据是否准备好,都会 阅读全文
摘要:
本篇要点 简单描述浮点数十进制转二进制精度丢失的原因。 介绍几种创建BigDecimal方式的区别。 整理了高精度计算的工具类。 学习了阿里巴巴Java开发手册关于BigDecimal比较相等的规定。 经典问题:浮点数精度丢失 精度丢失的问题是在其他计算机语言中也都会出现,float和double类 阅读全文
摘要:
本文侧重SpringBoot与Quartz的整合,Quartz的基本入门概念不清楚的小伙伴可以看看这篇文章:任务调度框架Quartz快速入门! 本篇要点 介绍SpringBoot与Quartz单机版整合。 介绍Quartz持久化存储。 SpringBoot与Quartz单机版快速整合 学习完非Spr 阅读全文
摘要:
Quartz是什么 Quartz是一个功能强大的开源任务调度库,几乎可以集成到任何Java应用程序中,无论是超小型的独立应用还是超大型电子商务系统。 它常用于企业级应用中: Driving Process Workflow:当新订单下达,可以安排一个30分钟内触发的任务,检查订单状态。 System 阅读全文