自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 第7章 MapReduce 的工作机制

第7章 MapReduce 的工作机制MapReduce 程序运行过程涉及的实体:客户端,提交MapReduce 作业。YARN 资源管理器,负责协调集群上计算机资源的分配。YARN 节点管理器,负责启动和监视集群中机器上的计算容器(container)。MapReduce 的application master,负责协调运行 MapReduce 作业的任务。它和MapReduce 任务在容器中运行,这些容器由资源管理器分配并由节点管理器进行管理。分布式文件系统(一般为 HDFS ),用来与其

2021-03-21 22:40:01 136

原创 第6章 MapReduce 应用开发

第6章 MapReduce 应用开发作业 IDHadoop2 中,MapReduce 作业ID 由YARN 资源管理器创建的YARN 应用ID 生成。一个应用的ID 包含两个部分:资源管理器开始时间和唯一标识此应用的由资源管理器维护的增量计数器。YARN 的Web界面默认为8088 端口,展示集群的概要信息,包括当前集群上的应用状态和数量,集群上的可用资源数量及节点管理器的相关信息。作业历史作业历史指已完成的MapReduce 作业的事件和配置信息。不管作业是否成功执行,作业历史都将保存下来,为运

2021-03-21 20:24:45 121

原创 第5章 Hadoop的I/O操作

第5章 Hadoop的I/O操作Hadoop 自带一套原子操作用于数据I/O操作。其中一些技术比Hadoop本身更常用,如数据完整性和压缩,但在处理多达好几个TB的数据集时,特别值得关注。其他一些则是Hadoop工具或API,它们所形成的构建模块可用于开发分布式系统,比如系列化框架和在盘(on-disk)数据结构。HDFS 的数据完整性HDFS 会对写入的数据计算校验和,并在读取数据时验证校验和。它针对每个由dfs.bytes-per-checksum 指定字节的数据计算校验和。默认情况下为512个字

2021-03-21 10:53:04 293

原创 第四章 关于 YARN

