java基础篇: 1.1、Java基础 (1)面向对象的特性:继承、封装和多态 (2)final、finally、finalize 的区别 (3)Exception、Error、运行时异常与一般异常有何异同 (4)请写出…
分类:java并发
Java 线程池分析
在项目中经常会用到java线程池,但是别人问起线程池的原理,线程池的策略怎么实现的? 答得不太好,所以按照源码分析一番,首先看下最常用的线程池代码: public class ThreadPoolTest { priva…
Java并发编程:锁的释放
Java并发编程:锁的释放 Table of Contents 1. 线程的状态 2. wait() notify() 和 notifyAll() 上一篇线程的同步,我们讲了锁的获得方式。接下来,我们讲讲锁的释放。首先,…
java-ReentrantLock(重入锁)+Condition-解决生产者,消费者模型
说在前面的话:此篇实质是为了探讨ReentrantLock+Condition的应用场景,借用生产者消费者模型来解释。 重点实现线程间通信 juc之ReentrantLock+Condition,await、signal…
【java面试系列之操作系统】进程和线程、死锁、内存管理方式
操作的系统的面试问题很多,时间有限,我只关注这三方面的问题。进程和线程、死锁、内存管理。 一、进程和线程 1. 进程和线程的区别【车间和工人的区别】 a.进程是资源分配的基本单位,线程是cpu调度或者说是程序执行的最小单…
Thread类源码剖析,Java中关于WeakReference和WeakHashMap的理解,Java并发编程:Thread类的使用
一、引子 说来也有些汗颜,搞了几年java,忽然发现竟然没拜读过java.lang.Thread类源码,这次特地拿出来晒一晒。本文将剖析Thread类源码(本文后面源码全部默认JDK8),并讲解一些重要的拓展点。希望对大…
取消与关闭(第七章)
取消与关闭 Java中没有提供任何机制来安全得终止线程,但它提供了中断(Interruption),这是一种协作机制,能够使一个线程终止另一个线程当前的工作。我们很少希望某个任务、线程或服务立即停止,因为这种立即停止会使…
Zookeeper--0300--java操作Zookeeper,临时节点实现分布式锁原理
删除Zookeeper的java客户端有 : 1,Zookeeper官方提供的原生API, 2,zkClient,在原生api上进行扩展的开源java客户端 3, 一、Zooke…
java中的codereview
关于codereview,在平时的开发中,经常忽略的环节,参照目前介绍写好代码的几本书和之前掉进的坑,做了一个总结,分享出来。 为什么要做 通过review规避一些代码层面的问题 提升可读性,方便后续扩展和维护 d…
java并发编程(二十四)----(JUC集合)ArrayBlockingQueue和LinkedBlockingQueue介绍
这一节我们来了解阻塞队列(BlockingQueue),BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,当容量满时往BlockingQueue中添加数据时…
java网络通信:伪异步I/O编程(PIO)
缺点:避免了线程资源耗尽的问题,但是根本上来说,serversocket的accept方法和inputstream的输入流方法都是阻塞型方法。 服务端:加了一个线程池,实现线程复用。客户端不变 public class …
Java多线程21:多线程下的其他组件之CyclicBarrier、Callable、Future和FutureTask
CyclicBarrier 接着讲多线程下的其他组件,第一个要讲的就是CyclicBarrier。CyclicBarrier从字面理解是指循环屏障,它可以协同多个线程,让多个线程在这个屏障前等待,直到所有线程都达到了这个…