自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

洛城小红魔

科比 曼联 程序员

  • 博客(36)
  • 收藏
  • 关注

转载 史上最详细的Hadoop环境搭建

前言Hadoop在大数据技术体系中的地位至关重要,Hadoop是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远。这是一篇入门文章,Hadoop的学习方法很多,网上也有很多学习路线图。本文的思路是:以安装部署Apache Hadoop2.x版本为主线,来介绍Hadoop2.x的架构组成、各模块协同工作原理、技术细节。安装不是目的,通过安装认识

2017-12-27 19:08:53 2964 4

原创 1.spring资源加载

2020-01-13 16:29:29 84

转载 Spring源码深度解析总结(1)——XmlBeanFactory的结构组成

最近在读《Spring源码深度分析》这本书,虽然讲的是Spring3.0版本的东西,但是基本的思想还是相同的。所以我打算一边读一边做一些总结,一方面在看过一边之后再捋一遍整体的过程,另一方面也防止日后忘记某些东西无处可查。在开始源码阅读之前,我们首先要了解一下Spring中常用的一些类的名称和作用,不然很有可能到最后把自己绕晕了。以下大部分摘自书中的原话Spring获取bean一般使用Ap...

2018-08-29 19:52:35 145

原创 深入剖析TOMCAT

TOMCAT容器分类Engine:整个CatalinaServlet引擎Host:包含一个或者多个Context容器的虚拟主机Context:web应用容器,可以有多个wrapperWrapper:粒度最小的容器,没有子容器相关组件:载入器,管道,映射器等请求响应流程HttpConnector -->serverSocket.accept()--&gt...

2018-08-24 12:06:50 1039

原创 利用Mybatis 动态数据源实践

通过Mybatis的Interceptor拦截执行的SQL语句,判断SQL语句操作的表是否需要进行分库,若需要分库,则根据SQL语句的参数值和分库算法进行分库,分库核心使用Spring的AbstractRoutingDataSource进行数据源的动态切换,同时使用Spring的LazyConnectionDataSourceProxy代理AbstractRoutingDataSource,延迟获...

2018-08-14 10:41:53 1325

转载 延时队列设计

1 使用场景关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。 清理过期数据业务上。比如缓存中的对象,超过了空闲时间,需要从缓存中移出。 任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。 下单之后如果三十分钟之内没有付款就自动取消订单。 订餐通知:下单成功后60s之后给用户发送短信通知。 当订单一直处于未支付状态时,如何及时的关闭订单,并...

2018-08-03 18:10:31 291

原创 Spring--bean生命周期

2018-07-09 17:52:06 109

转载 深入理解类加载机制

概述本文是我在学习jvm类加载机制的时候对网上的一些资料的整理和总结,后文会给出具体的参考地址。这里参考了很多的资料,从中总结了一个大致的流程并且丰富了很多概念细节的解释。关于 JVM类加载机制我准备分两篇文章来分别介绍,一片主要介绍jvm中类的生命周期,另一篇着重讲一下类加载器。单独讲解类加载器是因为 类加载这部分是唯一我们可以通过自己的代码程序进行干预的部分,而其他部分都是jvm内部直接完成的...

2018-06-11 21:19:21 96

原创 2018书单阅读计划 2018 05 23

Java并发编程的艺术Java虚拟机:JVM高级特性与最佳实践JavaEE开发的颠覆者 Spring Boot实战  Spring Cloud微服务实战亿级流量网站架构核心技术Netty实战

2018-05-23 15:53:27 258

转载 Java并发之AQS详解

一、概述  谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!  类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。  以下是本文的目录大纲:概述框架...

2018-05-17 18:57:53 82

原创 Lock, AQS

AQS  队列同步器        同步器是实现锁(也可以是任意同步组件)的关键,在锁的实现中聚合同步器,利用同步器实现锁的语义。可以这样理解二者之间的关系:锁是面向使用者的,它定义了使用者与锁交互的接口(比如可以允许两个线程并行访问),隐藏了实现细节;同步器面向的是锁的实现者,它简化了锁的实现方式,屏蔽了同步状态管理、线程的排队、等待与唤醒等底层操作。锁和同步器很好地隔离了使用者和实现者所需关注...

2018-05-17 16:33:55 283

原创 面试总结

