自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

翻译 Why Reflection is slowly?(Trail: The Reflection API)

Uses of ReflectionReflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. This is a relatively a

2015-08-04 03:02:00 766

原创 NoSuchMethodException问题总结

1、编译异常,这个很容易发现并解决;method真的没有替换jar包没有clean project。2、编译正常,运行报错这是一个遇到之后让人纳闷的异常,脑袋不转弯的时候真的容易被卡住。这时只要去编译目录下:1)查看下相应的jar包是否被引入;如果没有,咋把jar包拷入相应的目录;pom项目的话则检查下依赖的scope是不是provided等不随项目一起发布的配置。2)检查下对应的jar包

2015-07-30 16:54:15 2638

原创 设计模式学习笔记十四:适配器模式

介绍适配器(ADPATER)模式,也叫包装器(WRAPPER)模式,属于类对象结构型模式。是为了在现有功能类的基础上为客户提供匹配的接口。适配器有两种方式:对象适配器模式和类适配器模式,本文主要讲前者,后者会有单独的说明,因为个人不是很喜欢这种方式的调用。意图:将一个类的接口转换成客户希望的另外一个接口。 Adapter模式使得原本由于接口不兼容 而不能一起工作的那些类可以一起工作(本段摘自《Go

2015-07-28 02:08:00 666

原创 设计模式学习笔记十三:模板方法模式

设计模式学习笔记十三:模板方法模式介绍模板方法(TEMPLATE METHOD)模式,属于类行为型模式, 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 Te m p l a t e M e t h o d使得子类 可以不改变一个算法的结构即可重定义该算法的某些特定步骤。(本段摘自《GoF设计模式》 5.10)。 模板方法有几个要素: + 算法骨架:模板执行方法,防止子类更改流

2015-07-27 09:01:49 571

原创 设计模式学习笔记十二:访问者模式

设计模式学习笔记十二:访问者模式介绍访问者(visitor)模式,属于对象行为型模式,它实现了结构与行为的解耦。 意图:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。(本段摘自《GoF设计模式》 5.11)适用场景访问者模式适合对象的结构稳定,行为变动频繁的情况。反之,结构变动频繁的场景不适合使用次模式。在后面的实现中可以很容易的证实这一

2015-07-27 08:58:28 733

原创 设计模式学习笔记十一:观察者模式

设计模式学习笔记十一:观察者模式介绍观察者(observer)模式也叫发布-订阅模式,实现了观察者和被观察者的解耦操作,观察者可以根据自身需求选择关注哪些主题和取消关注哪些主题,当主题发生变化的时候会轮询通知观察者,所以主题和观察者之间是一对多的关系。典型应用MQAWT事件监听NIO多路复用……UML结构图:代码实现:1.主题接口package com.array7.observer;pu

2015-07-27 08:54:15 600

原创 【亲述】Uber容错设计与多机房容灾方案 - 高可用架构系列

赵磊在7月21号的全球架构师峰会深圳站上,做了主题演讲:Uber高可用消息系统构建,对于这个热门主题,高可用架构群展开了热议,大家对分布式系统中的各种错误处理非常感兴趣。Tim Yang特邀赵磊通过微信群,在大洋彼岸的硅谷给大家进一步分享。

2015-07-22 23:03:04 3512

原创 Linux 动态监听进程shell

背景 前几天在研究线程的时候,看到一句话说java里的线程Thread.run都会在Linux中fork一个的轻量级线程,于是就想验证一下(笔者的机器是Linux的)。当时用top命令的时候,进程总是跳来跳去的,看起来比较麻烦,有个工具叫htop,支持filter,感觉也没那么直观。根据在网上查到的资料和man top,整理出了两条语句:top -p pgrep java | tr "\\n"

2015-07-20 20:42:21 2574

原创 玩具:加减法验证码(1+?=4)

遇到个小需求要写一个验证码功能,就是加减法,囧,感觉挺好玩的就顺手写了。代码简单的囧……纯属自娱自乐,凑数,Orz~~ 生成图片的部分没写,逻辑都差不多。主要注意:干扰线,噪点,变形,背景色就OK。我用的现成的代码,就不发了。/** * 加减法验证码 */public class VerifyCodeUtil { private final static Map<Integer, S

2015-07-17 00:18:06 1955

原创 京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(下)

在上次推送的文章中(传送门),田琪老师分享了他的DockerCon 2015峰会见闻。在“QCon高可用架构群”中,田老师分享之后,几位专家也参与了讨论。他们是: 闫国旗:京东资深架构师,京东架构技术委员会成员,负责京东云基础服务建设,也参加了DockerCon 2015峰会。 王渊命:技术极客,协作IM服务@Grouk联合创始人,也是Docker深度实践者。 陈飞:微博资深架构师

2015-07-14 00:26:09 1746

原创 京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(上)

田琪(@摇摆巴赫)是京东资深架构师,10年互联网行业从业经验,之前曾分别就职于搜狐、新浪、腾讯等公司,目前负责京东云主机及云数据库的架构及研发工作,对云计算基础技术有深刻理解。 DockerCon 2015于6月22-23号在美国旧金山落下帷幕,这个由Docker公司发起的Docker领域峰会,包括Docker公司CEO在内的多位领域专家发表了精彩演讲。峰会展示着Docker领域的成就,也

2015-07-14 00:11:23 1769

原创 Memcached和Redis对比和适用场景

关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下。两者对比:1、redis提供数据持久化功能,memcached无持久化。 2、redis的数据结构比memcached要丰富,能完成场景以外的事情; 3、memcached的单个key限制在250B,value限制在1MB;redis的K、V都为512MB; 4、memcached数据回收基于LRU算

2015-07-13 02:06:59 2804 4

原创 三次握手,四次挥手及半关闭

最近在学习TCP/IP协议,通过看书和实践终于理解了三次握手和四次挥手,也终于不用总去查什么是三次握手什么是四次挥手了~下图是在本子上画的,Linux系统下实在没找到好用的画图工具,SYN和ACK是根据telnet登入和退出的抓包记录记录的,抓包工具是使用tcpdump,client是我的本机,server是我的虚拟机,使用桥接网络通信方式。抓包命令:> tcpdump -S port

2015-07-11 16:49:31 1297

原创 记一次死锁问题的处理

总想写点技术积累。因为最近工作比较忙,一忙一懒,找足了借口 :(今天想简单记录一下前段时间发现在做数据清洗时遇到的问题,在处理这件事情上,感受到了许多。大概需求是这样的:有两组数据库,每组都是分库分表的结构。从两组库中查出数据,根据规则再进行入库、清除缓存、发送消息队列。数据有几千万。遇到这样的问题,首先想到的就是在保证数据准确的情况下做并行处理,其次想到的是尽量降低数据库的压力,再次

2015-07-10 00:13:08 1323

原创 设计模式学习笔记十:构造器模式

构造器(Builder)模式,也叫生成器模式,属于创建型模式之一。GoF设计模式一书描述此模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用场景:创建复杂对象,并且该对象的算法可以独立出来进行复用,构造过程必须允许被构造的对象有不同的表示。本例子代码基于GoF Builder设计模式场景的Java实现,因为在阅读别人的构造器模式示例代码的时候发现都描述的

2015-06-28 22:13:44 638

原创 设计模式学习笔记九:原型模式(和深浅复制)

原型设计模式是一个比较简单的设计模式,创建型模式的一种。主要作用是实现对象的自我复制。在实现上大多采用实现JDK中的Cloneable接口。适用场景同它的作用,也就是需要进行对象拷贝的情况。        在属性拷贝过程中,本例子实现了两种方式:浅复制和深复制。代码如下:package com.array7.prototype;import java.io.*;/** *

2015-06-28 00:10:40 604

原创 设计模式学习笔记八:享元模式

享元模式,又叫蝇量模式(有点恶心):适用于是小类的复用,多与工厂模式配合使用。上代码:package com.array7.flyweight;import java.util.HashMap;public class Run { public static void main(String[] args) { // 调用 FruitFactory factory = n

2015-06-26 19:21:39 621

原创 互联网秒杀设计

吕毅,百度公司资深研发工程师,传统的LAMP人。 2012年从新浪平台架构部加入百度移动服务事业群组(MSG)手机百度产品线。在百度期间,随着产品线发展和业务上QPS增长,架构设计方面略有所获,对移动端业务、优化有独特的理解和方法。分享内容抢先看:本次分享介绍了手机百度对抢购业务的设计实实线,主要包含如下主题: 1. 抢购业务介绍 2. 具体抢购项目中的设计 2.1. 如何解耦

2015-06-13 00:46:00 4904 7

原创 生产者消费者模式实现

生产者与消费者解耦,典型应用:MQ。不多解释,code talking:调用模块:package com.array7.ds.pc;import java.util.concurrent.BlockingDeque;import java.util.concurrent.LinkedBlockingDeque;public class Run { public stat

2015-06-10 13:21:00 1041

原创 Ping CAP CTO、Codis作者谈redis分布式解决方案和分布式KV存储

此文根据【QCON高可用架构群】分享内容,由群内【编辑组】志愿整理,转发请注明出处。 苏东旭,Ping CAP CTO,Codis作者 开源项目Codis的co-author黄东旭,之前在豌豆荚从事infrastructure相关的工作。现在在创业公司PingCAP。本次分享的内容主要包括五个大部分:Redis、RedisCluster和Codis;我们更爱一致性;Codis在生产

2015-06-06 17:26:01 5999

原创 VIM使用学习笔记 : 按键说明

VIM有三种模式:一般模式    上下左右移动光标,删除字符或删除整行,复制粘贴编辑模式    i I i O a A r R 进入编辑模式命令模式    在一般模式种输入 : / ?,可以将光标移动到最下面那一行。在这个模式种,可以提供你查找数据的操作,而读取、保存、大量替换字符、离开vi、显示行号等的操作都是在这个模式中。按键说明:===========

2015-05-25 01:13:50 576

原创 ubuntu 15.04 手动安装nginx 1.9.0

平时工作也用nginx,不过用的时候都是已经配好的,只要简单改改参数就可以了。今天在自己的电脑上安装的时候发现没有想象的那么顺利。纸上得来终觉浅,绝知此事要躬行。正题:1、到nginx下载页面获取最新版本的包(截止发文日期,最新版本是nginx1.9.0):        地址http://nginx.org/en/download.html,也可以在命令行下直接 wget http://ngin

2015-05-09 00:45:07 1462

原创 设计模式学习笔记七:策略模式

策略模式,它主要的作用是封装算法,是一种行为模式。有三种角色:1、具体算法角色:具体的算法的实现;2、抽象策略角色:抽象类或接口,提供具体算法角色的抽象;3、上下文角色:实现对具体算法角色的引用。更详细定义参照:策略模式。代码时间:1、具体实现:package com.array7.strategy;public class Run{ pub

2015-02-15 11:32:59 593

原创 开源项目源码阅读版本选择

本人在研究netty的时候,犯了选择恐惧症,不知道应该从哪个版本开始读。问过几个朋友,他们也不太了解。我想很多人都有这样的疑惑,该选最新的还是该选最旧的。我的思考结果是,选择大版本号相对较旧的final版本,理解如下:1、低版本应该还属于一个思想实现阶段,所以能通过代码很容易的理解到作者的思想,进而能花费更少的时间学到精髓。新版本会考虑更多的场景,会做更多的功能

2015-02-03 00:19:42 751

原创 设计模式学习笔记六:原型设计模式

在java中,原型实现Cloneable接口实现clone接口方法。在使用过程应该注意的一点是,Object的clone方法是不复制对象的,只会复制对象的引用,也就是说仅仅复制了对象的内存地址。所以人们常说的浅拷贝和深拷贝说的就是是否要复制对象值的操作。代码如下:package com.array7.prototype;public class Run { public

2015-01-25 06:44:25 564

原创 设计模式学习笔记五:抽象工厂模式

抽象工厂模式是工厂方法模式的进一步抽象,适用于有多个产品族的场景,拿美食举例:美食可分为中餐和西餐,中餐又有东北菜,湘菜,粤菜等。而西餐又有法式菜、美式菜、德式菜等。这种可以称之为产品族。个人认为抽象工厂顶级类应该都是单例的。直接上代码了,代码与上面举例业务无关:package com.array7.abstract_factory;/** * @auth

2015-01-25 06:10:58 653

原创 Junit4.x扩展:运行指定方法

相信很多道友搞开发的一般都会用到Junit单元测试工具,不知道大家有没有遇到一个这样的问题:    有的单元测试用例有很多标记了@Test的方法,而实际上我们只需要运行其中的某一组方法。

2015-01-20 22:34:22 1805 1

原创 Windows下Cygwin添加右键菜单

在http://herry2013git.blog.163.com/blog/static/2195680112013437139447/看到一篇文章,将Cypwin加入右键菜单,方便使用。为了更傻瓜,做了一点改动,仅仅是为了方便配置,谢谢作者无私奉献。1、重写Cygwin目录下的Cygwin.bat:@echo offset _T=%CD%echo %

2014-12-29 01:37:44 2114

原创 给定一个值S,在有序数组中找出两个元素A和B,使 A+B = S.

在网上看到过一个面试题,干劲

2014-10-10 21:06:07 1310

原创 MyBatis 3源码分析

一、加载配置文件。    使用SAX解析配置文件。读取xml配置文件后,调用XMLConfigBuilder.parse()方法,在parse方法中再调用parseConfiguration()方法,对读取到的配置信息保存到BaseBuilder.configuration中。     propertiesElement(root.evalNode("properties")); //is

2014-10-04 19:23:45 877

原创 Java动态代理实现

Java动态代理使用接口进行代理

2014-10-02 12:02:09 830

原创 HashMap原理分析

HashMap 实现Map、Cloneable、Serializable接口,继承AbstractMap基类。 HashMap map = new HashMap();实例化一个HashMap,在构造参数中,设置了默认的loadFactor(DEFAULT_LOAD_FACTOR,负载因子,初始值float类型,0.75),内部Entry的数组大小DEFAULT_INITIAL_CAP

2014-09-21 16:27:50 613

原创 庄子·内篇·养生主第三

吾生也有涯,而知也无涯。以有涯随无涯,殆已!已而为知者,殆 而已矣!为善无近名,为恶无近刑,缘督以为经,可以保身,可以全生,可以养亲,可以尽年。

2014-09-16 13:25:33 779

原创 设计模式学习笔记四:责任链模式

责任链模式:Responsibility Of Chain,简称RoC。链式结构,由多个结点组成,具备依次向下传递的特性,到达每个结点可以选择做处理或向下传递。

2014-09-02 14:32:43 639

原创 设计模式学习笔记三:工厂方法模式

上篇文章讲到了简单工厂模式:http://blog.csdn.net/array7/article/details/38499739xz

2014-08-12 23:13:18 705

原创 设计模式学习笔记二:简单工厂模式

简单工厂模式含义:百度百科

2014-08-11 22:49:45 889

原创 设计模式学习笔记一:单例模式

单例模式,全局保证指定对象只有一个实例。

2014-07-01 23:34:48 705

原创 H2

0、近期写了一个模拟英语哦该你1、  H2简介(摘自H2官网:http://www.h2database.com/html/main.html):Welcome to H2, the Java SQL database. Themain features of H2 are:Very fast, open source, JDBC API Embedded and server m

2014-06-19 13:20:36 1081

转载 数据仓库

数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的《建立数据仓库》一书中所提出的定义被广泛接受,数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 数据仓库是一个过程而不是一个项目;数据仓库是一个环境,而不是一件产品。数据仓库提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。数据仓库技术是为了有效的把操作

2014-06-17 09:18:19 781

转载 数据库事务隔离级别与锁

一、事务的4个基本特征     当事务处理系统创建事务时,将确保事务有某些特性。组件的开发者们假设事务的特性应该是一些不需要他们亲自管理的特性。这些特性称为ACID特性。 ACID就是:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily)。 1、原子性 (Atomicity )     原子性属性用

2014-06-17 08:40:53 656

nginx-1.9.0 文档

从官方爬下来的文档,需要的朋友自行下载。一起进步。

2015-05-09

Java并发编程实战源码

Java并发编程实战源码,努力前进。包含:jcip-annotations-src.jar和jcip-examples-src.jar。So, you know that.

2015-01-16

空空如也

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

TA关注的人

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