自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SmuEdward的博客

Based on technology, but not limited on it

  • 博客(13)
  • 收藏
  • 关注

原创 项目中用到的设计模式

一、单例模式/** * @author * @version $1.0, 2011-1-30 * @since JDK6 */public class JackSonUtils{ /**以 singleton的形式取出ObjectMapper. * 供后面的程序重用。 * @return */ public static ObjectMap

2017-02-28 17:40:01 1700

原创 Spring中的事件监听机制在项目中的应用

最经在做项目的时候,调用某个接口的时候为了调用地图,而不希望因为调用超时影响到主线程,使用了spring的时间监听机制。Spring中提供一些Aware相关的接口,BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中最常用到的是ApplicationContextAware。实现A

2017-02-28 14:15:47 1988 1

原创 java并发容器——延迟队列DelayQueue

延时阻塞队列DelayQueue是一种特殊的优先级队列,它也是无界的,它要求每个元素都实现Delayed接口,该接口的声明为:public interface Delayed extends Comparable {    long getDelay(TimeUnit unit);}Delayed扩展了Comparable接口,也就是说,DelayQueue

2017-02-27 15:31:28 1965

原创 Eclipse导入项目Maven error “Failure to transfer…”

导入Maven项目时报错:Description Resource Path Location Type Could not calculate build plan: Failure to transfer org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2 from http://repo1.maven.org/maven2 was

2017-02-26 21:12:09 1060

原创 【Dubbo入门】——基础知识篇

一、dubbo基本架构Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部

2017-02-26 20:43:09 419

转载 volatile实现原理——基于硬件的角度

引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通过深入分

2017-02-22 10:32:29 706

转载 HTTPS加密解密的基本过程

之前在稀土掘金上看到一篇讲解HTTPS加密解密先关知识的文章,讲得还蛮详细的,一直对HTTPS加密解密这个过程比较模糊,这篇文章也是一个总结! 本文转自:HTTPS 为什么更安全,先看这些 图解HTTPS协议加密解密全过程HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 HTTP 协议和 SSL/TLS 的组合。理解 HTTPS 之前有必要弄清楚一些密码学的相关基础概念,比如

2017-02-22 09:51:52 4488

原创 java并发容器之ConcurrentHashMap

ConcurrentHashMap的锁分段技术 HashTable容器在竞争激烈的并发环境下表现出效率低下的原因,是因为所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术,首先

2017-02-21 14:27:36 417

转载 java中的并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。C

2017-02-20 10:48:39 411

转载 解析Concurrent包下的ReentrantLock、LockSupport、AQS

本文转自老马编程,微信公众号:laoma_shuoJava并发包中的显式锁接口和类位于包java.util.concurrent.locks下,主要接口和类有: 锁接口Lock,主要实现类是ReentrantLock 读写锁接口ReadWriteLock,主要实现类是ReentrantReadWriteLock本节主要介绍接口Lock和实现类ReentrantLock,关于读写锁,我们后续章节介

2017-02-14 11:22:43 989

转载 Java线程的终止——interrupt

取消/关闭的场景我们知道,通过线程的start方法启动一个线程后,线程开始执行run方法,run方法运行结束后线程退出,那为什么还需要结束一个线程呢?有多种情况,比如说: 很多线程的运行模式是死循环,比如在生产者/消费者模式中,消费者主体就是一个死循环,它不停的从队列中接受任务,执行任务,在停止程序时,我们需要一种”优雅”的方法以关闭该线程。 在一些图形用户界面程序中,线程是用户启动的,完成一些

2017-02-08 10:52:05 4831

原创 ActiveMQ5.11.1启动失败问题解决

环境:MyEclipse2015+ActiveMQ5.11.1使用不同版本的JDK,执行Java application时会出现不同的表现。1、JDK版本为jdk1.5/J2SE-1.5错误:java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defin

2017-02-07 16:03:06 643

转载 23种设计模式——桥接模式

生活中的一个例子: 拿汽车在路上行驶的来说。既有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶。这你会发现,对于交通工具(汽车)有不同的类型,它们所行驶的环境(路)也有不同类型,在软件系统中就要适应两个方面(不同车型,不同道路)的变化,怎样实现才能应对这种变化呢? 概述: 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多

2017-02-07 10:15:10 400

空空如也

空空如也

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

TA关注的人

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