今天去深圳某金融公司总结一面  主要面基础stringbuffer和stringbuilder的区别wait sleep 区别arraylist linkedlist vector的区别hashmap concurrenthashmap hashset对象的四种引用类型你用到的设计模式动态代理(jdk cglb)你在项目中怎么使用springboot说说springcloud 各组件,及使用方法,...

2018-05-10 16:41:11 110

转载 JVM内部细节之一:synchronized关键字及实现细节(轻量级锁Lightweight Locking)

 在C程序代码中我们可以利用操作系统提供的互斥锁来实现同步块的互斥访问及线程的阻塞及唤醒等工作。然而在Java中除了提供Lock API外还在语法层面上提供了synchronized关键字来实现互斥同步原语。那么到底在JVM内部是怎么实现synchronized关键子的呢? 一、synchronized的字节码表示:      在java语言中存在两种内建的synchronized语法:1、syn...

2018-04-25 15:18:29 101

原创 Spring Boot特性

摘要: 1. SpringApplication SpringApplication 类是启动 Spring Boot 应用的入口类,你可以创建一个包含 main() 方法的类,来运行 SpringApplication.run 这个静态方法: public static void main(String...1. SpringApplicationSpringApplication 类是启动 S...

2018-04-23 16:22:22 119

原创 题目

基础篇一一.基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4)HashTable和ConcurrentHashMap的区别;5)S...

2018-04-18 19:24:29 281

转载 Md5与对称非对称加密的比较区别

1.简介      因为本文比较简单就不举例代码实现,网上md5与加密的算法很多可以自己下载研究一下,本文只是大体说一下区别      md5是一种不可逆的加密,一定记住是不可逆的虽然现在很多算法也可以将md5解密出来但是md5还是具有很大程度上的不可逆,而且加大解密难道使用双重加密,很多登录的地方用到md5加密,那么有些人会问我用md5加密了服务器怎么解密呢,你要是这么想就错了登录时输入用户的密...

2018-04-18 15:54:44 1177

转载 http协议与https协议

1、前言在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容。TCP/IP协议是分层的,从底层至应用层分别为:物理层、链路层、网络层、传输层和应用层,如下图所示:2、http协议简介协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,HTTP协议是一种应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP可...

2018-04-18 15:53:54 347

原创 并发编程

原子性可见性final 关键字:http://ifeve.com/java-memory-model/

2018-04-08 15:04:10 77

转载 一致性哈希算法与Java实现

一致性哈希算法与Java实现========================================================一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了...

2018-03-22 09:42:56 140

转载 服务熔断、降级、限流、异步RPC -- HyStrix

在今天,基于SOA的架构已经大行其道。伴随着架构的SOA化,相关联的服务熔断、降级、限流等思想,也在各种技术讲座中频繁出现。本文将结合Netflix开源的Hystrix框架,对这些思想做一个梳理。背景伴随着业务复杂性的提高,系统的不断拆分,一个面向用户端的API,其内部的RPC调用层层嵌套,调用链条可能会非常长。这会造成以下几个问题:API接口可用性降低引用Hystrix官方的一个例子,假设tom...

2018-03-14 16:33:17 148

原创 AJAX

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script type="text/javascript" src="tes

2018-03-14 11:29:29 100

原创 类加载机制

类加载过程    类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:    其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑...

2018-03-09 17:40:01 70

转载 面试题

Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象。因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 Stri...

2018-02-09 16:55:39 195

原创 平衡二叉树、B树、B+树、B*树

