自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 java并发编程锁机制

之前系列文章都在叙述java线程池的设计以及实现机制,没有涉及java并发编程的锁机制,这是因为锁机制与线程池是相对独立的内容,自成体系,可以把锁机制当做线程池的一个基础组件,想黑盒一样使用它。可我们如何去设计这样的一个黑盒,这样的一把锁?首先我们先了解清楚我们对锁的基本需求。程序需要用到锁,说明程序中有多个线程(进程)存在共同竞争的资源,这样的资源可以包括一个共享变量,共享文件等。就线程池来...

2019-12-14 12:55:23 216

原创 java线程池实现细节

续上篇所说java线程池的算法,我们知道java线程池内部维护了一个状态机以及工作线程与任务的动态调控,前者可以理解是线程池的控制信号,掌握线程池的生杀大权;后者可以理解成线程池人力与任务的权衡。今天就从几个源码方法来看这一个状态机,一个工作线程组和一个任务组怎样工作的。这几个方法位于java.util.concurrent.ThreadPoolExecutor类中。首先看状态机的实现,线程池...

2019-11-24 23:54:05 408

原创 java线程池算法

继上篇所讲述的java线程池数据结构,我们已经拿到了搭建java线程池的原料,接下来我们需要设计合理的算法来使线程池合理运作起来。java线程池属于软件工程领域的范畴,软件工程领域的算法特指的是工程某些特定功能的流程,某个组件的状态机,系统序列图以及整个系统或组件的运作流程。所以,java线程池核心算法(流程)可以拆分为线程池的状态转移流程,线程创建以及执行的周期以及任务的添加和缓存机制。首...

2019-11-18 00:50:11 521

原创 java线程池数据结构

续上篇所述,Java线程池作为jdk组件箱中重要的一员,其产生的背后是要来解决一些需求,如线程的管理,任务的管理,自身的生命周期的管理等。有了需求,就有了一张蓝图,其描绘了程序最初的样子,程序设计由此便有了依据。按照古老的 “程序 = 数据结构+ 算法” 的指挥思想,我们首先得确定线程池的数据结构。而数据结构说白就是数据的组织与存储的方式,就像是好的仓库管理员对货物分门别类的放置一样,我们需要对...

2019-11-12 01:28:20 609

原创 java线程池初探

说到java线程池,对我们这些普通的应用开发者来说,可能是既熟悉又陌生,为什么这样讲呢?熟悉是指我们对线程池是耳熟能详,跟人说起总能唠嗑几句;而陌生,是指我们对线程池的设计与实现的陌生,是对java jdk对线程池的实现细节的陌生,所以对于线程池,我们可能停留在能唠嗑几句的层面。线程池是对象池的一种,也就是我们常说的池化技术的一种具体实现,类似的有数据库的连接池 ,Netty ByteBuf缓冲...

2019-11-09 14:59:13 142

原创 用kubeadm在Ubuntu16.04上搭建构建Kubernetes集群

apt 镜像配置,版本配置,网络方案镜像:vim /etc/apt/sources.list (把其他的deb 注释掉)# 系统安装源deb http://mirrors.aliyun.com/ubuntu/ xenial main restricteddeb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted...

2018-12-04 23:14:22 642

空空如也

空空如也

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

TA关注的人

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