第四章 关于 YARNApache YARN(Yet Another Resource Negotiator)是Hadoop的集群管理系统。YARN被引入Hadoop2,最初是为了改善MapReduce的实现,但它具有足够的通用型,同样可以支持其他的分布式计算模式。YARN 应用运行机制YARN 通过两类长期运行的守护进程提供自己的核心服务:管理集群上资源使用的资源管理器(resource manager)运行在集群中所有节点上且能够启动和监控容器(container)的节点管理器(node m

2021-03-21 03:36:33 322

原创 第三章 Hadoop分布式文件系统

第三章 Hadoop分布式文件系统当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区(partition)并存储到若干台单独的计算机上。管理网络中跨多台计算机存储的文件系统称为分布式文件系统(distributed filesystem)。该系统架构于网络之上,势必会引入网络编程的复杂性,因此分布式文件系统比普通磁盘文件系统更为复杂。例如,使文件系统能够容忍节点故障且不丢失任何数据,就是一个极大的挑战。Hadoop自带一个称为HDFS的分布式文件系统,即 Hadoop Distri

2021-03-14 02:20:07 240 1

原创 第二章 关于MapReduce

第二章 关于MapReduce

2021-03-13 17:39:10 486

原创 第一章 初识Hadoop

第一章 初识Hadoop1 ZB (zettabytes) = 10^21 B = 1000 EB (exabytes) = 1 000 000 PB (petabytes) = 10亿 TB (terrabytes)有句话说得好:“大数据胜于好算法。” 意思是说对于某些应用,不管算法多牛,基于小数据的推荐效果往往都不如基于大量数据的一般算法的推荐效果。在硬盘存储容量多年来不断提升的同时,访问速度(硬盘数据读取速度)却没有与时俱进。1990年,一个普通硬盘可以存储1370 MB数据,传输速度为4.4

2021-03-13 17:38:25 167

原创 第3章 Apache Flink架构

系统架构

2021-01-31 22:22:00 234

原创 第2章 流处理基础

Dataflow图

2021-01-31 17:20:58 528

原创 第1章 状态化流处理概述

第1章 状态化流处理概述Apache Flink是一个分布式流处理引擎,它提供了直观且极富表达力的API来实现有状态的流处理应用,并且支持在容错的前提下高效、大规模地运行此类应用。Flink于2014年4月进入Apache软件基金会,并在次年一月成为了顶级项目。flink.apache.org...

2021-01-31 12:43:10 265 2

原创 Java中常用集合&线程安全的集合

Java中常用集合(图中忽略中间接口)Collection接口族下的对象都是存的单一值的元素,而Map接口族下存的是key-value结构的数据。其中Set集合需借助Map对象来实现。线程安全的ListArrayList和LinkedList都不是线程安全的,在多线程环境下存在线程安全问题。1.VectorVector通过在方法上加上synchronized关键字修饰来实现线程安全,但Vector的线程安全仅限于单个操作,多个操作并不能保证线程安全。2.Collections.synchro

2020-09-25 17:42:28 2239

原创 JVM参数设置

Eden、from、to 的默认比例是 8:1:1,所以只会造成 10% 的空间浪费。-XX:SurvivorRatio 进行配置的(默认为 8)。关于对象老不老,是通过它的年龄(age)来判断的。每当发生一次 Minor GC,存活下来的对象年龄都会加 1。直到达到一定的阈值,就会把这些“老顽固”给提升到老年代。这个阈值,可以通过参数 ‐XX:+MaxTenuringThreshold 进行配置,最大值是 15,因为它是用 4bit 存储的。通过 -XX:+PrintCommandLineFlag

2020-08-25 14:55:26 128

原创 Enum枚举类

创建一个枚举类:public enum MyEnum { A("AA"),B("BB"),C("CC"); String value; MyEnum(String value) { this.value = value; }}编译之后,拿到字节码文件进行反编译:public final class MyEnum extends Enum{ public static final MyEnum A; public static final

2020-07-08 11:45:47 151

原创 静态代码块&构造代码块

public class MyStatic { private static MyStatic a; private static MyStatic b; private String value; static { System.out.println("静态代码块初始化中。。。"); a = new MyStatic("a"); System.out.println("静态代码块初始化a完毕"); b =

2020-07-08 11:21:22 227

原创 线程池的拒绝策略

何时用到拒绝策略当线程池已达到最大线程数且等待队列也满了,此时如何对新增的任务进行处理,就用到了拒绝策略。拒绝策略拒绝策略都是ThreadPoolExecutor类内部的公有静态类,继承自RejectedExecutionHandler接口,创建方式:RejectedExecutionHandler abortPolicy = new ThreadPoolExecutor.AbortPolicy();ThreadPoolExecutor线程池默认的拒绝策略是AbortPolicy。Abor

2020-07-05 16:59:40 132

转载 Java线程池

线程基础–线程生命周期线程池jdk提供的线程池jdk的concurrent包的Executors工具类里为我们提供了静态方法,来方便我们创建线程池。1. Executors.newSingleThreadExecutor();/** * Creates an Executor that uses a single worker thread operating * off an unbounded queue. (Note however that if this single

2020-07-05 16:21:09 105

转载 三次握手四次挥手

详解

2020-04-14 10:23:16 138

转载 海量积分排序

海量积分排序详解采用在内存中构建平衡二叉树的方式,查询排名的时间复杂度为O(log n)。

2020-04-10 16:46:40 260

转载 volatile关键字

volatile详解synchronized和lock能保证原子性和可见性,但不能保证指令有序性。volatile能保证可见性和有序性,但不能保证原子性。

2020-04-09 18:58:32 87

转载 MySQL索引

BTree和B+Tree

2020-04-09 18:37:10 88

转载 eureka的二级缓存

eureka缓存机制

2020-04-09 17:39:02 1083

原创 设计模式

单例模式工厂模式代理模式装饰者模式责任链模式Reactor模式

2020-04-09 16:19:33 64

原创 反应器模式Reactor

原文链接NIO就是采用了Reactor的设计模式,Reactor是一种事件驱动的模式,即检测IO是否就绪,就绪则调用指定的handler进行处理。NIO中这个检测IO是否就绪的角色就是Seletor(多路复用器),Seletor也是一个线程,每个NIO线程都有一个Seletor,Seletor是一个不断循环的线程,当Seletor检测到IO准备就绪后,就会调用指定的handler进行处理。但一...

2020-04-08 23:55:22 126

原创 责任链模式

责任链模式顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。优点: 1、降低耦合度。它将请求的发送者和接...

2020-04-08 22:19:37 85

转载 IO流

原文链接为什么需要IO流?当我们在网上下载一个大文件的时候,由于带宽和内存的限制,我们不可能一次性把它下载下来,这个时候我们会用到流,在内存划分一个缓冲区,一点一点慢慢下载,缓存区满了就写到磁盘上。IO流的分类按方向分:输入流、输出流按传输单位分:字节流(8位)、字符流(16位)按处理方式分:节点流、处理流节点流:直接连接数据源的流,可以直接向数据源读写数据处理流:通过构造函数传...

2020-04-08 22:08:45 95

原创 面试总结:AOP

AOP(面向切面编程)是OOP的延申。在处理业务的过程中,通过调用对象的方法可以完成对业务的处理;但是如果在业务处理之前要进行一些非核心的处理,如输出日志或做空值判断,这些非核心代码并不重要,并且是可以重用的,我们不想把它加入到核心代码中,但是在执行核心代码之前又必须要进行非核心的处理,这个时候我们就要用到AOP,其核心思想就是代理。AOP用到的设计模式就是代理模式,即在不影响原功能的前提下,...

2020-04-08 19:23:23 256

原创 面试总结:IOC

控制反转(IOC)、依赖注入(DI)都是同一个意思。即将本应该由程序来实例化对象的工作交给第三方容器来处理,并将实例化的对象注入到引用中。IOC用到的设计模式是工厂模式:根据传入的参数决定返回的实例对象。如:public interface IUserService { public void add();}@Service(value="aa")public class User...

2020-04-08 15:55:37 167

原创 面试总结:单例模式

class MySingle{ // 饿汉式---立即加载 // private static MySingle single = new MySingle(); // 懒汉式----延时加载 private static MySingle single; private MySingle() { } public synchronized static MySingle ...

2020-04-08 14:28:59 92

转载 面试总结:强引用、软引用、弱引用、虚引用

强引用(StrongReference)强引用是最常用的一种引用方式,即Object obj = new Object();obj就是一个强引用,指向Object对象,属于引用变量,被存放在栈中;new Object()则创建了一个Object对象,Object对象存放在堆区。众所周知,堆区是垃圾回收的主要场所,引用与垃圾回收息息相关。GC在查找Object对象的引用链时,发现有强引用...

2020-04-08 13:59:12 106

原创 面试总结:OOP

OOP:面向对象编程思想,Java是一门面向对象的编程语言,变量、方法都是属于对象的,需要通过对象来调用。OOP有三大特性:封装、继承、多态封装私有化成员变量的细节,只对外提供获取的方法,如用private修饰成员变量,用public修饰getter方法。继承子类继承父类,获得父类的非私有成员变量和方法。子类继承抽象类或接口,需要实现抽象方法,或重写方法。接口和抽象类的区别:接口...

2020-04-08 12:56:28 141

原创 MySQL慢查询入门

工具:Navicat;快捷键: ctrl+Q 新建查询; ctrl+R 执行选中的SQL语句;慢查询相关指令:#查看慢查询日志配置show variables LIKE 'slow_query%';#开启慢查询SET GLOBAL slow_query_log=1;#查看慢查询的阈值show variables LIKE 'long%';#修改阈值为1s(修改阈值后如未生效,重...

2020-04-01 19:09:32 95

原创 使用boostrap重复提交的坑

我在用boostrap写页面时,用了load加载页面,每次提交数据后页面重新load一次。点击页面上的按钮触发js事件时,发现多次点击之后,会明显感觉到页面逐渐变卡,而且点击modal框中的按钮,会出现重复提交的情况。解决:因为问题出现在modal框的按钮重复提交,导致我一直以为是modal的问题,网上也确实有挺多modal重复提交的解决方案,但我试了都不行,后面想到会不会是多次load导致...

2020-03-31 22:31:46 149

原创 vagrant_1.8.7.msi网盘下载链接

下了一天,不多说,直接上链接vagrant_1.8.7.msi链接:https://pan.baidu.com/s/1q8Rjf0Xg03qsq_h5hiOvOQ提取码:nfzf

2020-02-11 18:40:12 723 3

原创 微信公众号开发基础入门

一、申请一个微信公众号https://mp.weixin.qq.com/二、接口认证(证明你是一名合法的开发者)在微信公众平台左侧菜单找到基本配置开发者ID是注册完就有的,这里要注意的是开发者密码,非常重要,获取密码后,建议保存在文本文档里。还有一个IP白名单是干什么的呢?开发者访问微信服务器时会携带ID和密码和IP地址,在服务器里IP白名单上的IP地址才允许访问。点击修改配置...

2019-10-08 21:02:17 405

原创 单例设计模式和工厂模式

单例模式/** * 设计模式: 与技术无关,是一种框架的形式 * * 对象型模式: 单例、简单工厂 * * 单例:每次获取的对象都是同一个对象----回顾例子: Runtime * * 1.通过类名调静态方法 * 2.获取静态对象 * 3.构造方法私有化 * * 作用:节省了创建对象的开销 * * 作业:在多线程中,懒汉式会出现隐患,如何复现问题,并解决 ...

2019-08-13 20:20:42 150

原创 synchronized同步锁的三种方式

不多说,直接上代码import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 铁道部发布了一个售票任...

2019-08-13 19:42:59 5003 1

原创 Java线程基础

说线程之前,先说说进程进程一、什么是进程进程是系统进行资源分配和调用的独立单元,每一个进程都有它的独立内存空间和系统资源。二、单进程操作系统和多进程操作系统的区别a)多进程操作系统是指在同一个时段内可以执行多个任务(时间片)b)边听音乐边敲代码,CPU切换非常快c)Windows操作系统-多进程操作系统d)Dos操作系统-单进程的操作系统e)Linux操作系统-多用户多进程的操作...

2019-08-12 21:04:20 96

原创 HashSet与TreeSet详解

先介绍下Java中的集合的概念1.集合是JavaAPI所提供的一系列类,用来动态存放多个对象----集合只能存放对象2.集合与数组的区别是,集合长度可变,且存放元素不受限定,主要是引用类型。3.集合全部支持泛型,是一种数据安全的用法集合框架图集合分两大家族:Collection(接口)家族:存放单一对象Map(接口)家族:存放键值对(key,value)先说Collection(...

2019-08-10 12:17:23 1426

原创 连接池深入分析

深入分析连接池技术模拟实现数据库连接池1.首先我们用LinkedList来实现一个简单的连接池这里用LinkedList很重要,下面会讲解。模拟数据库连接池的操作流程:创建一个数据库连接池初始10个连接对象来一个客户端,从连接池里取当客户用完了,则不是真的销毁,而是放入到连接池中模拟连接池的操作 * */ import java...

2019-08-09 20:29:32 193

原创 JDBC批处理与事务

1.批处理在我们进行大批量数据操作的时候,需要采用批处理的方式来提高程序的运行性能,目的是减少跟数据库交互的次数注意:executeBatch()方法返回值为int数组案例①.Statement实现批处理@Test public void batchTest1() { Connection conn = DBUtils.getConnection(); Statement st...

2019-08-08 18:06:03 182

Day17_ClassSys.rar

学到MySQL做了个简易班级管理系统,用JavaSE写的,采用分层设计,结构清晰,拓展性强,上传代码仅供学习,也记录下自己的学习成果。

2019-08-07

空空如也

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

TA关注的人

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