1、平衡二叉树(1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;(2)特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:非叶子节点只能允许最多两个子节点存在,每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节点的值...

2018-02-09 16:37:57 702

转载 DB、ETL、DW、OLAP、DM、BI关系

DB、ETL、DW、OLAP、DM、BI关系结构图在此大概用口水话简单叙述一下他们几个概念:(1)DB/Database/数据库——这里一般指的就是OLTP数据库,在线事物数据库,用来支持生产的,比如超市的买卖系统。DB保留的是数据信息的最新状态,只有一个状态!比如,每天早上起床洗脸照镜子,看到的就是当时的状态,至于之前的每天的状态,不会出现的你的眼前,这个眼前就是db。(2)DW/Data Wa...

2018-02-09 10:00:06 1357

原创 Storm——可靠性(ACK原理)

转自:http://blog.csdn.net/xeseo/article/details/17754825对于Storm,它有一个很重要的特性:“Guarantee no data loss” ——可靠性很显然,要做到这个特性,必须要track每个data的去向和结果。Storm是如何做到的呢——acker机制。先概括下acker所参与的工作流程:1. Spout

2018-02-01 10:12:14 372

原创 Strom目录树和提交任务流程

Storm组件本地目录树 Storm zookeeper目录树 Storm任务提交的过程

2018-01-31 14:34:44 157

原创 Storm——Topology部署原理

Topology有两种大类提交部署方式:提交到本地模式,一般用于调试。该模式下由于是起在同一个JVM进程下,所以不要让其负载太高。提交到集群模式。提交到本地模式这个非常的简单。1. 编写代码[java] view plain copypublic class LocalRunningTopology ext

2018-01-30 14:41:00 311

转载 storm-1.1.0安装教程---分布式配置

1、安装环境:安装包:apache-storm-1.1.0.tar.gz集群主机IP:192.168.118.1,192.168.118.128,192.168.118.129集群主机名称:hzq,centos71,centos72集群主机用户:都是用hzq用户集群JDK环境:jdk-8u131-linux-x64.tar.gz(具体安装步骤见:《Linux安装JDK步骤》)集群主

2018-01-24 17:42:12 241

原创 Zookeeper介绍及安装部署

本节内容:Zookeeper介绍Zookeeper特点Zookeeper应用场景用到了Zookeeper的一些系统Zookeeper集群安装部署 一、Zookeeper介绍是一个针对大型分布式系统的可靠协调系统;提供的功能包括:配置维护、名字服务、分布式同步、组服务等;目标就是封装好复杂易出错的关键职务,将简单易用的接口和性能高效、功能稳定的系统提供给用户;Zookeeper已经成为Hadoop生...

2018-01-24 15:39:52 192

原创 OLTP与OLAP的区别

联机事务处理OLTP(on-line transaction processing) 主要是执行基本日常的事务处理,比如数据库记录的增删查改。比如在银行的一笔交易记录,就是一个典型的事务。 OLTP的特点一般有: 1.实时性要求高。我记得之前上大学的时候,银行异地汇款,要隔天才能到账,而现在是分分钟到账的节奏,说明现在银行的实时处理能力大大增强。 2.数据量不是很大,生产库上的数据量一

2018-01-22 09:43:06 117 1

原创 HBase环境搭建(单机)

引言在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境环境准备1,服务器选择阿里云服务器:入门型(按量付费)操作系统:linux CentOS 6.8Cpu:1核内存:1G硬盘:40G2,配置选择JDK:1.8 (jdk-8u144-linux-x64.tar.gz)Hadoop:2.8.2 (hadoop-2.8.2.tar.gz)HBase:1.6.2 (hbase-1....

2018-01-20 10:40:42 423 1

转载 Sqoop-1.4.6安装部署及详细

之所以选择Sqoop1是因为Sqoop2目前问题太多。无法正常使用,综合比较后选择Sqoop1。Sqoop1安装配置比较简单一、安装部署(1)、下载地址:http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.5.2.tar.gz解压到/opt/cdh5/sqoop(2)、拷贝mysql的jdbc驱动包

2018-01-16 19:36:31 381

转载 hive中控制map和reduce数量的简单实现方法

0、先说结论:  由于mapreduce中没有办法直接控制map数量,所以只能曲线救国,通过设置每个map中处理的数据量进行设置;reduce是可以直接设置的。 控制map和reduce的参数set mapred.max.split.size=256000000; -- 决定每个map处理的最大的文件大小,单位为Bset mapred.min.split.size.

2018-01-09 09:39:54 745

原创 Hive 安装

安装hive 之前,要保证hadoop安装成功,本教程对应的是hadoop版本为2.6.4,hive 版本为 2.1.1,默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库一、下载Hive下载地址:https://mirrors.tuna.tsing

2018-01-06 16:10:28 210

转载 JAVA 并发包 Concurrent

ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须要加锁,我和面试官也因此发生了冲突,结果可想而知。还是闲话少说,通过仔细阅读源代码

2017-12-27 19:24:19 130

空空如也

空空如也

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

TA关注的人

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