- 博客(35)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 mysql 经典面试题
1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;3. 从:sql执行线程——执行relay log中的语句;详解:mys...
2018-08-07 14:44:51
96212
7
转载 如何将自己的代码放到github上
2018年07月05日 08:52:11 cxw18352791009 阅读数 3289喜欢的同学可以看一下原文,讲得更加详细哦原文地址:http://www.cnblogs.com/cxk1995/p/5800196.html首先你需要一个github账号,所有还没有的话先去注册吧!https://github.com/我们使用git需要先安装git工具,这里给出下载地...
2019-07-27 22:24:00
952
转载 无埋点实现监测的真相——革新还是噱头?
转载:http://www.chinawebanalytics.cn/auto-event-tracking-good-bad-ugly/所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的专业术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。例如我们在产品或者服务转化关键点进行埋点,即可以帮助产品运营领域或者营销领域的业务人员定义和分析准备的业务数据。...
2019-03-21 16:17:15
431
转载 LRU实现
LRU全称是LeastRecently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。实现LRU1.用一个数组来存储数据,给每一个数据项标记一个访问时间戳,每次插入新数据项的时候,先把数组中存在的数据项的时间戳自增,并...
2019-03-17 21:49:31
252
转载 浅谈缓存
1. 什么是缓存缓存有很多种,从 CPU 缓存、磁盘缓存到浏览器缓存等,本文所说的缓存,主要针对后端系统的缓存。也就是将程序或系统经常要使用的对象存在内存中,以便在使用时可以快速调用,也可以避免加载数据或者创建重复的实例,以达到减少系统开销,提高系统效率的目的。2. 为什么要用缓存我们一般都会把数据存放在关系型数据库中,不管数据库的性能有多么好,一个简单的查询也要消耗毫秒级的时间,这样...
2019-03-15 10:39:24
209
转载 插播面试题:海量数据求最大值Topk或者是最小值Topk
如果数据量堪称是海量的时候,我们还需要耗费大量的时间空间排序后在排序完成后取他们的前k个最大值或者是前k个最小值么?面对海量数据,并不要求所有的数据都排序成有序序列时,我们没有必要采用各式各样的排序算法对所有数都进行排序后再获得TopK值,这道题在面试题中可能会经常碰到,考察的就是排序中的堆排序。输入:所有需要排序的数据,记作a1a2...ak,k值输出:k个最大元素对a1a2...a...
2019-03-10 19:38:29
564
转载 ssh免密登录(普通用户和root用户)
环境centos6.5 NN01 centos6.5 NN02目的:同台机器之间实现普通用户之间的免密登陆: NN01 的user1 免密登陆 user2不同机器之间实现普通用户之间的免密登陆 :NN01 的user1 免密登陆 NN01 的user1一.同台机器之间实现普通用户之间的免密登陆普通用户之间的免密登陆和 使用root 进行免密登陆,基本设置都是一样的,只不过普通用户之...
2019-01-09 17:23:02
5252
转载 如何手动更新Kafka中某个Topic的偏移量
转载:https://blog.csdn.net/xiaoyu_bd/article/details/52319302我们在使用consumer消费数据时,有些情况下我们需要对已经消费过的数据进行重新消费,这里介绍kafka中两种重新消费数据的方法。1. 修改offset我们在使用consumer消费的时候,每个topic会产生一个偏移量,这个偏移量保证我们消费的消息顺序且不重复。...
2018-10-13 19:11:08
1695
转载 Spark Streaming的Exactly-One的事务处理
输出不重复 事务 银行转帐为例,A用户转账给B用户,B用户可能收到多笔钱,如何保证事务的一致性,也就是说事务输出,能够输出且只会输出一次,即A只转一次,B只收一次。 从事务视角解密SparkStreaming架构: SparkStreaming应用程序启动,会分配资源,除非整个集群硬件资源崩溃,一般情况下都不会有问题。SparkStreaming程序分成两部分,一部分是Driver,另外...
2018-10-10 17:23:39
189
转载 Kafka消息投递语义-消息不丢失,不重复,不丢不重
转载:https://3gods.com/bigdata/Kafka-Message-Delivery-Semantics.html介绍kafka支持3种消息投递语义:At most once——最多一次,消息可能会丢失,但不会重复 At least once——最少一次,消息不会丢失,可能会重复 Exactly once——只且一次,消息不丢失不重复,只且消费一次。但是整体的消...
2018-10-08 16:52:07
1081
转载 Kafka是如何实现高吞吐率的
转载:http://aoyouzi.iteye.com/blog/2322673Kafka是分布式消息系统,需要处理海量的消息,Kafka的设计是把所有的消息都写入速度低容量大的硬盘,以此来换取更强的存储能力,但实际上,使用硬盘并没有带来过多的性能损失 kafka主要使用了以下几个方式实现了超高的吞吐率 顺序读写 kafka的消息是不断追加到文件中的,这个特性使kafk...
2018-10-08 16:49:36
942
转载 Spark 资源调度及任务调度
1、 资源分配 通过SparkSubmit进行提交应用后,首先会创建Client将应用程序(字节码文件.class)包装成Driver,并将其注册到Master。Master收到Client的注册请求后将其加入待调度队列waitingDrivers,并等待分配执行资源。1.1 Dirver调度(分配Driver执行容器,1个) Master中调度程序执...
2018-10-04 17:11:25
244
转载 Java中的static关键字解析
static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处...
2018-09-18 21:18:51
143
原创 MySQL的JOIN原理
表连接算法Nested Loop Join(NLJ)算法:首先介绍一种基础算法:NLJ,嵌套循环算法。循环外层是驱动表,循坏内层是被驱动表。驱动表会驱动被驱动表进行连接操作。首先驱动表找到第一条记录,然后从头扫描被驱动表,逐一查找与驱动表第一条记录匹配的记录然后连接起来形成结果表中的一条记。被驱动表查找完后,再从驱动表中取出第二个记录,然后从头扫描被驱动表,逐一查找与驱动表第二条记录匹配的记...
2018-09-18 20:06:07
468
转载 Java 8系列之重新认识HashMap(转载自美团点评技术团队)
Java 8系列之重新认识HashMap(转载自美团点评技术团队)摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。...
2018-09-17 21:07:10
653
转载 Spark分区器HashPartitioner和RangePartitioner代码详解
转载:https://www.iteblog.com/archives/1522.html 在Spark中分区器直接决定了RDD中分区的个数;也决定了RDD中每条数据经过Shuffle过程属于哪个分区;也决定了Reduce的个数。这三点看起来是不同的方面的,但其深层的含义是一致的。 我们需要注意的是,只有Key-Value类型的RDD才有分区的,非Key-Value类型的RDD分区...
2018-09-15 19:49:39
342
转载 Spark数据倾斜的完美解决
数据倾斜解决方案数据倾斜的解决,跟之前讲解的性能调优,有一点异曲同工之妙。性能调优中最有效最直接最简单的方式就是加资源加并行度,并注意RDD架构(复用同一个RDD,加上cache缓存)。相对于前面,shuffle、jvm等是次要的。6.1、原理以及现象分析6.1.1、数据倾斜怎么出现的在执行shuffle操作的时候,是按照key,来进行values的数据的输出、拉取和聚合的。...
2018-09-14 20:55:55
1245
原创 面试中常见的查找与排序
二分查找(折半查找),它仅适应于有序的顺序表 public static int binSearch(int nums[],int des){ int low = 0; int high = nums.length -1; int middle = 0; while(low<=high){ middle=(low+high)/2; if(nums[middle]==des)...
2018-09-13 21:35:41
439
转载 URL跟Url的区别
初学java,最近被一个概念搞得头晕脑胀,就是url和uri的概念和区别,网上查了一大通,发现各种回答眼花缭乱,有百科直接粘贴的,有胡说八道的,有故意绕来绕去的,我估计他自己都没搞懂,按照马士兵的说法就是,通通都是一些冠冕堂皇的套话,说了等于没说,本来就是一个很抽象的概念,还用很抽象的的方式来答复,这不是让人虐心吗?经过我潜心研究了一番,把他们的区别分享给大家,我相信很多新手都不会一下子明白这...
2018-09-11 22:24:35
767
1
原创 面试中的设计模式
单例模式(Singleton) 什么是单例模式? 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点 常见的应用场景? 项目中,读取配置文件的类,一般也只有一个对象,没有必要每次都使用配置文件数据,每次都new一个对象去读取 数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源 在Spring中,每个bean默认就是单例的,这样做的优点是Spring容...
2018-09-11 19:52:20
256
原创 Hive总结
Hive是什么?Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。Hive的特点?可扩展 Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。延展性 Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。容错 良好的容错性,节点出现问题SQL仍可完成执行。Hive的架构图?Hive与...
2018-09-05 21:48:57
620
原创 Java中的比较器
Comparable和Comparator接口都是为了对类进行比较,众所周知,诸如Integer,double等基本数据类型,java可以对他们进行比较,而对于类的比较,需要人工定义比较用到的字段比较逻辑。可以把Comparable理解为内部比较器,而Comparator是外部比较器,基本的写法如下:class Apple implements Comparable<Apple>...
2018-09-05 11:04:45
11941
原创 Redis的主从复制
Redis的主从复制是什么:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主可以干嘛:1、读写分离 2、容灾恢复怎么玩:1、配从(库)不配主(库) 2、从库配置:slaveof 主库IP 主库端口。。每次与master断开之后,都需要重新连接,除非你配置进re...
2018-09-04 18:54:40
134
原创 Redis的事务
Redis事务是什么:可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。怎么玩?Case1:正常执行Case2:放弃事务Case3:全体连坐Case4:冤头债主Case5:watch监控。 Watch指令,类似乐观锁,事务提交时,如果Key的值已被别的客户端改变,比如某个list...
2018-09-04 18:28:03
97
原创 Redis的持久化
Redis的持久化有两种方式:第一种是:RDB(Redis DataBase)在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这...
2018-09-04 18:08:34
122
转载 Redis.conf常见配置介绍
参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis.pid3. 指定Redis监听端口,默...
2018-09-02 21:40:09
140
原创 Resid总结
Redis是什么?Redis:REmote DIctionary Server(远程字典服务器)是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。Redis与其他key-value缓存产品的有以下三个特点:Redis支持数...
2018-09-02 21:12:33
3604
转载 位运算小结(按位与、按位或、按位异或、取反、左移、右移)
位运算小结(按位与、按位或、按位异或、取反、左移、右移)转自:http://blogread.cn/it/article/7327?f=wb位运算不管是在Java语言,还是在C语言中,或者其他语言,都是经常会用到的,所以本文也就不固定以某种语言来举例子了,原始点就从0、1开始。位运算主要包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、右移(&g...
2018-08-30 10:14:22
728
转载 MySQL锁详解
MySQL锁详解一、概述转自:https://www.cnblogs.com/luyucheng/p/6297752.html数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针...
2018-08-14 22:08:25
99
原创 Java中的一些零星容易被忽略的API(及时补充)
关于Java中的Arrays.copyOfRange()方法要使用这个方法,首先要import java.util.*;Arrays.copyOfRange(T[]original,int from,int to)将一个原始的数值original,从小标from开始复制,复制到小标to,生成一个新的数组(注意这里包括下标from,不包括下标to)这个方法在一些处理数组的编程题里很好...
2018-08-14 20:02:32
175
转载 面试手撕代码:二叉树的递归遍历和非递归遍历(附详细例子)
public class BinaryTree { private TreeNode root; public BinaryTree() { } public BinaryTree(TreeNode root) { this.root = root; } public void setRoot(TreeNode root) {...
2018-08-14 17:16:01
454
转载 探秘Java中的String、StringBuilder以及StringBuffer
转载:http://www.cnblogs.com/dolphin0520/p/3778589.html一.你了解String类吗? 想要了解一个类,最好的办法就是看这个类的实现源代码,String类的实现在 \jdk1.6.0_14\src\java\lang\String.java 文件中。 打开这个类文件就会发现String类是被final修饰的: 1...
2018-08-14 10:11:05
106
转载 mysql索引背后的数据结构及算法
摘自:http://blog.jobbole.com/24006/本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索...
2018-08-10 20:15:58
132
原创 机器学习入门------pandas
food_info = pandas.read_csv("C:/Users/LENOVO/Desktop/food_info.csv")print(food_info)结果:无 pandas的read_csv是从文件中把内容读取进来first_rows = food_info.head()#print (first_rows)#print(food_info.head(3))print (food...
2018-07-14 11:15:00
324
原创 机器学习入门---------numpy
第一个是学习一些python的库。首先学习的是numpy的库。import numpyvector =numpy.array([5,10,15,20])matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])print(vector)print(matrix)结果:[ 5 10 15 20][[ 5 10 15] [20 25 30] [...
2018-07-13 20:30:50
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人