自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ArrayBlockingQueue源码解读

//指定队列大小 public ArrayBlockingQueue(int capacity) //指定队列大小、访问策略 //fair如果为 true,则按照 FIFO 顺序访问插入或移除时受阻塞线程的队列;如果为 false,则访问顺序是不确定的。 public ArrayBlockingQueue(int capacity, boolean fair)

2018-01-27 00:06:17 257

原创 ArrayList和LinkedList的总结学习

一、ArrayList 1.ArrayList默认开辟10个大小的空间; 2.底层由数组实现; 3.当ArrayList容量不足的时候会自动进行扩容,每次以1.5倍的速度扩容JDK 1.6 int newCapacity = oldCapacity + (oldCapacity >> 1); JDK 1.8 int newCapacity = oldCapacity*3/2+1

2017-11-23 20:05:03 329

原创 java类对象的初始化顺序

类对象的初始化顺序 1.static成员变量默认初始化 2.static块初始化 3.实例成员变量默认初始化 4.实例块初始化 5.构造函数或1.static块初始化 2.static成员变量默认初始化 3.实例块初始化 4.实例成员变量默认初始化 5.构造函数代码测试:class Date{ private int year; private int mont

2017-10-30 23:31:01 302

原创 数组的定义及初始化

一、一维数组的定义及初始化方式1> int[] array1=new int[5]; //初始化为该类型的默认值2> int[] array2=new int[]{1,2,3,4,5};3> int[] array3={6,7,8,9,10};二、相关操作1> System.out.println(Arrays.equals(array2,array3));//比较array1

2017-10-27 17:21:12 875

原创 java——装包与拆包

JAVA给简单类型都提供了对应的类类型(包装类型) byte Byte char Character short Short int Integer long Long float Float double Double boolean

2017-10-16 23:22:52 5137 2

原创 读写锁与自旋锁

一、读写锁1、特点读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。 (1)当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞; (2)当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是以写模式对它进行枷锁的线程将阻塞; (3)当读写锁在读模式锁状态时,如果有另外线程试图以写模式

2017-10-09 23:17:33 688

原创 linux—线程使用

一、概念 线程是进程内部的一条执行序列,一个进程内部至少有一条执行线程。 即就是 main函数的执行体。 进程内部可以有多条线程, main 函数的线程称之为主线程, 其他线程称之为函数线程。 函数线程是由主线程通过系统调用函数创建的。线程可以同时执行。二、线程与进程的区别(1)线程是轻量级的进程, 进程是资源分配的最小单位, 线程是调度执行的最小单位。 (2)实体间(进程间,线程间

2017-10-01 23:06:41 301

原创 进程间通信——消息队列

一、消息队列它提供了一种在两个不相关的进程之间传递数据的简单有效的方法。与命名管道相比,消息队列的优势在于,它独立于发送和接收进程而存在,这消除了在同步命名管道的打开和关闭时可能产生的一些困难。消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法,而且每个数据块都被认为含有一个类型,接受进程可以独立的接收含有不同类型值的数据块。我们可以通过发送消息来几乎完全避免命名管道的同步和阻塞问题。但是

2017-09-28 23:28:51 301

原创 进程间通信——管道

一、进程间通信的目的1.数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间; 2.共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到; 3.通知事件:一个进程需要向另一个或一组进程发送消息,通知它发生了某种事件(如进程终止时要通知父进程); 4.资源共享:多个进程之间共享同样的资源; 5.进程控制:有些进程希望完全控制另一个

2017-09-28 21:20:42 248

原创 进程间通信——信号量

1.定义信号量是一个特殊的变量,程序对其访问都是原子操作,且只允许对它进行等待(即P(信号变量))和发送(即V(信号变量))信息操作。最简单的信号量是只能取0和1的变量,这也是信号量最常见的一种形式,叫做二进制信号量。而可以取多个正整数的信号量被称为通用信号量。这里主要讨论二进制信号量。2.P、V操作P、V操作是定义在信号量上的S上的两个操作 P(S) a、 S:=S-1; b、

2017-09-23 21:42:59 711

空空如也

空空如也

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

TA关注的人

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