整体结构 java提供了4中引用类型,在垃圾回收的时候,都有自己的各自特点。 为什么要区分这么多引用呢,其实这和Java的GC有密切关系。 强引用(默认支持模式) 把一个对象赋给一个引用变量,这个引用变量就是一个强引用。 强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还活 ...
分类:
编程语言 时间:
2019-10-19 11:34:44
阅读次数:
104
概念 什么是消息 消息是指在两个独立的系统间传递的数据。这两个系统可以是两台计算机,也可以是两个进程。 消息是平台无关和语言无关的! 什么是队列 队列是一种数据结构,内部是用数组或链表实现的, 队列的特点是只能队尾放入,队头取出,即先入先出【FIFO】 队列的操作有入队和出队 也就是你有一个程序在产 ...
分类:
其他好文 时间:
2019-10-19 11:31:41
阅读次数:
1512
我们要实现一个线程安全的队列有两种实现方式一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本节我们就来研究下ConcurrentLinkedQueue是 ...
分类:
其他好文 时间:
2019-10-16 20:14:45
阅读次数:
78
问题1:使用数据库还是使用文件来做日志系统? 方案1: 如果这个日志是需要定期分析的,写在数据库里更方便处理;反之只是留档,就存文件里但2种方式都要注意写操作的频率,绝对不能产生一行写一行,中间加一个内存队列来过渡,比如memcache,有新日志就加入队列,然后做个定时器去批量写入文件并清空队列,同 ...
分类:
其他好文 时间:
2019-10-16 20:14:12
阅读次数:
87
队列是常用的数据结构之一,只允许在表的前端(队头)进行删除操作(出队),在表的后端(队尾)进行插入操作(入队)。特点是先进先出,最先插入的元素最先被删除。 在jQuery内部,队列模块为动画模块提供基础功能,负责存储动画函数、自动出队并执行动画函数,同时还要确保动画函数的顺序执行。 jQuery的静 ...
分类:
Web程序 时间:
2019-10-16 09:31:49
阅读次数:
84
一、MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。 消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远 ...
分类:
其他好文 时间:
2019-10-15 21:26:27
阅读次数:
118
目录导引: 一、简介 二、源码解析(JDK8) 三、运用示例 一、简介 AQS(AbstractQueuedSynchronizer)的核心思想是基于volatile int state变量,配合Unsafe工具对其原子性的操作来实现对当前state状态值进行修改。 同步器内部依赖一个FIFO的双向 ...
分类:
其他好文 时间:
2019-10-13 22:16:12
阅读次数:
110
说明:将方法排入队列以便执行,WaitCallback,表示要执行的方法。如果将方法成功排入队列,则为 true;否则为 false。 示例:addtest方法需要比较长的时间来响应,因此在button1_Click被点击以后,程序会失去响应,使用ThreadPool.QueueUserWorkIt ...
分类:
其他好文 时间:
2019-10-11 12:55:22
阅读次数:
95
一、MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。 消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远 ...
分类:
其他好文 时间:
2019-10-10 20:27:56
阅读次数:
84
一,队列的定义 ?和栈相反,队列是一种先进先出的线性表。它只允许在表的一端进行插入,而在另一端进行删除元素。 ?在队列中,允许插入的一端叫队尾。允许删除的一端叫队头。 ?队列中的元素按a0,a1.....an这个顺序入队,退队时也必须按这个顺序出队。即a0出队后,a1才可以出队。 二,顺序队列的表示 ...
分类:
其他好文 时间:
2019-10-08 14:07:08
阅读次数:
94