自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 算法(笔记十四,后续会继续更新)

时间复杂度和空间复杂度时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。****推导大O阶有一下三种规则:用常数1取代运行时间中的所有加法常数只保留最高阶项去除最高阶的常数常数阶let sum = 0, n = 10; // 语句执行一次 let sum = (1+n)*n/2; // 语句执行一次 console.log(`The sum is : ${sum}`) //语

2021-09-23 18:27:22 215

原创 数据库(笔记十三)

ACID原子性(Atomicity):操作过程不可分割,要么都成功,要么都失败一致性(Consistency):事物操作之后,操作前后数据不变;比如转账减少的跟增加的值不变隔离性(Isolation):多个事物之间的操作是分隔的,互不干扰,并发控制机制如果有多个事务去操作同一个数据的时候,就会事务并发问题(双11在线抢购 秒杀)持久性(Durability):成功的完成一个事物处理后,最终commit把数据将永久保存在数据库;Mysql事务mysql> select * from stu

2021-09-23 18:26:48 192

原创 多线程(笔记十二)

java多线程进程与线程进程当一个程序被运行,就开启了一个进程,程序由指令和数据组成线程一个进程内可分为多个线程一个线程就是一个指令流,cpu调度的最小单位java多线程的基本使用继承Thread类 (可以说是 将任务和线程合并在一起)实现Runnable接口 (可以说是 将任务和线程分开了)实现Callable接口 (利用FutureTask执行任务)上下文切换一个线程被暂停剥夺使用权,另外一个线程被选中开始或者继续运行的过程就叫做上下文切换内核(操作系统的核心)在CPU

2021-09-23 18:26:10 330

原创 常见设计模式和基础面试题(笔记十一)

设计模式的六大原则1.开放封闭原则尽量通过扩展软件实体来解决需求变化,而不是通过修改已有的代码来完成变化单例模式1.什么是单例保证一个类只有一个实例,并且提供一个全局访问点那些地方用到了单例模式网站的计数器,一般也是采用单例模式实现,否则难以同步。应用程序的日志应用不用单例内容不好追加显示。多线程的线程池的设计一般也是采用单例模式**Windows的(任务管理器)**就是很典型的单例模式说说单例模式的应用(或其它模式的应用场景,或是给一个代码说出它的设计模式)5.应用程

2021-09-23 18:25:13 170

原创 wordCountRDD(笔记十)

