自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zqzwzd的博客

本人关注的一些问题

  • 博客(314)
  • 收藏
  • 关注

转载 windows (CRLF) 与Linux (LF)换行符区别

crlf

2022-09-05 21:50:42 4440

转载 9 种 分布式 ID 生成方案

一、为什么要用分布式 ID?在说分布式 ID 的具体实现之前,我们来简单分析一下为什么用分布式 ID?分布式 ID 应该满足哪些特征?1、什么是分布式 ID?拿 MySQL 数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个 MySQL 主从同步读写分离也能对付。但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一 ID 来标识一条数据,数据库的自增 ID 显然不能满足需求;特别一点的如订单、优惠券...

2022-04-24 15:05:58 644

转载 如何使用go遍历目录获取文件列表

通过go遍历目录获取文件列表Hello大家好呀,这次分享的内容是如何使用Go在文件系统中获取到文件夹中的所有文件列表。本文将会列举三种方法by Using:filepath.Walkioutil.ReadDiros.File.Readdir使用filepath.Walkpath/filepath 标准库的包提供了便捷的Walk方法,它能自动的扫描子目录,使用起来也很简单package mainimport ( "fmt" "os" ..

2022-03-31 10:30:45 5952 1

原创 RPC入门简介

2021-09-28 12:36:58 251

原创 go语言高阶语法

2021-09-09 17:18:11 277

原创 go语言语法笔记

内容来自:https://www.bilibili.com/video/BV1gf4y1r79E?p=1语法大纲

2021-09-01 10:47:35 159

转载 两年滴滴和头条的后端开发经验!字字都是肺腑之言!

先简单交代一下背景吧,某不知名985的本硕,17年毕业加入滴滴,当时找工作时候也是在牛客这里跟大家一起奋战的。今年下半年跳槽到了头条,一直从事后端研发相关的工作。之前没有实习经历,算是两年半的工作经验吧。这两年半之间完成了一次晋升,换了一家公司,有过开心满足的时光,也有过迷茫挣扎的日子,不过还算顺利地从一只职场小菜鸟转变为了一名资深划水员。在这个过程中,总结出了一些还算实用的划水经验,有些是自己领悟到的,有些是跟别人交流学到的,在这里跟大家分享一下。‌学会深入思考,总结沉淀‌我想说的第一条就

2021-05-15 01:32:13 273 1

转载 图解 | 你管这破玩意叫线程池?

小宇:闪客,我最近看到线程池,被里边乱七八槽的参数给搞晕了,你能不能给我讲讲呀?闪客:没问题,这个我擅长,咱们从一个最简单的情况开始,假设有一段代码,你希望异步执行它,是不是要写出这样的代码?newThread(r).start();小宇:嗯嗯,最简单的写法似乎就是这样呢。闪客:这种写法当然可以完成功能,可是你这样写,老王这样写,老张也这样写,程序中到处都是这样创建线程的方法,能不能写一个统一的工具类让大家调用呢?小宇:可以的,感觉有一个统一的工具类,更优雅一些。闪客..

2021-04-21 09:47:36 177

转载 事务的基本属性(ACID)和传播属性(Propagation)

数据库事务的四个基本性质简介原子性(Atomicity),在一个事务中的所有操作,相当于一个原子操作,要么全部成功,要么全部失败。一致性(Consistency),就是在事务执行前后,对于事务本身的用意而言,数据库中的数据是保持一致的,数据库的一致性是建立在原子性的基础之上的,更多的由编码的程序员保证,最经典的案例是A,B帐号之间的转账。隔离性(Isolation),事务的隔离性是指事务和事务之间的数据可见性,这也是本文需要详细介绍的地方。数据库定义了各种隔离级别,以在并发性和数据完整性中权衡。持久

2021-04-14 11:55:32 411

转载 TCP总结:TCP 三次握手和四次挥手(以及各种相关问题)

TCP简介为什么需要 TCP 协议?TCP 工作在哪一层?IP层是「不可靠」的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。OSI 参考模型与 TCP/IP 的关系如果需要保障网络数据包的可靠性,那么就需要由上层(传输层)的TCP协议来负责。因为 TCP 是一个工作在传输层的可靠数据传输的服务,它能确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。那么TCP是什么呢?什么是 TCP ?TCP 是面向连接的、可靠的、基于字节流的传输...

2021-04-12 11:40:15 371

转载 约瑟夫问题---- 约瑟夫环

5727. 找出游戏的获胜者约瑟夫问题约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。首先A开始报数,他报1。侥幸逃过一劫。然后轮到B报数,他报2。非常惨,他被杀了C接着从1开始报数接着轮到A报数,他报2。也被杀死了。最终胜利者是C解决方案普通解法刚学数据结构的时候,我们可能用链表的方法去模拟这

2021-04-11 17:55:20 633

转载 MySQL 深入学习总结

1.数据库基础1.1 MySQL 架构和其它数据库相比,MySQL 有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎,各层介绍:1.1.1 连接层最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在

2021-04-11 10:03:45 268

转载 MySQL命令:explain介绍

mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描。可以帮助我们优化查询语句。例如:b+树索引:使用索引:全表扫描:explain出来的信息有10列,文章主要介绍type、key、Extra这几个字段。演示中涉及到的表结构如下: CREATE TABLE `dept_desc` ( `dept_no` char(4) NOT NULL, `dept_name` varchar(40) NOT NUL.

2021-04-11 09:53:46 159

转载 线上服务器CPU占用率高如何排查定位问题?

(关联着看看这篇文章:https://blog.csdn.net/u011277123/article/details/103768939)解决问题的能力以超高比例排名第一,这也是为什么很多面试过程中,面试官都喜欢问如下问题:1、你这个项目遇到的最大挑战是什么?如何解决的?2、如果线上发生了报警你回如何排查呢?3、你有解决过什么线上问题吗?4、能列举几个你知道的排查Linux服务器线上问题的命令吗?这些,都是比较常见的问题,还有一些比较具体的问题也是建议很多开发者都需要掌握...

2021-04-10 10:33:13 343

转载 服务器IO高问题定位和优化

这次分享主要是针对大家经常面试中遇到的性能相关问题的可能猜测和定位、解决的方法,我在面试的过程中发现好多同学并没有一个清晰的思路本课程的主旨及目标•导致服务器IO高的常见原因•常见定位问题的方法======================================导致服务器IO高的常见原因=================================简介:磁盘通常是计算机最慢的子系统,也是最容易出现性能瓶颈的地方,因为磁盘离CPU 距离最远而且CPU 访问磁盘要..

2021-04-10 08:45:11 5249

转载 391,回溯算法求组合问题

39. 组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。candidates 中的数字可以无限制重复被选取。示例1:输入: candidates = [2,3,6,7]target = 7所求解集为:[ [7], [2,2,3]]示例2:...

2021-04-07 22:14:30 155

转载 TCP-------为什么会有TIME_WAIT状态 ?

1.先来了解TCP四次挥手的过程:①第一次:主机1(可以使客户端,也可以是服务器端),设置Sequence Number和Acknowledgment Number,向主机2发送一个FIN报文段;此时,主机1进入FIN_WAIT_1状态;这表示主机1没有数据要发送给主机2了; ②第二次:主机2收到了主机1发送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机1,我...

2021-04-06 17:27:42 285

原创 最大公约数

辗转相除法:int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }

2021-04-04 12:14:16 153

转载 Java内存模型JMM

Java 内存模型Java 内存模型(JMM)是一种抽象的概念,并不真实存在,它描述了一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段、静态字段和构成数组对象的元素)的访问方式。试图屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。注意JMM与JVM内存区域划分的区别:JMM描述的是一组规则,围绕原子性、有序性和可见性展开; 相似点:存在共享区域和私有区域主内存与工作内存处理器上的寄存器的读写的速度比内存快几个数量级

2021-03-31 20:23:00 146

转载 什么是事务?事务的特性、不考虑事务隔离性会产生的问题?以及解决办法

1.什么是事务:事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。2.事务特性:ACID原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)原子性(Atomicity):事务是数据库逻辑工作单元,事务中包含的操作要么都执行成功,要么都执行失败。 一致性(Consistency):事务执行的结果必须是使数据库数据从一个一致性状态变到另外一

