自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

转载 GC之详解CMS收集过程和日志分析

转自:http://www.cnblogs.com/zhangxiaoguang/p/5792468.html参考:(1)http://blog.csdn.net/fenglibing/article/details/6321453            (2)http://www.cnblogs.com/wjoyxt/p/3727331.html2016-08-23   关于GC

2016-11-21 13:53:50 6793 1

转载 Java NIO——Selector机制源码分析系列——转

Java NIO——Selector机制源码分析---转转自:http://www.cnblogs.com/davidwang456/p/3831617.html一直不明白pipe是如何唤醒selector的,所以又去看了jdk的源码(openjdk下载),整理了如下:以Java nio自带demo : OperationServer.java   OperationCli

2016-09-27 17:24:45 600

转载 1.zookeeper原理解析-数据存储之Zookeeper内存结构(zookeeper系列文章)

转自:http://blog.csdn.net/quhongwei_zhanqiu/article/details/45647505,博主提供了系列精品文章,本文只做转载Zookeeper是怎么存储数据的,什么机制保证集群中数据是一致性,在网络异常,当机以及停电等异常情况下恢复数据的,我们知道数据库给我们提供了这些功能,其实zookeeper也实现了类似数据库的功能。1.      Z

2016-09-20 16:41:54 458

转载 Zookeeper Api(java)入门与应用(转)

如何使用Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,后面将会详细介绍 Zookeeper 能够解决的一些典型问题,这里先介绍一下,

2016-09-19 16:03:20 496

转载 zookeeper系列教程

转自:http://www.cnblogs.com/ggjucheng/p/3352614.htmlZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分

2016-09-18 11:10:44 5059

转载 Disruptor 详解

转自:http://www.cnblogs.com/jony-zhang/p/3817208.html想了解一个项目,最好的办法就是,把它的源码搞到本地自己捣鼓。 在网上看了 N 多人对 Disruptor 速度的吹捧,M 多人对它的机制分析,就连 Disruptor 官方文档中,也 NB 哄哄自诩:At LMAX we have built an order matching

2016-09-12 10:36:51 8035 1

转载 LMAX Disruptor – High Performance, Low Latency and Simple Too(disruptor DSL)

The LMAX disruptor is an ultra-high performance, low-latency message exchange between threads. It's a bit like a queue on steroids (but quite a lot of steroids) and is one of the key innovations use

2016-09-12 10:03:56 318

转载 Flume日志收集分层架构应用实践

Flume作为一个日志收集工具,非常轻量级,基于一个个Flume Agent,能够构建一个很复杂很强大的日志收集系统,它的灵活性和优势,主要体现在如下几点:    模块化设计:在其Flume Agent内部可以定义三种组件:Source、Channel、Sink    组合式设计:可以在Flume Agent中根据业务需要组合Source、Channel、Sink三种组件,构建相对复杂

2016-09-11 11:29:46 798

转载 携程实时大数据平台实践分享

转自https://zhuanlan.zhihu.com/p/22047198携程实时大数据平台实践分享携程技术中心· 25 天前 编者:本文作者为携程大数据平台负责人张翼。张翼浙江大学硕士毕业,2015年初加入携程,主导了携程实时数据计算平台的建设,以及携程大数据平台整合和平台技术的演进。进入互联网行业近10年,从事大数据平台和架构的工作超过6年。关注携程技术中心微信公号ct

2016-09-11 11:25:00 5952

转载 AbstractQueuedSynchronizer的介绍和原理分析

简介提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就是通过类似acquire和release的方式来操纵状态。然而多线程环境中对状态的操纵必须确保原子性,因此子类对于状态的把握,需要使用这个同步器

2016-09-10 17:59:21 609

转载 Disruptor 极速体验

已经不记得最早接触到 Disruptor 是什么时候了,只记得发现它的时候它是以具有闪电般的速度被介绍的。于是在脑子里, Disruptor 和“闪电”一词关联了起来,然而却一直没有时间去探究一下。      最近正在进行一项对性能有很高要求的产品项目的研究,自然想起了闪电般的 Disruptor ,这必有它的用武之地,于是进行了一番探查,将成果和体会记录在案。一、什么是 Disrupto

2016-09-10 10:52:22 327

转载 Spring核心之BeanFactory 一张图看懂getBean全过程

Spring通过资源加载器加载相应的XML文件,使用读取器读取资源加载器中的文件到读取器中,在读取过程中,解析相应的xml文件元素,转化为spring定义的数据结BeanDefinition,把相应的BeanDefinition注册到注册表中。注册表中包含的BeanDefinition的数据结构,没有经过加工处理过,无法得到我们想要的bean对象。我们如何得到Bean对象,spring都做了那

2016-09-06 14:41:47 5528

转载 Tomcat 6 --- 使用Jasper引擎解析JSP

Tomcat 6 --- 使用Jasper引擎解析JSP              作者博客地址: http://www.cnblogs.com/xing901022/p/4592159.html熟悉JAVA web开发的朋友都知道JSP会被转换成java文件(预编译),然后编译成class使用,即按照JSP-->java-->class的过程进行编译。由于JVM只

2016-09-05 19:20:38 1418