wordCountRDD流程1.首先我们都会这样子执行(wordCount执行在hadoop中)val rdd = sc.textFile(“hdfs://weekday01:9000/wc”).flatMap(.split(" ")).map((,1)).reduceByKey(+)rdd.saveAsTextFile(“hdfs://weekday01:9000/out”)2.内部实现细节1.textFile会产生两个RDD,1.HadoopRDD,为什么第一个是HadoopRDD,因为我

2021-09-23 18:24:46 149

原创 PriorityQueue优先队列(笔记九)

PriorityQueue优先队列代码: //优先队列使用示例 Queue<Customer> customerPriorityQueue = new PriorityQueue<>(7, idComparator); addDataToQueue(customerPriorityQueue); pollDataFromQueue(customerPriorityQueue); //匿名Comparator实现public static Com

2021-09-23 18:22:17 333

原创 MapReduce(笔记八)

MapReduce 执行过程分析Mapreduce-分布式运算框架,用户开发“基于hadoop的数据分析应用”的核心框架Map1.读数据mapTask读取数据源文件进行切片,每一个block启动一个mapTask,每个map task按照行读取一个block中的内容2.处理数据map函数对输入的每一行数据进行处理在内存中将数据存到环形缓冲区(byte[]数组),进行sort排序,自定义分区(每个分区对应一个reduceTask,缓解数据倾斜问题,可以让后面的reduce平均分摊任务,默认对ke

2021-09-23 18:21:44 129

原创 HashMap之Put(笔记七)

HashMap之put方法流程解读HashMap的put方法算是HashMap中比较核心的功能了,复杂程度高但是算法巧妙,同时在上一版本的基础之上优化了存储结构,从链表逐步进化成了红黑树,以满足存取性能上的需要。本文逐行分析了put方法的执行流程,重点放在了对整个流程的把握,对于红黑树的执行逻辑只是点到为止,其实HashMap中还有很多细节算法值得分析和学习,本文没有涉及,算是抛砖引玉吧,后面抽空把其他的地方分析一番。源码阅读与分析1、HashMap的put方法,翻看源码: 1 /** 2 *

2021-09-23 18:16:47 246

原创 Hash一致性算法(笔记六)

浅谈一致性hash算法我们在使用Redis的时候,为了保证Redis的高可用,提高Redis的读写性能,最简单的方式我们会做主从复制,组成Master-Master或者Master-Slave的形式,或者搭建Redis集群,进行数据的读写分离,类似于数据库的主从复制和读写分离。为什么要有hash一致性算法?先抛出一个场景:假如我们现在使用的是redis集群,这个时候我们有三个节点,NodeA,NodeB,NodeC,假如我们没有按任何的规则存储数据在这三个节点中,那么当我们需要查找具体的一个key时.

2021-09-23 18:14:49 97

原创 CAP(笔记五)

CAP理论CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。一致性(Consistency)一致性指“all nodes see the same data at the same time”,即更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致。可用性(Availability)可用性指“

2021-09-23 18:11:45 68

原创 hive的调优(笔记四)

hive的调优一、对执行语句进行调优1.开启本地模式,对语句执行时间进行优化2.测试fetch,对语句执行时间进行优化3.执行计划4.设置map任务数量5.设置reduce个数6.join原则7.小文件合并:8. jvm重用:9. 开启 mapjoin10.空值处理二、对文件存储格式进行调优1.hive文件存储格式1.textfile2.sequencefile3.refile4.orcfile5.parquet6.总结2.hive文件存储格式和压缩方式进行测试一、对执行语句进行调优1.开启本地模式,

2021-07-29 15:05:54 693 1

原创 结合Java内存模型理解volatile(笔记三)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Java内存模型1 工作内存与主内存2.内存间的交互操作二、并发编程中的三个概念?1.原子性2.可见性2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、Java内存模型1 工作内存与主内存Java内存模型定义了程序中各个变量的访问规则。Java线程与内存的关系就好比处理器与内存的关系,每个Java线程独自享有本地工作内存,通过直接对工作内存中的变量进行读写操作来平衡Java线程运算和数据存

2021-07-17 13:51:23 123

原创 subList的缺陷(笔记一)

一、subList返回仅仅只是一个视图public static void main(String[] args) { List<Integer> list1 = new ArrayList<Integer>(); list1.add(1); list1.add(2); //通过构造函数新建一个包含list1的列表 list2 List<Integer> list2 = new Array

2021-07-07 21:15:05 222

原创 fail-fast机制(笔记二)

“快速失败”也就是fail-fast,它是Java集合的一种错误检测机制。当多个线程对集合进行结构上的改变的操作时,有可能会产生fail-fast机制。记住是有可能,而不是一定。一、fail-fast示例二、fail-fast产生原因三、fail-fast解决办法方案一: 在遍历过程中所有涉及到改变modCount值得地方全部加上synchronized或者直接使用Collections.synchronizedList,这样就可以解决。但是不推荐,因为增删造成的同步锁可能会阻塞遍历操作。方案二: 使用Co

2021-07-07 21:13:03 94

原创 TreeMap根据key倒序排序&&TreeSet倒序排列

TreeSet treeReverseStr= new TreeSet();treeReverseStr = (TreeSet) treeStr.descendingSet();Map<String,List> dataMap = new TreeMap<String,List>();dataMap = ((TreeMap) dataMap).descendingMap();

2021-07-02 15:30:44 362

转载 MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误

项目场景:mysql插入数据时发生的问题问题描述:Error Number: 1467 Failed to read auto-increment value from storage engine错误号:1467无法从存储引擎读取自动增量值原因分析:ENGINE=InnoDB AUTO_INCREMENT=4294967295解决方案:下面展示一些 内联代码片。ALTER TABLE `YOUR_TABLE` AUTO_INCREMENT =1...

2021-06-22 14:14:00 995

原创 hdoop之负载均衡

文章目录前言一、负载均衡1.数据平衡不能导致数据块减少,数据块备份丢失2.管理员可以中止数据平衡进程3.每次移动的数据量以及占用的网络资源,必须是可控的4.数据均衡过程,不能影响namenode的正常工作二、该数据均衡算法每次迭代的逻辑1.数据均衡服务(Rebalancing Server)首先要求 NameNode 生成 DataNode 数据分布分析报告,获取每个DataNode磁盘使用情况2 Rebalancing Server汇总需要移动的数据分布情况,计算具体数据块迁移路线图。数据块迁移路线图,.

2021-06-22 13:58:37 136

原创 题目:i的初始值为0,i++在两个线程里面分别执行100次,能得到最大值和最小值分别是多少

最大值:200最小值:2最小值分析(图片参考牛客网大佬)操作流程1(线程1)线程1先读i=0,紧接着线程1 i++ 99次 ,此时i的值为99,但未写入到内存中操作流程2(线程2)因为操作1未写入到内存中,内存中i=0,线程2从内存中取i=0操作流程3(线程1)线程1将i=99写入到内存中,此时内存的值为99操作流程4(线程2)线程2此时使用的i是自己的i值,不是内存中i=99这个值.执行i++后,i=1,并将i=1写入到内存中,覆盖了之前内存i=99的值操作流程5(线程1)此时线

2021-06-11 22:50:45 3026

原创 基于Hadoop的Hdfs云盘系统

文章目录一、关于项目二、项目1.项目演示2.代码总结一、关于项目环境:centos7 Tomcat8.0 IDEAL MySQL hadoop 本云盘系统是基于Hadoop hdfs的集群分布式系统技术 :前端: html5+css3+vue后端: springboot+spring+jpa+spring security+验证码依赖管理: maven数据库:user表: uid uname upwd功能点:1.安全认证实现验证码功能,使用Sprin.

2021-06-10 18:31:43 3199 4

原创 node2: datanode running as process 1605. Stop it first.

今天开启hadoop的时候进程已经在运行中,出现datanode running as process 1605. Stop it first.错误,导致datenode2节点没有连接得上解决方法: 先执行stop-all.sh下,然后再执行start-all.sh,亲测有效!...

2021-06-01 18:45:11 6361 1

原创 Failed to start LSB: Bring up/down错误解决方法

昨天在复制虚拟机的时候突然遇到了网卡ens-33消失的状态,ip地址也显示不出来重启网络服务systemctl restart network.service发现有一个错误Failed to start LSB: Bring up/down网上查找很多资料,发现禁用NetworkManager就可以解决问题1、systemctl stop NetworkManager2、systemctl disable NetworkManager3.重启,网络恢复正常那么这个NetworkM

2021-05-25 10:52:38 1499

原创 Linux中 rwx权限的解读

Linux的权限不是很细致,只有RWX三种r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。1、目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入。2、只有执行权限只能进入目录,不能看到目录下的内容,要...

2021-05-17 15:19:20 407

空空如也

空空如也

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

TA关注的人

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