自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Carroll的博客

谦虚、勇敢且真诚待人做事;重基础,用心做技术。

  • 博客(22)
  • 资源 (9)
  • 收藏
  • 关注

原创 23. 合并K个排序链表

class Solution { public ListNode mergeKLists(ListNode[] lists) { if (lists == null || lists.length == 0) return null; PriorityQueue<ListNode> queue = new PriorityQueue<>(lists.length, (o1,o2) -> o1.val - o2.val); .

2020-06-29 22:31:57 126

原创 Zookeeper选举机制原理解释

文章目录Leader选举概述术语解释服务器启动时期的Leader选举服务器运行时期的Leader选举Leader选举概述Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一时,需要进行Leader选举。(1)服务器初始化启动。(2)服务器运行期间Leader节点挂掉。术语解释服务器状态服务器具有四种状态,分别是LOOKING、FOLLOWING、LEADING、OBSERVING。LOOKING:寻找Leader状态。当服务器处于该

2020-06-23 10:36:58 436

原创 Spring Boot自动配置(面试必备)

文章目录自动配置介绍查看main方法的启动类查看@SpringBootApplication源码@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan自动配置原理自动配置介绍使用SpringBoot之后,一个整合了SpringMVC的WEB工程开发非常简单,那些繁杂的配置都消失不见了,这是如何做到的?查看main方法的启动类注解:@SpringBootApplicationrun方法:SpringApplication.r

2020-06-23 00:19:35 687

原创 剑指 Offer 33. 二叉搜索树的后序遍历序列

递归class Solution { public boolean verifyPostorder(int[] postorder) { return helper(postorder,0,postorder.length-1); } public boolean helper(int[] postorder,int i , int j){ if(i>=j){ return true; } ..

2020-06-22 21:04:05 194

原创 Mybatis的一级缓存与二级缓存使用细则

MyBatis中使用缓存来提高其性能。当查询数据时, 会先从缓存中取出数据,如果缓存中没有,再到数据库当中查询.MyBatis中的缓存分为两种:一级缓存和二级缓存。一级缓存是sqlSession级别的,二级缓存是mapper级别的Mybatis的一级缓存是指Session缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。

2020-06-22 17:37:13 394

原创 【Redis】Redis数据淘汰和持久化

文章目录Redis数据淘汰策略Redis持久化简介RDBAOFRedis缓存与数据库一致性解决方案总结缓存穿透缓存雪崩热点key常见面试题Redis数据淘汰策略Redis官方给的警告,当内存不足时,Redis会根据配置的缓存策略淘汰部分Keys,以保证写入成功。当无淘汰策略时或没有找到适合淘汰的Key时,Redis直接返回out of memory错误。最大缓存配置:在 redis 中,允许用户设置最大使用内存大小是maxmemory 512Gredis 提供6种数据淘汰策略:volat

2020-06-12 16:30:26 273

原创 数据结构之并查集问题详细介绍和例题练习

基本概念200. 岛屿数量给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3在这里插入代码...

2020-06-10 11:02:22 258

原创 【HBase】JAVA API操作HBase

文章目录JAVA API 操作HBase1 连接到HBase的服务2 抽取工具类3 写一个测试的模板类4 Namespace的CRUD4.1 list_namespace4.2 create_namespace4.3 list_namespace_tables4.4 修改namespace4.5 删除namespace5 Table的CRUD5.1 建表5.2 查询表中所有列簇5.3 修改表5.4 删除表中的列簇5.5 修改列簇的属性5.6 删除表6 Table的DML操作6.1 HBaseUtils6.2

2020-06-09 13:14:45 693 1

原创 【HBase】Hbase Shell相关操作全集

文章目录HBase的DDL语法1 help2 namespace2.1 关于namespace的常用命令2.2 list_namespace2.3 create_namespace2.4 describe_namespace2.5 alter_namespace2.6 list_namespace_tables2.7 drop_namespace3 table3.1 关于表的常见命令3.2 create3.3 list3.3 describe/desc3.4 alter3.5 exists3.6 Drop/

2020-06-09 13:11:04 401

原创 【Hbase】HBase相关知识助你快速入门

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。HBase是

2020-06-08 22:19:02 557

原创 【Spark】Spark Streaming基础知识

Spark Streaming用于流式数据的处理。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。

2020-06-07 15:04:42 303

原创 【Spark】RDD、DataFrame、DataSet互相转换(面试重点)

在SparkSQL中Spark为我们提供了两个新的抽象,分别是DataFrame和DataSet。他们和RDD有什么区别呢?首先从版本的产生上来看:RDD (Spark1.0) —> Dataframe(Spark1.3) —> Dataset(Spark1.6)

2020-06-07 14:11:45 787

原创 【Spark】Spark SQL简介

文章目录什么是Spark SQLSpark SQL的特点什么是DataFrame什么是DataSet什么是Spark SQLSpark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet,并且作为分布式SQL查询引擎的作用。Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduc的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所有Spark SQL的应运而生,它是将Spark

2020-06-07 11:40:54 356

原创 【Spark】数据读取与保存(MySQL)

文章目录添加依赖建表获取数据存储数据Spark的数据读取及数据保存可以从两个维度来作区分:文件格式以及文件系统。文件格式分为:Text文件、Json文件、Csv文件、Sequence文件以及Object文件;文件系统分为:本地文件系统、HDFS、HBASE以及数据库。添加依赖<!--mysql依赖的jar包--> <dependency> <groupId>mysql</groupId> <artifactId&g

2020-06-07 11:23:02 703

原创 【Spark】RDD的依赖关系

文章目录Spark Lineage(血统)窄依赖宽依赖DAG任务划分Spark Lineage(血统)Lineage利用内存加快数据加载,在其它的In-Memory类数据库或Cache类系统中也有实现。Spark的主要区别在于它采用血统(Lineage)来时实现分布式运算环境下的数据容错性(节点失效、数据丢失)问题。RDD Lineage被称为RDD运算图或RDD依赖关系图,是RDD所有父RDD的图。它是在RDD上执行transformations函数并创建逻辑执行计划(logical executi

2020-06-07 09:21:43 360

原创 【Spark】Spark中RDD基础知识总结

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。RDD(弹性分布式数据集),Spark计算的基石,为用户屏蔽了底层对数据的复杂抽象和处理,为用户提供了一组方便的数据转换与求值方法。

2020-06-06 16:11:52 601

原创 【Spark】Action与Transformation常用算子总结

Transformation算子RDD中的所有转换都是延迟加载的,也就是说,它们并不会直接计算结果。相反的,它们只是记住这些应用到基础数据集(例如一个文件)上的转换动作。只有当发生一个要求返回结果给Driver的动作时,这些转换才会真正运行。这种设计让Spark更加有效率地运行。转换含义map(func)返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成filter(func)返回一个新的RDD,该RDD由经过func函数计算后返回值为true的输入

2020-06-06 16:08:34 213

原创 【Spark】Spark简介与基础知识

Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLib、SparkR等子项目,Spark是基于内存计算的大数据并行计算框架。除了扩展了广泛使用MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理。Spark 适用于各种各样原先需要多种不同的分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理。通过在一个统一的框架下支持这些不同的计算,Spark 使我们可以简单而低耗地把各种处理流程整合在一起

2020-06-06 11:57:29 262

原创 面试题62. 圆圈中最后剩下的数字

class Solution { public int lastRemaining(int n, int m) { List<Integer> list = new ArrayList<>(); for(int i = 0;i<n;i++){ list.add(i); } int idx = 0; while(n>1){ idx = .

2020-06-03 12:08:40 125

原创 【LeetCode】单调栈相关练习总结

496. 下一个更大元素 Iclass Solution { public int[] nextGreaterElement(int[] nums1, int[] nums2) { Stack<Integer> stack = new Stack<>(); Map<Integer,Integer> map = new HashMap<>(); for(int i = 0;i<nums2.lengt

2020-06-01 17:15:17 247

原创 力扣第 191 场周赛

5424. 数组中两元素的最大乘积class Solution { public int maxProduct(int[] nums) { int len=nums.length; Arrays.sort(nums); return (nums[len-1]-1)*(nums[len-2]-1); }}5425. 切割后面积最大的蛋糕class Solution { public int maxArea(int h, int

2020-06-01 17:13:02 370

原创 数据结构之前缀树问题详细介绍和例题练习

208. 实现 Trie (前缀树)class TrieNode { public char val; public boolean isWord; TrieNode[] child = new TrieNode[26]; public TrieNode() {} TrieNode(char c) { TrieNode node = new TrieNode(); node.val = c; }}class Trie {

2020-06-01 17:12:00 226

15856_eec3d8ce85-背包问题知识框架图.png

背包问题知识框架图。背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?

2020-05-11

新型肺炎实战.zip

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

天池工业蒸汽.zip

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

少年的你评论数据分析.zip

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

金融反欺诈实战.zip

金融反欺诈实战。通过数据分析,锻炼自己的机器学习的能力和数据分析的能力。数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。

2020-04-06

国庆档电影数据分析.zip

国庆档电影数据分析。国庆档首日票房达7.96亿元,达同档期最高纪录;10月1日-10月7日期间,中国电影市场累计票房产出为43.86亿元,同比增长130.36%,打破了2017年26.29亿元的国庆档票房纪录,成为中国电影产业化改革以来,票房最高的国庆档。此外2019年国庆档仅用三天时间,就打破了2018年七天的票房纪录,算入9月30日票房,票房达到50.52亿,助推2019年年度票房实现同比反超。

2020-04-06

git常用命令.txt

Git常用命令总结。我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,只支离破碎地介绍Git的某几个命令,还有直接从Git手册粘贴帮助文档的,学完后能立刻上手的Git教程。

2020-04-06

Spring-AOP.zip

spring aop的具体实现与理论.AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。

2020-04-06

mantisbt-2.24.0.tar.gz

Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。

2020-04-06

空空如也

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

TA关注的人

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