2021-03-23 11:43:55 478

转载 Spring注解标签详解@Autowired @Qualifier

@Autowiredspring2.1中允许用户通过@Autowired注解对Bean的属性变量.属性Setter方法以及构造函数进行标注,配合AutowiredAnnotationBeanProcessor完成Bean的自动配置。使用@Autowired注释进行byType注入。在applicationContext.xml中加入:[xml]view plaincopy<!--该BeanPostProcessor将自动对标注@Autowired的Bean进行注入...

2021-03-11 20:18:34 1029

转载 新机器 添加SSH keys并连接GitLab

为github帐号添加SSH keys使用git clone命令从GitLab上同步代码库时,如果使用SSH链接(如:git@gitlab.com:example/example.git),但是你的SSH key没有添加到GitLab的账号设置中,系统会报下面的错误:Permission denied (publickey).fatal: Could not read from remote repository.Please make sure you have the correct ac

2021-03-03 16:34:15 299 1

原创 并查集【路径压缩 + 按秩合并】模板

class UF { public int[] parent; // parent[i] i 的 父节点 public int[] size; // i 所在的连通分量的大小,为了union的时候,将小树的root连接到大树的root下 public int count; // 有几个连通分量 public UF (int n) { count = n; parent = new int[n]; siz.

2021-01-16 23:35:47 115

转载 2021-01-11经典的八皇后问题和N皇后问题, 回溯

八皇后的来源八皇后问题是一个以国际象棋为背景的问题:如何能够在8×8的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当n = 1或n ≥ 4时问题有解。八皇后问题最早是由国际象棋棋手马克斯·贝瑟尔(Max Bezzel)于1848年提出。第一个解在1850年由弗朗兹·诺克(Franz Nauck)给出。并且将其推广为更一

2021-01-11 11:08:43 478

转载 MySQL命令alter add:增加表的字段

alter add命令用来增加表的字段。alter add命令格式:alter table 表名 add字段 类型 其他;例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:mysql> alter table MyClass add passtest int(4) default ‘0’;加索引mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);例子: mysql> alter ta

