自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 资源 (6)
  • 收藏
  • 关注

转载 Flink原理与实现:详解Flink中的状态管理

【本文转自Flink原理与实现:详解Flink中的状态管理】Flink原理与实现系列文章 :Flink 原理与实现:架构和拓扑概览Flink 原理与实现:如何生成 StreamGraphFlink 原理与实现:如何生成 JobGraphFlink原理与实现:如何生成ExecutionGraph及物理执行图Flink原理与实现:Operator Chain原理上面Flink原理与实现的文章中,有引用...

2018-07-01 20:42:18 24921 4

转载 Flink及主流流框架比较

引言随着大数据时代的来临,大数据产品层出不穷。我们最近也对一款业内非常火的大数据产品 - Apache Flink做了调研,今天与大家分享一下。Apache Flink(以下简称flink) 是一个旨在提供‘一站式’ 的分布式开源数据处理框架。是不是听起来很像spark?没错,两者都希望提供一个统一功能的计算平台给用户。虽然目标非常类似,但是flink在实现上和spark存在着很大的区别,flin...

2018-07-01 13:51:25 2338

转载 浅析——B树,B+树,B*树以及分析MySQL的两种引擎

【本文转自浅析——B树,B+树,B*树以及分析MySQL的两种引擎】接触到了数据结构当中的B树,B+树,B*树,我觉得应该写一篇博客记录下,毕竟是第一次接触的,只有写了博客以后,感觉对这个的印象才会更加深刻。 前言: 为什么要有B树? 学习任何一个东西我们都要知道为什么要有它,B树也一样,既然存储数据,我们为什么不用红黑树呢?这个要从几个方面来说了, 计算机有一个局部性原理,就是说,当一个数据被用...

2018-06-17 22:06:06 449

转载 Flink流计算编程--watermark(水位线)简介

