- 博客(70)
- 收藏
- 关注
原创 Hadoop完全分布式安装
Hadoop安装安装需求本次安装以三个虚拟机为节点,分别安装Java1.8虚拟机准备三台虚拟机都创建hadoop用户,虚拟机名分别为hadoop102,hadoop103,hadoop104。SSH无密码登录配置ssh1.生成公钥和私钥[hadoop@hadoop102 .ssh]$ ssh-keygen -t rs...
2021-11-29 00:04:58
512
原创 zookeeper分布式锁
分布式锁准备工作导入依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.apache.logging.log4j&l
2021-11-28 16:46:57
1831
原创 总结11-28
本周总结上周的计划是学习es等搜索引擎,但是由于专业课要学习HBase,所以原本的学习计划就搁置了,本周就把原本的zookeeper和hbase进行了学习和复习,并对高可用的zookeeper有了进一步的了解,目前hbase还是在学习阶段。下周学习计划结束对Hbase 的学习计划,然后对es进行学习,了解对搜索引擎进一步了解。...
2021-11-28 14:25:03
4850
原创 Zookeeper节点类型
节点类型持久(Persistent)客户端和服务器端断开连接后,创建的节点不删除短暂(Ephemeral):客户端和服务器端断开连接后,创建的节点自己删除说明:创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,...
2021-11-27 15:16:09
122
原创 Zookeeper的选举机制
选举机制server工作状态有四种分别为LOOKING、FOLLOWING、LEADING、OBSERVING。LOOKING:寻找Leader状态。当服务器处于该状态时,它会认为当前集群中没有Leader,因 此需要进入Leader选举状态。FOLLOWING:跟随者状态。表明当前服务器角色是Follower。LEAD...
2021-11-26 23:57:58
52
原创 Zookeeper集群搭建
zookeeper集群搭建ZooKeeper 的架构通过冗余服务实现高可用性下载可以去Zookeeper下载文件 本次演示以3.6.3版本演示下载安装包后上传到服务器内然后解压tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/module 到module 然后进入...
2021-11-26 22:07:30
58
原创 Hadoop伪分布式安装
安装前提安装环境系统: centos7Java版本: 1.8Hadoop: 3.3.1版安装包下载hadoop下载下载3.3.1版本java下载默认已经安装上传到服务器安装注意事项本次安装登录用户为Hadoop 未使用 root账号增添用户useradd -m hadoop -s /bin/bash #...
2021-11-26 09:52:27
59
原创 Hbase集群安装
hbase介绍HBase是一种分布式,可扩展,支持海量数据存储的NoSQL数据库安装HBase之前需要运行Zookeeper集群以及Hadoop集群配置zookeeper集群下载可以去HBase下载文件 本次演示以2.4.8版本演示下载安装包后上传到服务器内然后解压tar -zxvf hbase-2.4.8-bin....
2021-11-25 15:42:55
99
原创 Hbase正常启动,执行命令报错 Server is not running yet
报错信息hbase:001:0> listTABLE ...
2021-11-25 12:42:57
9887
8
原创 类加载子系统
类加载器与类的加载过程类加载器子系统作用类加载子系统负责从文件系统或者网络中加载Class文件 ,class文件在文件开头有特定的文件标识ClassLoader只负责class文件的加载,至于它是否可以运行,则由ExecutionEngine决定加载的类信息存放于一块称为方法区的内存空间。除了类 的信息外,方法区中还会存...
2021-11-21 19:14:23
54
原创 JVM内存区域
JVM内存区域与内存溢出异常Java把对内存的控制权力交给Java虚拟机控制。运行时数据区主要包括有方法区堆:方法区和堆区对于每一个线程来说都是共享的虚拟机栈:本地方法栈:程序计数器:虚拟机栈、本地方法栈、程序计数器 每个线程独享的每一个线程都用有属于自己的虚拟机栈,本地方法栈,程序计数器程序计数器程...
2021-11-21 15:00:14
53
原创 总结2021-11-21
本周总结本周结束了对MySQL 底层的学习,对数据库索引,以及查询优化,对RabbitMQ集群的学习和搭建,基本完成,周日开始着手分布式集群项目,大三结束之前完成一个,微服务项目,对分布式锁进行学习。下周学习下周会对es 等搜索引擎进行学习,为项目搭建晚上知识储备。...
2021-11-21 09:30:48
1428
原创 2021-11-7总结
总结本周对redis底层数据实现进行学习,并利用nginx,MQ,Redis,搭建了一个秒杀系统,对MySQL的底层进行的复习,发现对多表查询有欠缺,下周准备着手练习。今天EDG夺冠了,不说了EDG NB!!!!下周计划下周学习spring cloud 并对JVM的垃圾回收机制进行复习。...
2021-11-07 09:28:33
2160
原创 Java常见I/O&&零拷贝
JavaI/O**BIO (Blocking I/O),**NIO (Non-blocking/New I/O),AIO (Asynchronous I/O)BIO (Blocking I/O): 同步阻塞 I/O 模式,数据的读取写入必须阻塞在一个线程内等待其完成。在客户端连接数量不高的情况下,是没问题的。但是,当面对十万甚至百万级连接的时候,传统的 BIO 模型是无能为力的。因此,我们需要一种更高效的 I/O 处理模型来应对更高的并发量。NIO (Non-blocking/New I/O)
2021-10-30 21:51:33
166
原创 nginx常用配置
nginx 配置文件三部分组成第一部分 全局块从开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令worker_processes 1;# worker_processes 值越大 可以支持的并发处理量越多第二部分 events块events 块涉及的指令主要影响 nginx服务器与用户的网络连接 worker_connections 1024; #最大的连接数;第三部分 http块可以包括http全局块,server块#server块
2021-10-24 16:08:50
70
原创 gin文件上传
简介Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范安装要安装Gin软件包,您需要安装Go并首先设置Go工作区。1.首先需要安装Go,然后可以使用下面的Go命令安装Gin。go get -u github.com/gin-gonic
2021-09-26 20:47:50
486
原创 go 切片详解
切片 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装,围绕动态数组的概念构建的,非常灵活,支持自动扩容 ,是 Golang 中一种比较特殊的数据结构。切片的动态增长是通过内置函数 append() 来实现的,这个函数可以快速且高效地增长切片,也可以通过对切片再次切割,缩小一个切片的大小。因为切片的底层也是在连续的内存块中分配的,所以切片还能获得索引、迭代以及为垃圾回收优化的好处切片的内部实现
2021-09-19 17:14:01
465
原创 虚拟机固定IP地址设置
###第一步:点击更改设置将 VMnet信息设置为NAT模式 ,子网IP改成 192.168.10.0 然后点击NAT设置将网关设置为192.168.10.2至此虚拟机的设置完成第二步:然后打开本地网络设置打开 的属性设置 然后打开IP4协议进行如下设置至此本地设置完成第三步:打开虚拟机登录root账号 执行vi /etc/sysconfig/network-scripts/ifcfg-ens33命令 进行如下设置保存退出 然后执行 reboot 命令至此全部设置
2021-09-14 15:16:15
504
原创 数学解决+Java代码解决约瑟夫环问题
故事讲解著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直进行,
2021-08-24 22:55:58
158
原创 关于Java的Integer等类的缓存机制
Java的基础类型(本文均以局部变量说明情况)内置数据类型引用数据类型内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。局部变量存储在堆栈中引用数据类型在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。 public static void main(Str
2021-08-21 11:42:18
172
原创 高并发之限流算法
高并发缓存、降级、限流是保护高并发系统的三把利器。缓存:缓存的目的是提升系统访问速度和增大系统处理容量降级:降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行限流:限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理.本文章主要讲解限流限流限流:是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致
2021-08-16 10:03:05
164
原创 CentOS7 Linux系统下安装RabbitMQ
安装RabbitMQ官网:https://www.rabbitmq.com/第一:因为RabbitMQ 是用Erlang语言开发的所以需要安装Erlang的运行环境下载RabbitMQ安装包后还需要下载 Erlang的安装包下载好的安装包:链接:https://pan.baidu.com/s/10uSSstYkv9lBeronPsSwCw 提取码:td3j注意安装包后的el7 标识支持CentOS 7 版本 下载的版本注意是否与自己的系统对应第二 安装必要运行环境# 安装必要的
2021-08-08 17:34:57
183
原创 暑假留校总结
日常今年遇到了河南千年难遇的大雨,我们学校在受灾区域,而今年恰恰留校学习,以前网上的视频,今年亲身经历了,感受到了属于中国的凝聚力。学习本周对多线程进行学习,关于CAS AQS JUC 有了进一步了解,本周计划对这些编程功能的源码进行剖析,注解掌握其原理,而不是只知道知识。...
2021-07-27 08:09:49
196
原创 volatile讲解
volatile 的作用保证可见性,不保证原子性volatile应用于 轻量级同步机制 volatile关键的作用使变量在多线程之间可见在工作内存中,每次使用volatile变量前必须先从主内存刷新最新的值,保证能看见其他线程对volatile变量 所做的修改。在工作内存中,每次修改 volatile变量后都必须立刻同步刷新回主内存中,用于保证其他线程可以看到当前线程对volatile变量 的修改。禁止指令重排重排序是指编译器和处理器为了优化程序性能而对指令序列进行排序的一种手段
2021-07-26 17:45:49
83
原创 JVM 一个类的加载过程
一、JVM类加载的几个阶段一个类从加载到JVM内存,到从JVM内存卸载,它的整个生命周期经历7个阶段:加载验证准备解析初始化使用卸载其中验证,准备,解析 统称为 链接 通常称为 加载 链接 初始化,三大阶段二、各个阶段工作加载:classpath、jar包、网络、某个磁盘位置下的类的class二进制字节流读进来,在内存中生成一个代表这个类的java.lang.Class对象放入元空间,此阶段我们程序员可以干预,我们可以自定义类加载器来实现类的加载;验证:验证Class文件的字
2021-07-17 10:26:21
86
原创 JVM 静态代码块,和实例块,以及构造块执行顺序
先看结果:静态代码块>实例块>构造块在JVM中类加载和方法执行都是有先后顺序的,代码 演示public class test { public test(){ System.out.println(111); } static { System.out.println(333); } { System.out.println(222); } }执行后的字节吗文件根据字节码可以
2021-07-17 09:50:09
160
原创 总结
学习本周对JVM的学习告一段落,开始对并发编程进行学习,另外马上临近期末了,要开始着手准备期末复习,八月份也要跟着大三的投简历,练习自己的能力,算法学习也要提上进程,算法的重要性逐步体现了。...
2021-06-08 13:54:34
80
原创 总结
学习本周度过后,大二的时间就剩下一半,时间很快转眼间大三就要来临,而自己的技术学习还差很多,JVM的知识太多,还有各种的框架没有了解过,自己之前写的项目没有优势可言,自己专业课的难度也在上升,害,加油把!后期计划讲JVM结束,增加自己的算法能力,了解学过技术的底层时,再进行进的框架的学习。...
2021-05-15 20:46:16
56
原创 总结
学习总结本周对Java的JVM进行学习,了解了GC的机制有了深入的了解,关于逃逸机制,以及避免逃逸机制有了理解。本周对五一年会准备,但是因为突发情况,部分准备取消了 ,比较尴尬。
2021-04-25 16:51:39
58
原创 总结
总结本周对刚好有清明节假期,虽然没有出去耍,但是感觉非常不错,比较外面快冻死了,还是小组舒服,关于学习方面,对springsecurity进行学习,对redis底层源码进行解读,发现以前学习的知识的巧妙的用处,自己对知识的掌握程度还是有待加强。关于算法,本周对算法中树进行的专门学习,发现会解决一部分的题,但是难题还是不会,就很尴尬。学习下周对算法进行继续加深,springsecurity需要继续进行深入学习。...
2021-04-03 22:05:33
65
原创 总结
总结本周对springSecurity进行学习,感觉知识比较多。本周小组组织进行了团建,八里沟一日游,玩的非常开心,爬了天梯感觉非常舒服,累是非常累,但高处的风景的确很美,除了感冒之外还是挺舒服的,大家玩的非常开心,明年继续去。另外马上就要蓝桥杯了,上次成绩不咋地啊希望这次可以有所收获。...
2021-03-29 17:01:34
59
原创 总结
本周总结本周对在线考试项目进行完善,在周六进行了项目考核,发现自己写项目的层次还停留在,完成功能上,一些细节上的逻辑还没有完善,比如对服务器内部空间的管理,文件传输失败的文件管理,没有对性能优化考虑等等。学习方面本周对shiro进行了学习,对中间件RabbitMQ没有进行学习,通过昨天的会议,决定每天进行一定量的算法训练,在进行基础学习后,在每周的周六周日准备复习,了解spring注解的实现过程,springIOC的实现。...
2021-03-21 11:06:53
83
原创 大二总结
总结本周对Java web中的Redis进行了学习,了解缓存击穿,缓存穿透,缓存雪崩,以及如何解决缓存出现的问题,同时对MyBatis-Plus进行学习,对spring data进行了入门学习。感觉自己欠了很多的知识,加快学习的进度把下周计划下周对中间件进行学习,了解中间件的作用,如果有时间,使用本周所学的进行一次后台开发。...
2021-03-15 07:56:08
78
原创 总结
总结假期最后一次总结,漫长的寒假已经结束,在线考试的项目基本完成,这是大二以来完成的第三个前后端交互的项目,对自己的技术熟练度有很大的提升。另外在家学习的JVM相关的知识,在本周进行了回顾,对于自己以前不了解的知识,进一步加深了理解。学习大二上学期只要是以熟悉之前的知识为主要学习路线,下学期将对新的知识进行学习,并继续对JVM进行学习。...
2021-02-28 15:07:49
70
原创 总结
随着春节的度过,2020年正式度过,转眼已经是大二下学期了,假期的在线考试系统还在开发中,基本已经结束了。接下来就是开始自己的学习计划,继续学习JVM,等待开学后在对框架进行学习,增加自己的知识面,了解的多一些,完善自身的知识体系。...
2021-02-22 14:54:57
65
原创 总结
总结本周对自己的前面学习的JVM进行了总结,对锁的机制有了进一步的了解,从宏观分两钟,乐观锁和悲观锁,又分为四种分别是 重量级锁、自旋锁、轻量级锁和偏向锁。而了重量级锁是悲观锁的一种,自旋锁、轻量级锁与偏向锁属于乐观锁,其中对于偏向锁:是jdk1.6引入的一项锁优化,其中的“偏”是偏心的偏。它的意思就是说,这个锁会偏向于第一个获得它的线程,在接下来的执行过程中,假如该锁没有被其他线程所获取,没有其他线程来竞争该锁,那么持有偏向锁的线程将永远不需要进行同步操作。与此同时还对项目进行了完善,所有的接口基本
2021-01-30 21:51:51
70
原创 寒假第二个总结
总结本周对JVM进行学习,了解类加载子系统,虚拟机栈,本地方法栈,方法区,堆,PC寄存器。对于运行时数据区来说,每个线程都拥有自己的PC寄存器,虚拟机栈,本地方法栈,而对于每一个线程来说又共享堆和方法区,于是产生了线程的不安全,等等。在对JVM的学习的同时又对项目进行了进一步的完善,再对JPA的学习,并再项目进行了实战,JPA的配置逻辑真的让我很受局限,还是要对JPA继续深层次的学习。...
2021-01-23 21:37:05
67
原创 假期总结
学习在家学习真的很艰难,各种事情都可能打断自己的学习状态,这一周按照自己的假期安排对。JVM进行了学习,太多的理论知识,理解起来有点头晕,不过对于自己以前,对于Java的不理解的地方有了理解,了解Java编译的内部原理。下周计划下周开始,完成项目,熟悉自己学习的技术,同时对自己现阶段所学习jvm进行总结。...
2021-01-17 16:21:17
174
1
原创 牛客算法 数字游戏
奶牛们又在玩一种无聊的数字游戏。输得很郁闷的贝茜想请你写个程序来帮她在开局时预测结果。在游戏的开始,每头牛都会得到一个数N(1<=N<=1,000,000)。此时奶牛们的分数均为0。如果N是奇数,那么奶牛就会把它乘以3后再加1。如果N是偶数,那么这个数就会被除以2。数字每变动一次,这头奶牛就得到1分。当N的值等于1时,游戏结束,此时的分数就是这头奶牛在这局游戏中的最终得分。以下是N=5时,一局游戏的完整过程:输入描述:第1行: 一个正整数,N输出描述:第1行: 输出一个正整数N,即奶
2021-01-16 19:56:53
489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人