代理模式 适配器模式 外观模式 装饰模式 区别 比较

代理模式 1 代理模式中的原类和代理类继承同一父类; 2 原类对象与代理类对象接口相同,功能一致; 3 起到了隐藏原类的作用。 适配器模式 1 只有适配器继承目标接口; 2 讲原有类接口转换为目标代码需求的接口。 外观模式 1...

2016-11-28 22:57:39

阅读数 961

评论数 0

使用Lock,wait/notify,Semaphore三种方式实现多线程通信

Java的多线程通信有Lock,wait/notify,Semaphore三种方式,以一道常见面试题来简单演示这三种多线程通信方式。 两个线程循环间隔打印指定内容,一个打印从1到52的数字,一个打印从A到Z的字母,打印输出如下: 1 2 A 3 4 B .........

2016-11-28 22:38:20

阅读数 995

评论数 0

java并发(十二)饥饿和公平

如果一个线程因为CPU时间全部被其他线程抢走而得不到CPU运行时间,这种状态被称之为“饥饿”。而该线程被“饥饿致死”正是因为它得不到CPU运行时间的机会。解决饥饿的方案被称之为“公平性” – 即所有线程均能公平地获得运行机会。  下面是本文讨论的主题:  1. Java中导致饥饿的原因...

2016-11-28 22:37:24

阅读数 515

评论数 0

ReentrantLock公平锁与非公平锁

总括:      在Java的ReentrantLock构造函数中提供了两种锁:创建公平锁和非公平锁(默认)。代码如下:           public ReentrantLock() {              sync = new NonfairSync();         ...

2016-11-28 22:28:30

阅读数 794

评论数 0

Java并发编程:线程间协作的两种方式:wait、notify和Condition

在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,...

2016-11-28 22:20:14

阅读数 1108

评论数 0

Thread的中断机制(interrupt)

先看收集了别人的文章,全面的了解下java的中断: 中断线程 线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断...

2016-11-28 22:07:39

阅读数 464

评论数 0

JAVA多线程之wait/notify

本文主要学习JAVA多线程中的 wait()方法 与 notify()/notifyAll()方法的用法。 ①wait() 与 notify/notifyAll 方法必须在同步代码块中使用 ②wait() 与  notify/notifyAll() 的执行过程 ③中断 调用wai...

2016-11-28 21:55:51

阅读数 280

评论数 0

Java wait() notify()方法使用实例讲解

1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。   2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁,或者叫管程)   3)调用某个对象的notify()方法能够唤醒一个正...

2016-11-28 21:50:48

阅读数 278

评论数 0

如何在 Java 中正确使用 wait, notify 和 notifyAll

wait, notify 和 notifyAll,这些在多线程中被经常用到的保留关键字,在实际开发的时候很多时候却并没有被大家重视。本文对这些关键字的使用进行了描述。 在 Java 中可以用 wait、notify 和 notifyAll 来实现线程间的通信。。举个例子,如果你的Java程序...

2016-11-28 21:46:59

阅读数 308

评论数 0

Java静态方法不具有多态性详解

动态绑定机制使得基类的引用能够指向正确的子类对象,从而使得面向基类编程成为可能。 然而动态绑定在以下两种情况会失效。 1、基类方法是private或final修饰的 这个很好理解,因为private说明该方法对子类是不可见的,子类再写一个同名的方法并不是对父类方法进行复写(Ove...

2016-11-28 21:25:15

阅读数 505

评论数 0

理解java多态的面试题(理解加粗的样例解析部分)

class A{ public String show(D obj){ return ("A and D"); } public String show(A obj){ return ("A an...

2016-11-28 21:22:07

阅读数 956

评论数 0

多态经典面试题解析

多态经典面试题 已知类ABCD,B继承于A,C和D继承于B,具体如下 [html] view plain copy public class A {       public void print(A a){           Sys...

2016-11-28 21:18:53

阅读数 990

评论数 0

jvm住内存与工作内存,内存模型反映的java多线程问题

找了多篇文章,自己将重点以及可以让人深入理解jvm以及多线程的知识做总结,作为自己的学习笔记: 一、jvm主内存与工作内存     首先,JVM将内存组织为主内存和工作内存两个部分。主内存中主要包括本地方法区和堆。每个线程都有一个工作内存,工作内存中主要包括两个部分,一个是属于...

2016-11-28 21:16:38

阅读数 659

评论数 0

【Java线程】Java内存模型总结

学习资料:http://www.infoq.com/cn/articles/Java-memory-model-1 Java的并发采用的是共享内存模型(而非消息传递模型),线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。多个线程之间是不能直接传递数据...

2016-11-28 21:14:19

阅读数 263

评论数 0

java线程内存模型,线程、工作内存、主内存

java线程内存模型 线程、工作内存、主内存三者之间的交互关系图:   key edeas 所有线程共享主内存 每个线程有自己的工作内存 refreshing local memory to/from main memory must  comply t...

2016-11-28 21:09:48

阅读数 831

评论数 0

JSP 自定义标签

自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。 JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。 JS...

2016-11-28 21:04:57

阅读数 269

评论数 0

数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案

作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存储,从而突破单机限...

2016-11-23 23:24:43

阅读数 391

评论数 0

缓存算法(页面置换算法)-FIFO、LFU、LRU

1. FIFO -- 先进先出 如果一个数据最先进入缓存中,则应该最早淘汰掉。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。 实现: 利用一个双向链表保存数据,当来了新的数据之后便添加到链表末尾,如果Cache存满数据,则把链表头部数据删除,然后把新的数据添加到链表...

2016-11-23 23:10:42

阅读数 2210

评论数 0

支付系统对账算法优化方案

一、目前对账的算法: 1、从上游渠道(银行、银联等金融机构)获取对账文件,程序逐行解析入库 2、在存储过程中,以上游对账文件的表为基准,程序逐行读取并与我们系统的交易记录/账务记录(有账务系统情况下,合理方案应该是于账务记录)对比,查找出差异记录。 3、以我们系统的交易记录/账务...

2016-11-23 00:06:32

阅读数 1851

评论数 1

递归算法转换为非递归算法

递归算法实际上是一种分而治之的方法,它把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔问题),递归算法是一种自然且合乎逻辑的解决问题的方式,但是递归算法的执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;另外,有些程序设计语言不支持递归...

2016-11-20 12:02:28

阅读数 477

评论数 1

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