自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (5)
  • 收藏
  • 关注

原创 java装饰者模式decorater

装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式的结构   装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。  装饰模式的类图如下:    在装饰模式中的角色有:  ●  抽象构件(Comp

2016-10-27 11:45:46 671

原创 spring @conditional注解的使用

@Conditional根据满足某一个条件创建一个特定的Bean。比如说当一个jar包在一个类路径下时,自动配置一个或多个Bean,或者只有某个Bean被创建时才会创建另一个Bean。Spring Boot中将大量使用到进行一些自动配置。以下示例根据不同操作系统作为条件,实现condition接口重写matches方法判断条件,若在windows下运行则输出列表命令dir,若在linux下则输

2016-10-24 10:24:41 901

原创 mysql表锁、行锁和页锁的解析

页级:引擎 BDB。 表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行 行级:引擎 INNODB , 单独的一行记录加锁 表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许 行级,,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。 页级,表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折

2016-10-20 23:18:21 1496 1

转载 JVM内存模型

今天闲来无事来,看一下Java中的内存模型和垃圾回收机制的原理,关于这个方面的知识,网上已经有很多现成的资料可以供我们参考,但是知识还是比较杂的,在这部分知识点中有一本书不得不推荐:《深入理解Java虚拟机》,现在已经是第二版了。这本书就从头开始详细介绍了Java整个虚拟机的模型以及Java的类文件结构,加载机制等。这里大部分的知识点都是可以在这本书中找到的,当然我是主要还是借鉴这本书中的很多内容的

2016-10-20 11:37:45 315

原创 Java GC工作原理以及Minor GC、Major GC、Full GC简单总结

名词解释:GC:垃圾收集器Minor GC:新生代GC,指发生在新生代的垃圾收集动作,所有的Minor GC都会触发全世界的暂停(stop-the-world),停止应用程序的线程,不过这个过程非常短暂。Major GC/Full GC:老年代GC,指发生在老年代的GC。JVM:Java Virtual Machine(Java虚拟机)的缩写。正文: 堆 众所周知,所有通过new创建的对象

2016-10-20 11:35:19 385

转载 java concurrent包简介

说一说java的concurrent包1-concurrent包简介前面一个系列的文章都在围绕hash展开,今天准备先说下concurrent包,这个系列可能会以使用场景说明为主,concurrent包本身的代码分析可能比较少; 我在这方面的实践经验较为有限,有错误欢迎批评指正 不过前一个系列并未结束,还有一些文章没有放出来,欢迎关注核桃博客 concurrent包是jdk1.5引入的重要的包,主

2016-10-20 11:15:11 536 1

转载 AQS的转载:经典http://www.cnblogs.com/jinspire/p/3172974.html

http://www.cnblogs.com/jinspire/p/3172974.html

2016-10-20 11:12:29 562

转载 CAS原理浅析(转载)

java.util.concurrent包完全建立在CAS之上的,没有CAS就不会有此包。可见CAS的重要性。CASCAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。CAS应用CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值

2016-10-20 11:00:11 329

原创 current保重的atomic解析

对于current中的automic应用,可以比较如下一段代码,他是线程安全的。通常的++操作会涉及到先get 再add的操作,是两个步骤的操作,所以在多线程操作的时候,会导致计数结果不准确。通常总数会小于我们期望的数值。而使用atomic类,在底层采用了cas的原子指令:(引用)CAS通过调用JNI的代码实现的。JNI:Java Native Interface为JAVA本地调用,允许j

2016-10-20 10:39:25 305

原创 current包中countdownlatch解析

countdownlatch的功能是起了多个子线程,主线程等待子线程执行完毕后再去执行,具体的代码如下:package countdownlatch;import java.util.concurrent.CountDownLatch;public class CountdownLatchClass {private CountDownLatch latch = n

2016-10-20 10:06:43 603

原创 threadlocal源码解析

早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。  当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。  从线

2016-10-19 10:55:43 467

原创 悲观锁和乐观锁

1.悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系 统不会修改数据)。数据库锁机制:1        未提交读(read

2016-10-19 10:26:42 283

原创 java的synchronized简述

一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁

2016-10-19 10:17:17 338

原创 分布式和集群的区别

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoo

2016-10-17 10:33:05 216

原创 创业之我见

从我付出来快一年 。这一年里,收获颇多。同时自己也成长了不少。回顾工作历程。我付也算的上是一个比较不错的互联网支付公司了,成熟的团队,完备的管理制度,优秀的人才储备。虽然日益走下坡路,也是整个体制和大背景导致的。从创业的初期,筹划一年多,开始开发系统,到系统上线。这中间经历了很多,见证了很多。也在此过程中认识和结实了很多很好的朋友,和一帮做事情的小伙伴。到目前为止,即将离开这件创业公司

2016-10-14 11:32:23 782

原创 http://blog.sina.com.cn/s/articlelist_3155692380_0_1.html

这是我老博客

2016-10-14 11:27:31 3378

原创 hashmap存储结构解析

1. HashMap概述:  HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构:  在java编程语言中,最基本的结构

2016-10-10 11:24:03 966

原创 activemq-consumer示例

配置文件:queue1class="org.springframework.jms.listener.DefaultMessageListenerContainer">实现监听类:import javax.jms.JMSException;import javax.jms.M

2016-10-08 17:00:22 277

原创 activemq发送客户端(封装)

1、在pom中引入   cn.activemq.client  activemqclient  1.02、添加配置文件xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

2016-09-30 14:54:47 1765

原创 activemq 对象的传输

JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。· StreamMessage -- Java原始值的数据流· MapMessage--一套名称-值对· TextMessage--一个字符串对象· ObjectMessage--一个序列化的 Java对象· BytesMessa

2016-09-29 18:00:12 3095

原创 activemq jdbc-master/slave集群搭建和客户端消费说明

1、下载activemq客户端至linux系统,可以定义两个目录,在一台机器或者两台机器上都行。举例:建立目录mq/activemq1和mq/activemq22、解压安装mq,tar -xvf .......tar.gz3、修改配置文件:       /usr/mq/activemq2/apache-activemq-5.14.0/conf/active.xml文件和/usr/mq/

2016-09-29 17:38:13 2604

原创 activemq访问方式(failover master/slave)

5.1Failover使用格式 failover:(tcp://localhost:61616,tcp://localhost:61626)?randomize=false5.2 updateURIsURLupdateURIsURL,通过URL(或者本地路径)获取重连的url,这样做具有良好的扩展性,因为客户端

2016-09-29 17:23:36 4524

原创 activemq-all.jar包引入导致slf4j冲突的解决办法

采用原生的jar包在eclipse中。打开apache-activemq-5.8.0\lib目录 拷贝 activemq-broker-5.8.0.jar activemq-client-5.8.0.jar geronimo-j2ee-management_1.1_spec-1.0.1.jar geronimo-jms_1.1_spec-1.1.1.jar slf4j-

2016-09-29 15:04:04 7882 1

原创 activemq客户端配置和使用

1.使用maven管理依赖包dependencies> dependency> groupId>junitgroupId> artifactId>junitartifactId> version>4.12version> scope>testscope> dependency> dependency> groupId>org.apache.activemqgrou

2016-09-29 15:01:55 6446 2

转载 activemq集群配置说明

ActiveMQ集群        ActiveMQ具有强大和灵活的集群功能,但在使用的过程中会发现很多的缺点,ActiveMQ的集群方式主要由两种:Master-Slave和Broker Cluster。1、Master-Slave        Master-Slave方式中,只能是Master提供服务,Slave是实时地备份Master的数据,以保证消息的可靠性。当M

2016-09-28 17:23:50 741

原创 ActiveMQ启动时报锁定数据库的问题解决

原因是:activeMQ的broker在启动时会锁定数据库。我们每个人在调试时,自己的运行环境中就会运行一个broker,所以会出现争用锁的现象(如果只有一个人运行则不会出现这样的问题),报错如下:2012-06-27 15:12:32 org.apache.activemq.store.jdbc.JDBCPersistenceAdapter INFO Database lock driv

2016-09-28 17:19:33 1939

原创 消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ

RabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼。下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了。RabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构,意味着消息在发送到客户端之前可以在中央节点上排队。此特性使得RabbitMQ易于使用和部署,适宜于很多场景如路由、负载均

2016-09-20 11:15:11 540

原创 安装mmseg出错 config.status: error: cannot find input file: src/Makefile.in

aclocallibtoolize --forceautomake --add-missingautoconfautoheadermake clean

2016-09-13 18:25:30 1470

原创 淘宝存储系统tair的安装

1. 简介  tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存放于磁盘中. 为了解决磁盘损坏导致数据丢失, tair 可以配置数据的备份数目, tair 自动将一份数据的不同备份放到不同的主机上, 当有主机发生异常, 无法正常提供服务的时

2016-09-13 17:03:33 964

转载 linux安装automake

工具/原料autoconf 2.69CentOS 6.4valgrind 3.10.1automake 1.14安装autoconf1打开页面:http://ftp.gnu.org/gnu/autoconf下载autoconf-2.69.tar.gz或者输入命令:

2016-09-13 17:02:18 6899

原创 linux - centos下boost库的安装

之前用ubuntu都是apt-get install,centos没有这个工具,用yum装也差不多:yum install boost  yum install boost-devel  yum install boost-doc

2016-09-13 15:13:59 625

转载 分布式系统事务一致性解决方案

分布式系统事务一致性解决方案本文首发于InfoQ,版权所有,请勿转载!!!http://www.infoq.com/cn/articles/solution-of-distributed-system-transaction-consistency开篇在OLTP系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob给Smith转账的案例。传统

2016-09-09 12:29:38 15575 3

转载 微服务架构的基础框架选择:Spring Cloud还是Dubbo

最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 。近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的。目前,Spring Cloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师、技术VP或者CTO在

2016-09-04 15:20:38 1552

转载 linux查看端口被占用情况

今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat发现并没有8080端口的Tomcat进程。使用命令:netstat –apn查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进

2016-08-30 10:01:53 655

comparable和compartor区别

java comparable和compartor区别和联系

2012-09-06

ant远程上传并部署tomcat

ant脚本,讲本地代码copy到远程linux服务器的tomcat目录下,并重启tomcat,需要下载jsch.jar包放到本地ant-home的lib目录下

2012-09-06

zkclient.jar

zookeeper的客户端小工具。封装了zookeeper的一些方法。目前淘宝已经开发出源码。有兴趣的大家可以下载看看

2012-07-16

hessian类图

hessian客户端和服务端通讯类图,各个类之间的继承关系。

2012-07-04

hessian源码修改,包含了协议的修改

公司搞soa治理,正好采用hessian的export暴露接口,我修改了下,客户端不需要采用url,直接采用servicename,从zookeeper取地址列表。客户端和服务端通过mina通讯,不采用原生的http协议。目前mina的编码解码还有待该进,还是采用原来的objectserialize。

2012-07-03

空空如也

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

TA关注的人

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