2020-12-20 12:05:20 260 1

转载 贪心算法

四种基本算法:贪心算法分而治之算法(递归思想)动态规划暴力出奇迹算法(穷举思想)贪心算法的三步走!第一步明确到底什么是最优解?明确下来之后用小本本记下来!第二步明确什么是子问题的最优解?再用小本本记下来!第三步分别求出子问题的最优解再堆叠出全局最优解?这步不用记!贪心算法三个核心问题!!!一、为什么不直接求全局最优解?(因为原问题求不到全局最优解,所以才有贪心算法)总结一下使用贪心算法的前提:1、原问题复杂度过高;2、求全局最优解的数学模型难以建立;3、求全局最优解的

2020-12-20 09:19:22 183 1

转载 数据结构-树

基础知识树是一个有n个有限节点组成一个具有层次关系的集合,每个节点有0个或者多个子节点,没有父节点的节点称为根节点,也就是说除了根节点以外每个节点都有父节点,并且有且只有一个。树的种类比较多,有二叉树,红黑树,AVL树,B树,哈夫曼树,字典树等等。甚至堆我们也可以把它看成是一棵树,树的这么多种类中,我们最常见的应该是二叉树了,下面我们来看一下他的结构。定义: 结点的度:一个结点含有的子结点的个数称为该结点的度; 叶结点或终端结点:度为0的结点称为叶结点;..

