自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java装饰者模式decorater

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

2016-10-27 11:45:46 683

原创 spring @conditional注解的使用

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

2016-10-24 10:24:41 913

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

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

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

转载 JVM内存模型

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

2016-10-20 11:37:45 326

原创 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 396

转载 java concurrent包简介

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

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

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

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

2016-10-20 11:12:29 582

转载 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 345

原创 current保重的atomic解析

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

2016-10-20 10:39:25 323

原创 current包中countdownlatch解析

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

2016-10-20 10:06:43 637

原创 threadlocal源码解析

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

2016-10-19 10:55:43 477

原创 悲观锁和乐观锁

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

2016-10-19 10:26:42 298

原创 java的synchronized简述

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

2016-10-19 10:17:17 351

原创 分布式和集群的区别

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

2016-10-17 10:33:05 236

原创 创业之我见

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

2016-10-14 11:32:23 794

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

这是我老博客

2016-10-14 11:27:31 3407

原创 hashmap存储结构解析

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

2016-10-10 11:24:03 989

原创 activemq-consumer示例

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

2016-10-08 17:00:22 290

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关注的人

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