转载 数据库分库分表(sharding)系列(四) 多数据源的事务处理

系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。本文原文链接:http://blog.csdn.net/bluishglc/article/deta

2016-08-29 17:33:46 423

转载 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量

当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐一进行分析和考量。本文原文连接: http://blog.csdn.net/bluishglc/art

2016-08-29 17:33:09 370

转载 数据库分库分表(sharding)系列(二) 全局主键生成策略

本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 本文原文连接: http://blog.csdn.net/bluishglc/article/details/7710738 ,转载请注明出处!

2016-08-29 17:32:16 422

转载 数据库分库分表(sharding)系列(一)拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sharding的基本思想和切分策略 第一部分:实施策略  图1.数据库分库分表(sh

2016-08-29 17:31:41 2128

转载 mysql中间件研究(Atlas,cobar,TDDL、sharding-jdbc)

mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是

2016-08-24 18:03:52 6402

转载 经典好文:Java动态代理实现

class文件简介及加载     Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:      class字节码文件是根据JVM虚拟机规范中规定的字节码组织规

2016-08-24 15:28:49 378

转载 JDK动态代理实现彻底分析

代理设计模式定义:为其他对象提供一种代理以控制对这个对象的访问。代理模式的结构如下图所示。动态代理使用java动态代理机制以巧妙的方式实现了代理模式的设计理念。代理模式示例代码public interface Subject { public void doSomething(); } public class RealSubject

2016-08-24 14:41:38 862

转载 Java ThreadLocal详解

想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。  以下是本文目录大纲:  一.对ThreadLocal的理解  二.深入解析ThreadLocal类  三.Thread

2016-08-24 10:01:08 279

转载 Java中的CompareAndSet(CAS)

Atomic从JDK5开始, java.util.concurrent包里提供了很多面向并发编程的类. 使用这些类在多核CPU的机器上会有比较好的性能.主要原因是这些类里面大多使用(失败-重试方式的)乐观锁而不是synchronized方式的悲观锁.今天有时间跟踪了一下AtomicInteger的incrementAndGet的实现, 在这里就是做个笔记, 方便以后再深入研究.

2016-08-24 09:52:39 1696

转载 MySQL分库分表环境下全局ID生成方案

摘要介绍来自flicker和twitter的两种解决分布式环境下全局ID生成方案。在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作。在单表时代,我们可以完全依赖于数据库的自增ID来唯一标识一个用户或数据对象。但是当我们对数据库进行了分库分表后,就不能依赖于每个表的自增ID来全局唯一标识这些数据了。因此,我们需要提供一个全局唯一的ID号生成策

2016-08-23 13:36:44 1814

转载 分布式服务框架 Zookeeper -- 管理分布式环境中的数据

Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。本文将从使用者角度详细介绍 Zookeeper 的安装和配置文件中各个配置项的意义,以及分析 Zookeeper 的典型的应用场景(配置文件的管理、集群管理、同步锁、Leader 选举、队列管理等

2016-08-23 13:29:37 266

转载 基于Redis实现分布式锁

版权声明:本文为博主原创文章,未经博主允许不得转载。背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。Redis命令

2016-08-23 13:22:17 392

转载 从LongAdder看更高效的无锁实现

原文链接:http://coolshell.cn/articles/11454.htmlLongAdder确实用了很多心思减少并发量,并且,每一步都是在”没有更好的办法“的时候才会选择更大开销的操作,从而尽可能的用最最简单的办法去完成操作。追求简单,但是绝对不粗暴。AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验接触到AtomicLong的原因是在

2016-08-22 14:07:11 1182

转载 MySQL索引背后的数据结构及算法原理

摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第

2016-08-21 14:50:32 225

转载 MySQL 大表优化方案探讨

说明:本篇文章转自 http://www.codeceo.com/article/mysql-optimization.html,但个人对内容作了部分补充当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主

2016-08-21 14:38:11 384

转载 如何使用JITWatch分析JIT compiler log

关于JIT的介绍,可查看链接:http://www.importnew.com/5270.htmlWhy it rocks to finally understand Java JIT with JITWatchPerformance is a complicated matter, especially if you take into account that yo

2016-08-18 10:54:02 2219

转载 Netty源码分析系列1——NIOEventLoopGroup的创建

netty4服务端启动源码分析-线程的创建转载:http://xw-z1985.iteye.com/blog/1924124 本文分析Netty中boss和worker的线程的创建过程:以下代码是服务端的启动代码,线程的创建就发生在其中。EventLoopGroup bossGroup = new NioEventLoopGroup(); NioEventLoopG

2016-08-05 15:31:05 1483

原创 android的应用层代码到底层代码的流程

求助:应用层的文件浏览器里使用的是java的FILE file; file.listFiles()函数来列出目录下的所有文件,那怎么来看这个函数不断向底层调用的过程呢?比方说像网上很多牛人分析的发短信的流程一样,一个函数调用一个函数,最后一直到驱动层。我就想知道这种文件浏览的过程是怎么样的。 :wink: 这个说起来流程蛮多,反正大概就是:1. android的java实...

2012-03-02 11:47:20 524

空空如也

空空如也

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

TA关注的人

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