
数据结构
半个伪球迷
no pain no gain
展开
-
PROXY(代理)—对象结构型模式
代理模式【proxy】 什么是代理模式 为其他对象提供一种代理以控制对这个对象的访问。 能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。 什么场景会用到代理模式 在某些情况下,一个对象不合适或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 ...原创 2019-09-17 09:50:32 · 304 阅读 · 1 评论 -
【Java多线程编程核心技术】第一章(多线程技能)
1.7 停止线程 停止线程是在多线程开发时很重要的技术点.掌握此技术可以对线程的停止进行有效的处理. 停止一个线程可以使用Thread.stop()方法,但是最好不要使用它.这个方法是不安全的.大多数停止一个线程的操作是使用Thread.interrupt(). 1.7.1 停止不了的线程 调用interrupt()方法仅仅是在当前线程中打了一个停止的标记,并不是真的停止...原创 2018-09-26 14:36:59 · 128 阅读 · 0 评论 -
【Java程序性能优化 第一版】第四章(JDK并发数据结构)
4.3 JDK并发数据结构 由于并行程序与串行程序的不同特点,适用于串行程序的一些数据结构可能无法直接在并发环境下工作,这是因为这些数据结构不是线程安全的。 4.3.1 并发List Vector或者CopyOnWriteArrayList是两个线程安全的List实现,ArrayList不是线程安全的,...原创 2018-09-17 16:05:04 · 185 阅读 · 0 评论 -
【Java程序性能优化 第一版】第四章(并发控制方法)
4.4 并发控制方法 并行程序开发将不可避免地要涉及多线程,多任务间的协作和数据共享等问题。在JDK中,提供了多种途径实现多线程间的并发控制。常用的方法有:内部锁,重入锁,读写锁,信号量等。 4.4.1 Java内存模型与volatie 在Java中,每一个线程有一块工作内存区,其中存放着被...原创 2018-09-20 21:42:42 · 202 阅读 · 0 评论 -
【Java程序性能优化 第一版】第四章(不变模式, 生产者-消费者模式)
4.1.4 不变模式 不变模式天生就是多线程友好的,它的核心思想是,一个对象一旦被创建,则它的内部状态将永远不会发生改变。所以,没有一个线程可以修改其内部状态和数据,同时其内部状态也绝不会自行发生改变。基于这个特性,对不变对象的多线程操作将不需要进行同步控制。 △ 注意:不变模式和只读属性是有一定区别的。不变模式比只读属性具有更强的一致性和不变性。对只读属性的对象而言,对象本身不能...原创 2018-09-13 14:51:58 · 191 阅读 · 0 评论 -
【Java程序性能优化 第一版】第三章
第三章 Java程序优化 本章主要介绍在代码层优化Java应用程序。与设计优化相比,程序级别的优化更具技巧性。高效而精炼的代码,正确的函数使用方法和优良的软件开发习惯也对应用程序的整体性能有着决定性的影响。可以说,代码层次的优化是每个程序员的必修课,它也自始至终贯穿整个软件的编码过程。 本章主要涉及到的知识点有...原创 2018-09-07 13:58:47 · 202 阅读 · 0 评论 -
【Java程序性能优化 第一版】第二章
第2章 设计优化 本章主要介绍与软件设计相关的性能优化和思想。软件的结构对系统整体性能有这重要的影响。优秀的设计结构可以规避很多潜在的性能问题,对系统性能的影响可能远远大于代码的优化。因此,熟悉一些常用的软件设计模式和方法,对设计高性能软件有着重要的帮助。本章着眼于设计优化,主要讲解了一些常...原创 2018-09-06 17:43:07 · 207 阅读 · 0 评论 -
RabbitMQ概念
1.RabbitMQ 入门 概念介绍:RabbitMQ 整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。 Producer:生产者,就是投递消息的 一方。 生产者创建消息,然后发布到 RabbitMQ 中。消息 一般可以包含 2 个部分:消息体和标签 (Label) 。消息体 也可以称之为 payload ,在实际应用中,消 息体 一 般是一个带有业务逻辑结构 的数据,比如一个 ...原创 2019-09-20 17:37:03 · 209 阅读 · 0 评论