10 2024 档案
摘要:一、Hadoop的发展史 图解 Hadoop三大开源发行版本:Apache、Cloudera(CDH)、Hortonworks(HDP)。Apache版本最原始(最基础)的版本,对于入门学习最好。Cloudera在大型互联网企业中用的较多。Hortonworks文档较好。 Apache Hadoop
阅读全文
摘要:redis发布订阅理解图 发布者(Publisher) 使用 PUBLISH 命令将消息发布到指定的频道。 订阅者(Subscriber) 使用 SUBSCRIBE 命令订阅一个或多个频道以接收消息。所有订阅同一频道的订阅者都会收到此消息。 频道(Channel) 频道是消息的通道,发布者通过指定频
阅读全文
摘要:一、穿透、雪崩、击穿的理解 redis充当缓存图 穿透、雪崩、击穿本质上都是查询redis数据库时没有数据从而去查业务数据库 1、缓存穿透:(要查询的数据根本不存在) 是指用户查询数据,在数据库没有,自然在缓存中也不会有。这样就导致用户查询的时候,在缓存中找不到,每次都要去数据库再查询一遍,然后返回
阅读全文
摘要:一、集群 Redis在3.0后开始支持Cluster(模式)模式,目前redis的集群支持节点的自动发现,支持slave-master选举和容错,支持在线分片(sharding shard )等特性 二、集群架构图 三、细节 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议
阅读全文
摘要:一、主从复制 1、主从复制 主从复制架构用来备份主节点的数据,主节点接受用户请求,从节点同步数据 2、架构图 3、搭建主从复制 创建三个目录代表三台机器,master-7000,slave-7001,slave-7002 拷贝源码中的redis.conf分别到master-7000,slave-70
阅读全文
摘要:一、redis的持久化 redis是基于内存可持久化存储键值数据的非关系型数据库 数据在内存中的数据会丢失,所以我们要把内存中的数据写到磁盘中 这就是redis持久化要做的事情 Redis官方提供了两种不同的持久化方法来将内存的数据存储到硬盘里面分别是 RDB持久化,快照(Snapshot)【默认】
阅读全文
摘要:一、数据库操作指令 2、redis中库说明 对于一个redis服务而言,包含默认有16个数据库给我们使用,从0开始编号,共15号数据库,默认使用的是0号数据库 切换库,select 库号 举例:使用1号库:select 1 库和库之间数据不共享 库和库之间的键可以重名 2、redis中清空库的指令
阅读全文
摘要:一、下载 1、华为镜像站下载 https://mirrors.huaweicloud.com/redis/ 2、将下载的资料包上传到Linux中 3、解压缩文件 tar -zxvf redis-7.0.10.tar.gz 4、安装gcc,和tcl yum install -y gcc yum ins
阅读全文
摘要:一、安装 下载地址 https://packages.clickhouse.com/rpm/stable/ 上传文件到Linux中 开始安装 1、进入到文件所在目录 cd /usr/local/soft/clickhouse-rpms/ 2、使用rpm命令安装 sudo rpm -ivh *.rpm
阅读全文
摘要:一、安装 下载地址 https://git-scm.com/ 安装完成后右击桌面会看到 Gui是用户界面模式 Bash是命令行模式 输入下面代码 配置用户名 git config --global user.name "wang" 配置用户邮箱 git config --global user.em
阅读全文
摘要:一、安装 下载地址:https://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/ 二、配置环境变量 1、配置MAVEN_HOME 2、配置path环境变量 3、用cmd命令查看有没有配置成功 mvn -v 4、修改settings.xml
阅读全文
摘要:一、lambda表达式 能够使用lambda表达式改写的前提:【同时满足】 1、必须要有一个接口 2、接口中有且仅只能有一个抽象方法的时候 代码案例 public class LambdaDemo1 { public static void main(String[] args) { ArrayLi
阅读全文
摘要:一、线程组: 线程组:将属于同一类的线程划分到同一组中,可以直接对线程组进行设置。 ThreadGroup 构造方法: ThreadGroup(String name) 构造一个新的线程组。 代码案例: class MyThread1 extends Thread{ public MyThread1
阅读全文
摘要:一、线程 1、多线程 进程:是系统进行资源分配和调用的独立单位,每一个进程都有它自己的内存空间和系统资源。 举例:IDEA, 阿里云盘, wegame, steam 线程:是进程中的单个顺序控制流,是一条执行路径 一个进程如果只有一条执行路径,则称为单线程程序。 一个进程如果有多条执行路径,则称为多
阅读全文
摘要:一、JDBC JDBC编写六步走: 1、注册驱动,告诉java程序我们要链接什么数据库 【mysql为案例】 5.1.x驱动包中的驱动类路径:【com.mysql.jdbc.Driver】 8.x.x驱动包中的驱动类路径:【com.mysql.cj.jdbc.Driver】 2、创建与数据库的链接对
阅读全文
摘要:一、IO流 IO流划分 IO流【输入输出流】: 按照流向划分: 输入流:外部数据 -> java程序 输出流:java程序 -> 外部数据 按照数据类型划分【根据使用记事本打开是否能够看懂来决定】 字节流【万能流】: 字节输入流: InputStream【抽象类】 - FileInputStream
阅读全文
摘要:一、Collections Collections:是java针对集合操作专门提供的一个工具类 静态方法: public static <T> void sort(List<T> list) public static <T> int binarySearch(List<?> list,T key)
阅读全文
摘要:一、HashSet Set: HashSet: 底层数据结构是哈希表,查找速度快,且元素唯一 HashSet中的add方法实际上调用的是HashMap中的put方法 底层和元素的hashCode方法值有关 我们发现,底层判断待插入的元素是否已经存在哈希表中的方式是: 将待插入的元素的哈希值与已经存储
阅读全文
摘要:一、ArrayList Collection[接口]: List[接口]: 元素有序,可以发生重复,有索引的概念 ArrayList[具体的子类]: 底层数据结构是数组,查询快,增删慢,线程不安全,效率高。 Set[接口]: 元素无序且唯一,没有索引 代码案例 public class ArrayL
阅读全文
摘要:一、Collection Collection【接口】: 我们通过帮助文档发现,Collection是一个接口,不能直接new对象 根据元素是否可以发生重复,继续分类 - List【接口】元素可以发生重复,且有索引的概念 ArrayList - Set【接口】元素不可以发生重复,没有索引 借助Arr
阅读全文
摘要:一、StringBuffer StringBuffer: 可变的字符序列,可以看作一个存储字符的一个容器 构造方法: public StringBuffer() public StringBuffer(int capacity) public StringBuffer(String str) 代码案
阅读全文
摘要:一、Object类 java中所有的类默认都有一个共同的父类:Object == 比较: 1、比较的是两个基本数据类型的话,比较两个数值是否相等 2、比较的是两个引用数据类型的话,比较的是两个对象的地址值是否相等 成员方法: int hashCode() 返回对象的哈希码值。 可以看作地址值的另外一
阅读全文
摘要:一、包 包的划分好处: 1、方便管理我们的代码文件 2、不同包下的文件名可以是一样的 常见的包命名规则: 1、按照功能划分 增加 - 学生增加 - 老师增加 删除 - 学生删除 - 老师删除 修改 - 学生修改 - 老师修改 查询 - 学生查询 - 老师查询 2、按照角色划分 学生 - 学生增加 -
阅读全文
摘要:一、多态 多态的好处: 1、提高了程序的维护性(由继承保证) 2、提高了程序的扩展性(由多态保证) 代码案例(多态的拓展性) class Animal{ public void eat(){ System.out.println("吃"); } public void sleep(){ System
阅读全文