【本文转自Flink流计算编程--watermark(水位线)简介】1、watermark的概念watermark是一种衡量Event Time进展的机制,它是数据本身的一个隐藏属性。通常基于Event Time的数据,自身都包含一个timestamp,例如1472693399700(2016-09-01 09:29:59.700),而这条数据的watermark时间则可能是:watermark(...

2018-06-16 20:45:24 21761 11

转载 disruptor-3.3.2源码解析汇总

【本文转自disruptor-3.3.2源码解析汇总】disruptor-3.3.2源码解析(1)-序列 disruptor-3.3.2源码解析(2)-队列 disruptor-3.3.2源码解析(3)-发布事件 disruptor-3.3.2源码解析(4)-处理事件 disruptor-3.3.2源码解析(5)-框架支持疑问总结:1、sequencer.getHighestPublishedSe...

2018-05-29 22:46:59 415

转载 Java类的卸载机制

类的生命周期  当Sample类被加载、连接和初始化后,它的生命周期就开始了。  当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命周期。  由此可见,一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期。 引用关系  加载器和Class对象:  在类加载器的内部实现中...

2018-05-28 23:21:29 14940 2

转载 Zookeeper全解析——Client端(转)

【本文转自Zookeeper全解析——Client端(转)】【点击这里有不错的zookeeper系列文章】Zookeeper的Client直接与用户打交道,是我们使用Zookeeper的interface。了解ZK Client的结构和工作原理有利于我们合理的使用ZK,并能在使用中更早的发现问题。本文将在研究源码的技术上讲述ZK Client的工作原理及内部工作机制。在看完ZK Client的大致...

2018-05-26 20:29:11 1675

转载 简单了解Disruptor

本文转载自并发编程网 – ifeve.com 本文链接地址: 简单了解Disruptor1.   Disruptor是什么1.1   技术背景LMAX是在英国注册并受到FCA监管(监管号码为509778)的外汇黄金交易所, LMAX架构是LMAX内部研发并应用到交易系统的一种技术。它之所以引起人们的关注,是因为它是一个非常高性能系统,这个系统是建立在JVM平台上,核心是一个业务逻辑处理器,官方号称...

2018-05-23 16:40:47 730

转载 字符串匹配的KMP算法

【本文转自字符串匹配的KMP算法】 字符串匹配是计算机的基本任务之一。  举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?  许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。  这种算法不太容易理解,...

2018-05-18 15:35:59 161

转载 ConcurrentHashMap

ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,ConcurrentHashMap对提高并发方面的优化,还有一些其它的技巧在里面(比如你是否知道在get...

2018-04-17 15:38:28 282

转载 深入分析Java ClassLoader原理

【本文转自深入分析Java ClassLoader原理】一、什么是ClassLoader?         大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一...

2018-03-27 00:41:25 147

转载 服务化框架技术选型与京东JSF解密

作者:章耿,原京东资深架构师,曾负责京东服务框架,配置中心等基础平台。近十年工作经验,专注于基础中间件等底层技术架构,对分布式系统/服务化/DevOps建设有一定经验。  |前言  首先本文不讨论为什么要服务化,包括服务化的优点缺点。  其次本文也不讨论什么是微服务,也不讨论微服务和SOA的区别。  最后本文也不讨论哪个技术最优。  |服务化框架构成最基本的

2018-01-29 22:31:41 1849

转载 探索 ConcurrentHashMap 高并发性的实现机制

【本文转自探索 ConcurrentHashMap 高并发性的实现机制】简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅

2017-12-21 22:38:07 321

转载 Linux下JAVA线程占用CPU高一点分享

【本文转自Linux下JAVA线程占用CPU高一点分享】上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程 top -Hp 28174 -d 1 -n 1  32694 root      20   0 3249

2017-04-25 20:00:45 636

转载 Netty线程模型详解

【本文转载自Netty线程模型详解】1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1.1.2

2017-03-16 01:05:50 540

转载 【读过最好的】Linux IO模式及 select、poll、epoll详解

本文转自Linux IO模式及 select、poll、epoll详解注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。

2017-03-01 15:16:56 435

转载 轻量级分布式 RPC 框架

【本文转载自轻量级分布式 RPC 框架】RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方

2017-02-24 20:37:40 361

转载 聊聊并发(四)深入分析ConcurrentHashMap

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 聊聊并发(四)深入分析ConcurrentHashMap术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hash table

2016-12-16 20:14:38 333

转载 JVM类加载过程

为什么研究类加载全过程?·        有助于连接JVM运行过程·        更深入了解java动态性(解热部署,动态加载),提高程序的灵活性 类加载机制·        JVM把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成JVM可以直接使用的java类型的全过程。   ·        加载·        将class文件字节码内

2016-12-13 21:44:19 428

转载 说说阿里增量计算框架Galaxy

增量计算模型 (一)背景Galaxy是阿里数据平台事业部,实时计算组自研的增量计算框架。今年双十一,阿里直播大屏就是Galaxy支持和保障的重要业务之一,相信大家可能看过双十一之后网上一些介绍性的文章了,比如 阿里研发实时计算平台 每秒运算量将超千万 ,不过这篇文章面向非技术人员,最后的比喻也是有点醉。还这篇比较新的  阿里巴巴实时数据公共层助力双11媒体直播 。本

2016-12-12 19:37:14 2189

转载 双11媒体大屏背后的数据技术与产品

【本文转载自双11媒体大屏背后的数据技术与产品】本次为大家分享《双11媒体大屏背后的数据技术与产品》。阿里巴巴从2009年开始双11产品大促,从最初5千万的产品成交额,到2016年的1207亿的产品成交额,可能逍遥子自己也想不到,居然一不小心把事情搞这么大。在2014年,也就是IPO元年的时候,我们数据技术与产品部团队开始承担双11的数据工作。因为是IPO的第一年,公司非常重视,决

2016-12-12 16:50:49 688

转载 深入研究Java类加载机制

【本文转自深入研究Java类加载机制】类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。 一、简单过程 Java程序运行的场所是内存,当在命令行下执行:java HelloWorld命令的时候,JVM会将H

2016-12-02 16:19:08 288

转载 java RMI原理详解

【本文转载自java RMI原理详解】定义RMI(Remote Method Invocation)为远程方法调用,是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。 这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中。Java RMI:Java远程方法调用,即Java RMI(Java Remote M

2016-11-28 20:34:53 432

转载 ReentrantLock的lock-unlock流程详解

【本文转载自ReentrantLock的lock-unlock流程详解】最近一段时间在研究jdk里的concurrent包,分为了线程管理,锁操作以及原子操作三个部分。线程管理平时用得还算多,但是锁操作和原子操作基本就没用过,只是以前在大学的时候跑了几个例子玩玩。当看到ReentrantLock的时候,发现用法倒是和synchronized有点类似也很简单,但是内部原理比较复杂。网上查了关于R

2016-11-17 23:07:18 685

转载 Java 理论与实践: 非阻塞算法简介

【本文转载自Java 理论与实践: 非阻塞算法简介】Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更

2016-11-16 21:41:31 264

转载 Kafka设计解析(一)- Kafka背景及架构介绍

本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/03/10/KafkaColumn1摘要  Kafka是由LinkedIn开发并开源的分布式消息系统,因其分布式及高吞吐率而被广泛使用,现已与Cloudera Hadoop,Apache Storm,Apache Spark集成。本文介绍了Kafka的创建背景,设计目标,使

2016-11-09 22:18:05 423

转载 Java异常处理终结篇——如何进行Java异常处理设计

【本文转自于Java异常处理终结篇——如何进行Java异常处理设计】有一句这样话:一个衡量Java设计师水平和开发团队纪律性的好方法就是读读他们应用程序里的异常处理代码。本文主要讨论开发Java程序时,如何设计异常处理的代码,如何时抛异常,捕获到了怎么处理,而不是讲异常处理的机制和原理。在我自己研究Java异常处理之前,我查过很多资料,翻过很多书藉,试过很多搜索引擎,换过很

2016-09-08 21:44:27 482

转载 为什么在定义hashcode时要使用31这个数呢?

散列计算就是计算元素应该放在数组的哪个元素里。准确的说是放到哪个链表里面。按照Java的规则,如果你要想将一个对象放入HashMap中,你的对象的类必须提供hashcode方法,返回一个整数值。比如String类就有如下方法:[java] view plaincopyprint?public int hashCode() {   

2016-06-26 21:32:33 1634 1

转载 如何精确地测量java对象的大小

【本文转载于如何精确地测量java对象的大小】关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身的开销,也许你运气好,正好能碰上,差不多,不过这种测试往往显得十分的笨重,因为要写一堆代码才能测试一点点东西,而且只能在本地测试玩玩,要真正测试实际的系统的对象大

2016-06-18 23:21:17 1025

转载 MySQL索引原理及慢查询优化

【本文转载于MySQL索引原理及慢查询优化】MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一

2016-06-01 20:27:03 391 1

转载 Nginx的负载均衡 - 一致性哈希 (Consistent Hash)

【本文转载于Nginx的负载均衡 - 一致性哈希 (Consistent Hash)】Nginx版本:1.9.1我的博客:http://blog.csdn.net/zhangskd 算法介绍 当后端是缓存服务器时,经常使用一致性哈希算法来进行负载均衡。使用一致性哈希的好处在于,增减集群的缓存服务器时,只有少量的缓存会失效,回源量较小。

2016-05-06 19:51:13 677

转载 亿级 Web 系统的容错性建设实践

【本文转载于亿级 Web 系统的容错性建设实践】三年多前,我在腾讯负责的活动运营系统,因为业务流量规模的数倍增长,系统出现了各种各样的异常,当时,作为开发的我,7*24小时地没日没夜处理告警,周末和凌晨也经常上线,疲于奔命。后来,当时的老领导对我说:你不能总扮演一个“救火队长”的角色, 要尝试从系统整体层面思考产生问题的根本原因,然后推进解决。我幡然醒悟,“火”是永远救不完的,让系

2016-05-04 19:59:31 599

转载 图说HashMap多线程并发问题分析

【本文转载于HashMap多线程并发问题分析】并发问题的症状多线程put后可能导致get死循环从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这

2016-05-04 19:53:12 464

转载 linux epoll浅析

首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。    不管是文件,还是套接字,还是管道,我们都可以把他们看作流。    之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,

2016-05-03 20:27:29 297

转载 Maven 中央仓库地址

Maven 中央仓库地址:1. http://www.sonatype.org/nexus/2. http://mvnrepository.com/ (本人推荐仓库)3. http://repo1.maven.org/maven2

2016-05-01 23:41:27 891

转载 Dubbo架构设计详解

【本文转载于Dubbo架构设计详解】Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心

2016-04-29 19:38:48 469

转载 缓存淘汰算法--LRU算法

【本文转载于缓存淘汰算法--LRU算法】1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;

2016-04-27 18:29:44 403

转载 一致性哈希算法学习及JAVA代码实现分析

【本文转载自一致性哈希算法学习及JAVA代码实现分析】1,对于待存储的海量数据,如何将它们分配到各个机器中去?---数据分片与路由当数据量很大时,通过改善单机硬件资源的纵向扩充方式来存储数据变得越来越不适用,而通过增加机器数目来获得水平横向扩展的方式则越来越流行。因此,就有个问题,如何将这些海量的数据分配到各个机器中?数据分布到各个机器存储之后,又如何进行查找?这里主要记录

2016-04-07 18:06:46 586

转载 快的打车架构实践

【本文转载自快的打车架构实践】快的打车从2013年年底到2014年下半年,系统访问量迅速膨胀,很多复杂的问题要在短时间内解决,且不能影响线上业务,这是比较大的挑战,本文将会阐述快的打车架构演变过程遇到的一些有代表性的问题和解决方案。LBS的瓶颈和方案先看看基本的系统模型,如图1所示。图1 系统模型示意图司机每隔几秒钟上报一次经纬度,存储在MongoD

2016-03-31 10:56:48 505

转载 修改Tomcat Connector运行模式,优化Tomcat运行性能

【本文转载自修改Tomcat Connector运行模式,优化Tomcat运行性能】Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一。不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Connector的运行模式来提

2016-03-30 16:46:58 322

深入理解Java虚拟机 JVM高级特性与最佳实践(第2版)带书签

本资源为《深入理解Java虚拟机 JVM高级特性与最佳实践(第2版)》,经典的Java技术书籍,高清带书签

2018-07-19

深入理解java内存模型

《深入理解java内存模型》非常不错的一本书,深入理解系列都挺不错。

2015-03-20

spring-framework-4.0.0.RELEASE-dist

spring-framework-4.0.0.RELEASE-dist

2015-01-21

junit4.8.2.zip(junit 整合包包括核心jar,文档,源代码,dep)

junit4.8.2.zip(junit 整合包包括核心jar,文档,源代码,dep)史上最全。

2015-01-21

北京圣思园javaweb课件及笔记

该文档汇总了完整的圣思园javaweb课件及笔记,均是由圣思园主讲张龙老师上课所录。

2014-01-21

空空如也

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

TA关注的人

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