2020-12-13 00:21:09 186

转载 回溯算法

什么叫回溯算法对于回溯算法的定义,百度百科上是这样描述的:回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。看明白没,回溯算法其实就是一.

2020-12-09 22:42:38 1216

转载 java 设置特定时间

用 Calendar,如下: Calendar calendar=Calendar.getInstance(); calendar.set(2015, 10, 12); //年月日 也可以具体到时分秒如calendar.set(2015, 10, 12,11,32,52); Date date=calendar.getTime();//date就是你需要的时间...

2020-12-09 19:31:18 1709

转载 @Slf4j 注解的使用方法

slf4j是一个日志标准,使用它可以完美的桥接到具体的日志框架,必要时可以简便的更换底层的日志框架,而不需要关心具体的日志框架的实现(slf4j-simple、logback等)。slf4j提供了日志接口、获取具体日志对象的方法,常见用法:private static final Logger logger = LoggerFactory.getLogger(LoggerTest.class);logger.debug("debug");logger.info("info");logger.

2020-10-28 12:06:53 4779

原创 lucene

lucene数据分类数据分类在这里插入代码片

2020-09-30 14:29:01 101

转载 git commit之后,想撤销commit

写完代码后,我们一般这样git add . //添加所有文件git commit -m "本功能全部完成"执行完commit后,想撤回commit,怎么办?这样凉拌:git reset --soft HEAD^这样就成功的撤销了你的commit注意,仅仅是撤回commit操作,您写的代码仍然保留。说一下个人理解:HEAD^的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤回,可以使用HEAD~2至于这...

2020-08-10 16:51:12 144

原创 zookeeper(二)开发篇

zookeeper API简介使用zookeeper实现分布式锁分布式锁实现选举使用Apache Curator简化Zookeeper的开发

2020-06-06 19:48:31 246

原创 Linux实战(四)shell

https://github.com/geektime-geekbang/geekbanglinux/blob/master/ppt/4%E3%80%81Shell%E7%AF%87.pdf

2020-05-24 11:14:36 134

原创 Linux实战(三)系统管理

2020-05-23 12:43:15 147

原创 Linux实战(二)系统操作

打包 压缩

2020-05-18 23:41:19 219

原创 zookeeper(一)基础篇

检查日志log有没有问题:创建m2 的znode

2020-05-17 18:34:38 164

原创 Linux实战(一)基础篇

2020-05-12 00:08:08 609

原创 从0开始学大数据(二)

移动计算比移动数据更划算大数据技术和传统的软件开发技术在架构思路上有很大不同,大数据技术更为关注数据,所以相关的架构设计也围绕数据展开,如何存储、计算、传输大规模的数据是要考虑的核心要素。传统的软件计算处理模型,都是“输入 -> 计算 -> 输出”模型。也就是说,一个程序给它传入一些数据也好,它自己从某个地方读取一些数据也好,总是先有一些输入数据,然后对这些数据进行计算处理,最后得到输出结果。但是在互联网大数据时代,需要计算处理的数据量急速膨胀。一来是因为互联网用户数远远超过传统企业...

2020-05-11 16:58:43 554

原创 从0开始学大数据(十四)

35 | 如何利用大数据成为“增长黑客”?增长黑客是近几年颇为流行的一个词汇,它是指利用数据、技术、产品等一系列手段为互联网产品获得快速用户增长的人。互联网的访问没有边界,用户量的增加对应成本的增加也几乎可以忽略不计,所以如何快速、大规模获取用户是互联网产品的成功之道,我们所熟知的成功的互联网公司,例如国内的 BAT、国外的 FLAG,都拥有数亿甚至数十亿的用户。你有没有曾经幻想过“如果全国人民每人给我一块钱,我就成了亿万富翁”?事实上,这种想法并不天真,在互联网时代,你只要让全国人民都知道你,你肯定就

2020-05-08 23:17:07 1532 1

空空如也

空空如也

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

TA关注的人

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