自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

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

2016-11-28 22:57:39 1236 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 1328 0

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

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

2016-11-28 22:37:24 688 0

转载 ReentrantLock公平锁与非公平锁

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

2016-11-28 22:28:30 985 0

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

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

2016-11-28 22:20:14 1388 0

转载 Thread的中断机制(interrupt)

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

2016-11-28 22:07:39 569 0

转载 JAVA多线程之wait/notify

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

2016-11-28 21:55:51 361 0

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

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

2016-11-28 21:50:48 344 0

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

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

2016-11-28 21:46:59 417 0

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

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

2016-11-28 21:25:15 843 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 1486 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 1159 0

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

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

2016-11-28 21:16:38 870 0

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

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

2016-11-28 21:14:19 304 0

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

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

2016-11-28 21:09:48 962 0

转载 JSP 自定义标签

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

2016-11-28 21:04:57 312 0

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

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

2016-11-23 23:24:43 466 0

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

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

2016-11-23 23:10:42 2764 0

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

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

2016-11-23 00:06:32 2485 1

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

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

2016-11-20 12:02:28 779 1

转载 从一个简单的Java单例示例谈谈并发

一个简单的单例示例 单例模式可能是大家经常接触和使用的一个设计模式,你可能会这么写 public class UnsafeLazyInitiallization { private static UnsafeLazyInitiallization instance; p...

2016-11-19 18:48:38 549 0

转载 CopyOnWriteArrayList详解

CopyOnWriteArrayList详解 1.   CopyOnWriteArrayList(写数组的拷贝)是ArrayList的一个线程安全的变体,CopyOnWriteArrayList和CopyOnWriteSet都是线程安全的集合,其中所有可变操作(add、set等等)都是通过对...

2016-11-19 18:30:03 467 0

转载 二叉排序树与二叉堆

1 快排效率是不稳定的nlogn 2 二叉树实现排序的效率是稳定的nlogn 3 用二叉树实现排序有两种方法: 二叉排序树和二叉堆排序树 二者在实现及原理上有不同之处。 二叉排序树  用链表实现  令二叉树的每一个节点大于左子树的节点,小于右子树的节点。 ...

2016-11-19 17:13:43 821 0

转载 JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象...

2016-11-15 23:06:30 227 0

转载 你真的会写单例模式吗-------Java实现

单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。 饿汉法 顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下: ...

2016-11-14 22:05:08 321 0

转载 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)          1. 泛化(Generalizat...

2016-11-14 20:13:03 280 0

转载 hbase数据的存放顺序

rowkey       rowkey是行的主键,而且hbase只能用个rowkey,或者一个rowkey范围即scan来查找数据。所以 rowkey的设计是至关重要的,关系到你应用层的查询效率。我们知道,rowkey是以字典顺序排序的。而存储的字节码,字典排序,我们知道,如果是字 母,那就是字...

2016-10-07 20:18:06 5921 0

转载 spring scheduled-task集群问题

背景 我经常使用spring自带的轻量级的定时任务实现,即@Scheduled注解 但是在分布式环境下,这种定时任务是不支持集群配置的 我现在面对的场景如下: 1.双机部署 2.系统在启动时,需要进行一系列的数据初始化,但是这种初始化是需要持久化到集中式缓存中,或...

2016-10-07 17:24:39 2300 0

转载 如何用Spring实现集群环境下的定时任务

定时任务的实现方式有多种,例如JDK自带的Timer+TimerTask方式,Spring 3.0以后的调度任务(Scheduled Task),Quartz等。 Timer+TimerTask是最基本的解决方案,但是比较远古了,这里不再讨论。Spring自带的Scheduled Tas...

2016-10-07 17:21:31 16911 12

转载 Spring-Task用法

Spring-Task 上节介绍了在spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种 形式,下面将...

2016-10-07 17:16:57 464 0

转载 Quartz Spring与Spring Task总结

Spring对Quartz作了一个封装,同时,Spring自己也提供了一个任务定时器(spring-task),现把它总结一下。     对于Quartz,我们使用的时候主要是注重两个方面,一个是定时任务的业务,另一个就是Cron表达式。定时任务跟具体的业务相关,这无需多说,这里只说明表达式含义...

2016-10-07 17:14:33 502 0

转载 Jsoup解析HTML实例及文档方法详解

这篇文章主要介绍了Jsoup如何解析一个HTML文档、从文件加载文档、从URL加载Document等方法,对Jsoup常用方法做了详细讲解,最近提供了一个示例供大家参考 使用DOM方法来遍历一个文档 从元素抽取属性,文本和HTML 获取所有链接 解析和遍历一个HTML...

2016-09-29 23:55:25 469 0

转载 java clone原理

在java中 clone为什么要用super.clone()方法 这里为什么要用super不是this? 1.Object中的clone执行的时候使用了RTTI(run-time type identification)的机制,动态得找到目前正在调用clone方法的那个reference,根据它...

2016-09-24 11:40:28 1751 0

转载 java clone替代方案

(1)提供一个拷贝构造函数(如果你用过C++就不会陌生) Java代码   public RaceCar(RaceCar raceCar);            (2)提供一个静态工厂方法,当然名字可以改变,比如deepCopy等 Java代码 ...

2016-09-24 11:37:37 631 0

转载 java克隆对象clone()的用法和作用

内容摘要 若需修改一个对象,同时不想改变调用者的对象,就要制作该对象的一个本地副本。这也是本地副本最常见的一种用途。若决定制作一个本地副本,只需简单地使用clone()方法即可。Clone是“克隆”的意思,即制作完全一模一样的副本。这个方法在基础类Object中定义成“protected”(...

2016-09-24 11:36:02 902 0

转载 详解Java中的clone方法

Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?  1 使用new操作符创建一个对象 2 使...

2016-09-24 11:34:50 295 0

转载 Java clone() 浅克隆与深度克隆

现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在Java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?      1. Clone&Copy      假设现在有一个E...

2016-09-24 11:33:28 242 0

转载 Java的clone方法

什么是"clone"?    在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在...

2016-09-24 11:31:48 230 0

转载 httpcomponent4.0调用样例

private static class HttpComponentUtil { private static int timeout = 5 * 1000; private static PoolingHttpClientConnectionManager connManager = ne...

2016-09-24 11:27:09 1178 0

转载 谈谈Java利用原始HttpURLConnection发送POST数据

URLConnection是个抽象类,它有两个直接子类分别是HttpURLConnection和JarURLConnection。另外一个重要的类是URL,通常URL可以通过传给构造器一个String类型的参数来生成一个指向特定地址的URL实例。 每个 HttpURLConnection...

2016-09-24 11:00:47 1189 0

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