自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 git rebase 和 git merge 的区别

git rebase 和 git merge 的区别

2022-02-14 17:59:12 4150

原创 [git]merge和rebase的区别

[git]merge和rebase的区别

2022-02-14 17:44:31 2045

原创 Mac中redis的基本使用

Mac中redis的基本使用一、下载方式一:redis官网下载链接:https://redis.io/download,选择稳定版本下载即可[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9vYvRqpX-1635475699299)(/Users/jiafeng.dai/Library/Application Support/typora-user-images/image-20211029103350048.png)]方式二:在终端运行以下命令(推荐)grew

2021-10-29 10:51:04 948

原创 Mac使用telnet命令提示:command not found,Mac安装telnet 命令

原因:在10.12及以下版本,都内置了telnet命令,但是在10.13中,已经取消了解决办法:安装brewHomebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。#打开终端,输入下面命令,回车,按照提示输入电脑密码,一步步按照提示安装即可/bin/bash -c "$(curl -fsSL https://raw.githubuserconte..

2021-10-28 16:43:28 12108 1

原创 压测工具ab的安装(mac环境)

最近有test项目需要使用压测工具ab,就到网上搜索了下安装教程,但发现都无法安装成功,最后通过请教同事才顺利done,具体步骤如下:前提,MAC已安装 brew!!!第一步:安装wget,如未安装brew install wget第二步,依次执行下列命令wget https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz brew install apr brew install apr-utilbrew install pcre第三步,添

2021-10-21 17:53:42 1421

原创 问题描述:dial tcp- lookup xxx.com on 8.8.8.8-53- no such host

最近GoLand在同步依赖时遇到如下错误提示:dial tcp: lookup xxx.com on 8.8.8.8:53: no such host但我的mac明明没有任何地方配置8.8.8.8啊, 而且我抓包看了,mac确实没有给8.8.8.8发任何请求。继续仔细分析,看到这个提示:reading https://sum.golang.org/lookup/xxx.com就是这里了,原来是这里在向8.8.8.8发起请求,然后8.8.8.8无法识别。问题原因:Go 1.13设置了默认的GOS

2021-10-21 17:30:24 2772

原创 int与Integer的基本使用对比

int与Integer的基本使用对比Integer是int的包装类;int是基本数据类型;Integer变量必须实例化后才能使用;int变量不需要;Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值;Integer的默认值是null;int的默认值是0。int与Integer的深入对比由于Integer变量实际上是对一个Integer对象的引用,所以两个通过new生成的Integer变量永远是不相等的(因为new生成的是两个对象,其内存地址不同)。

2021-08-31 13:07:32 288

原创 数据结构-各种树结构整理

与树有关的术语:节点深度:对任意节点x,x节点的深度表示为根节点到x节点的路径长度。所以根节点深度为0,第二层节点深度为1,以此类推节点高度:对任意节点x,叶子节点到x节点的路径长度就是节点x的高度树的深度:一棵树中节点的最大深度就是树的深度,也称为高度父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点子节点:一个节点含有的子树的根节点称为该节点的子节点节点的层次:从根节点开始,根节点为第一层,根的子节点为第二层,以此类推兄弟节点:拥有共同父节点的节点互称为兄弟节点节点的度:节点

2021-08-09 19:44:39 1195

原创 分布式与集群的区别是什么?

有些文章说分布式就是不同的组件。 这种说法是不对的,同一个组件也可以,关键在于是否通过交换信息的方式进行协作。 比如说Zookeeper的节点都是对等的,但它自己就构成一个分布式系统。 也就是说,分布式是指通过网络连接的多个组件,通过交换信息协作而形成的系统。 而集群,是指同一种组件的多个实例,形成的逻辑上的整体。 可以看出这两个概念并不完全冲突,分布式系统也可以是一个集群,例子就是前面说的zookeeper等,它的特征是服务之间会互相通信协作。 是分布式系统不是集群的情况,就是多个不同组件构.

2021-08-06 09:15:39 299

原创 错误:docker-ce-cli conflicts with 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 错误:docker-ce confli

安装K8S的时候提示这个问题,原因就是虚拟机中已经装了docker-ce和docker-ce-client卸载了docker就可以了,命令如下:[root@localhost ~]# yum list installed | grep dockercontainerd.io.x86_64 1.4.6-3.1.el7 @docker-ce-stabledocker-ce.x86_64

2021-08-05 10:54:22 336

原创 ConcurrentHashMap1.7和1.8区别

ConcurrentHashMap的前世今生前言​ 首先呢,想要了解ConcurrentHashMap, 你得先了解HashMap,可以看我另一个帖子 : HashMap底层原理以及 LinkedHashMap、HashTable 、HashSet 四者区别为什么要先了解HashMap呢? 因为HashMap是线程不安全的类,只适合在单线程上使用,既然使用受限,那就意味着它的结构相对比较简单,所以呢,先学HashMap在来了解ConcurrentHashMap将会更好理解,达到锦上添花的作用,

2021-08-04 09:21:25 2595

转载 LVS高性能原因揭秘

如果你看过我的一些文章,你应该知道,我一般不会把知识点给你直接列出来;这样的文章网上有一大把,你大可不必来我这看;如果你要看我的文章,那么,就请你做好思考的准备,跟着我的思路,去一点一点,把这么一个知识的历程,把它研究透彻,你会受益匪浅。OSI网络分层我们都应该知道,有 OSI 网络分层模型这么一个概念。此外,由于我们学的是软件工程学,为什么有一个工程这俩字在里面,那就说明了不是纯学术上的一个研究,是有具体的工程去做的。那么就涉及到分层解耦这么一个思想,任何一个层,只需要关心它这一层的事,而不用去

2021-08-04 08:52:17 180

原创 静态代理和动态代理的区别

静态代理和动态代理的区别代理代理是英文 Proxy 翻译过来的。我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了。她们从厂家拿货,然后在朋友圈中宣传,然后卖给熟人。按理说,顾客可以直接从厂家购买产品,但是现实生活中,很少有这样的销售模式。一般都是厂家委托给代理商进行销售,顾客跟代理商打交道,而不直接与产品实际生产者进行关联。所以,代理就有一种中间人的味道。接下来,我们说说软件中的代理模式。代理模式代理模式是面向对象编程中比较常见的设计模式。这是常见代理模式常见的 UML

2021-08-03 14:34:20 1659

原创 学习笔记4 - 文件系统

文件系统各有不同,其最主要的目标就是解决磁盘空间的管理问题,同时提供高效性、安全性。如果在分布式环境下,则有相应的分布式文件系统。Linux上有ext系列,Windows上有Fat和NTFS。如图为一个linux下文件系统的结构。其中VFS(Virtual File System)是Linux Kernel文件系统的一个模块,简单看就是一个Adapter,对下屏蔽了下层不同文件系统之间的差异,对上为操作系统提供了统一的接口.中间部分为各个不同文件系统的实现。再往下是Buffer Cache和Driv.

2021-08-03 11:39:16 112

原创 学习笔记3 - IO性能的重要指标

最重要的三个指标IOPSIOPS,即每秒钟处理的IO请求数量。IOPS是随机访问类型业务(OLTP类)很重要的一个参考指标。一块物理硬盘能提供多少IOPS**?**从磁盘上进行数据读取时,比较重要的几个时间是:寻址时间(找到数据块的起始位置),旋转时间(等待磁盘旋转到数据块的起始位置),传输时间(读取数据的时间和返回的时间)。其中寻址时间是固定的(磁头定位到数据的存储的扇区即可),旋转时间受磁盘转速的影响,传输时间受数据量大小的影响和接口类型的影响(不用硬盘接口速度不同),但是在随机访问类业务中

2021-08-03 11:36:44 316

原创 学习笔记2-IO模型

这部分的东西在网络编程经常能看到,不过在所有IO处理中都是类似的。IO****请求的两个阶段:​ 等待资源阶段:IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。​ 使用资源阶段:真正进行数据接收和发生。​ 举例说就是排队和服务。在等待数据阶段,IO分为阻塞IO和非阻塞IO。​ 阻塞IO:资源不可用时,IO请求一直阻塞,直到反馈结果(有数据或超时)。​ 非阻塞IO:资源不可用时,

2021-08-03 11:34:34 58

原创 学习笔记1- IO的分层

IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避IO瓶颈,从而提高系统性能。IO****系统的分层:三层结构上图层次比较多,但总的就是三部分。磁盘(存储)、VM(卷管理)和文件系统。专有名词不好理解,打个比方说:磁盘就相当于一块待用的空地;LVM相当于空地上的围墙(把空地划分成多个部分);文

2021-08-03 11:32:55 141

原创 分库分表的 9种分布式主键ID 生成方案

《sharding-jdbc 分库分表的 4种分片策略》 中我们介绍了 sharding-jdbc 4种分片策略的使用场景,可以满足基础的分片功能开发,这篇我们来看看分库分表后,应该如何为分片表生成全局唯一的主键 ID。引入任何一种技术都是存在风险的,分库分表当然也不例外,除非库、表数据量持续增加,大到一定程度,以至于现有高可用架构已无法支撑,否则不建议大家做分库分表,因为做了数据分片后,你会发现自己踏上了一段踩坑之路,而分布式主键 ID 就是遇到的第一个坑。不同数据节点间生成全局唯一主键是个棘手的问题

2021-08-01 11:33:32 1342

原创 MySQL中,21个写SQL的好习惯

MySQL中,21个写SQL的好习惯1. 写完SQL先explain查看执行计划(SQL性能优化)日常开发写SQL的时候,尽量养成这个好习惯呀:写完SQL后,用explain分析一下,尤其注意走不走索引。explain( 或者 explain2 DATANODE= dn11 sql= ) select userid,name,age from user where userid =10086 or age =18;2、操作delete或者update语句,加个limit(SQL后悔药)在执行删

2021-07-31 19:47:23 71

原创 Redis

Redis–Redis是什么?Redis是C语言开发的一个开源的(遵从BSD协议)高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。它是一种NoSQL(not-only sql,泛指非关系型数据库)的数据库。Redis作为一个内存数据库的特点:①、性能优秀,数据在内存中,读写速度非常快,支持并发10W QPS;②、单进程单线程,是线程安全的,采用IO多路复用机制;③、丰富的数据类型,支持字符串(string)、散列(hashes)、列表(lists)、集合(se

2021-07-31 19:44:42 455

原创 排序算法总结

排序算法1.时间复杂度为O(n²)的排序算法冒泡排序(bubble sort) 一种基础的交换排序,排序思想:把相邻的元素两两比较,当一个元素大于右侧想领元素时,交换他们的位置;当一个元素小于或等于右侧相邻元素时,位置不变。冒泡算法是一种稳定排序。鸡尾酒排序:基于冒泡排序的一种升级排序法。鸡尾酒排序的元素比较和交换过程是双向的。排序思想:排序过程就像钟摆一样,第1轮从左到右,第2轮从右到左,第3轮再从左到右…优点:能够在特定条件下,减小排序的回合数,在大部分元素已经有序的情况时,鸡尾酒排序

2021-07-31 19:32:50 37

原创 详述-Explain执行计划

昨天中午在食堂,和部门的技术大牛们坐在一桌吃饭,作为一个卑微技术渣仔默默的吃着饭,听大佬们高谈阔论,研究各种高端技术,我TM也想说话可实在插不上嘴。聊着聊着突然说到他上午面试了一个工作6年的程序员,表情挺复杂,他说:我看他简历写着熟悉SQL语句调优,就问了下 Explain 执行计划怎么看?结果这老哥一问三不知,工作6年这么基础的东西都不了解!感受到了大佬的王之鄙视,回到工位我就开始默默写这个,哎~ 我TM也不太懂 Explain ,老哥你这是针对我啊!哭唧唧~Explain有什么用当Explai

2021-07-31 19:25:09 95

原创 sharding-jdbc 分库分表的 4种分片策略

往下开展前先做个答疑,前两天有个小伙伴私下问了个问题说:如果我一部分表做了分库分表,另一部分未做分库分表的表怎么处理?怎么才能正常访问?这是一个比较典型的问题,我们知道分库分表是针对某些数据量持续大幅增长的表,比如用户表、订单表等,而不是一刀切将全部表都做分片。那么不分片的表和分片的表如何划分,一般有两种解决方案。严格划分功能库,分片的库与不分片的库剥离开,业务代码中按需切换数据源访问设置默认数据源,以 Sharding-JDBC 为例,不给未分片表设置分片规则,它们就不会执行,因为找不到路由

2021-07-31 19:23:03 9334

原创 初识-Sharding-JDBC

一、Sharding-JDBC 简介Sharding-JDBC 最早是当当网内部使用的一款分库分表框架,到2017年的时候才开始对外开源,这几年在大量社区贡献者的不断迭代下,功能也逐渐完善,现已更名为 ShardingSphere,2020年4⽉16⽇正式成为 Apache 软件基⾦会的顶级项⽬。随着版本的不断更迭 ShardingSphere 的核心功能也变得多元化起来。从最开始 Sharding-JDBC 1.0 版本只有数据分片,到 Sharding-JDBC 2.0 版本开始支持数据库治理(注册

2021-07-31 19:19:48 807

转载 2021-07-28

原文链接:https://www.zhihu.com/question/28300645/answer/67707287Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。1.不同

2021-07-28 08:51:29 38

原创 Docker

1 Docker简介1.1 什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化..

2021-07-28 08:39:01 78

原创 多个单列索引和联合索引的区别详解

创建测试表(表记录数为63188): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `userId` varchar(255) CHARACTE...

2021-06-25 17:25:00 84

原创 算法的时间与空间复杂度(一看就懂)

算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。 空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,

2021-05-14 16:38:07 161

原创 有了MAC地址,为什么还要有IP地址?或者说有了 IP 地址,为什么还要用 MAC 地址?

有了MAC地址,为什么还要用IP地址? (因为两个问题的想法都是直接用设备的唯- ID 来进行路由,只不过题主是把这个ID称作IP,而我的这个问题是把这个ID称作MAC罢了。) 然后我们就发现这个问题变得简单了,当年设计IP地址的目的是什么呢?当年设计出IP地址这个东西,就是因为随着网络中的设备逐渐增多,人们发现路由(也就是寻找数据包从发送方到接收方的路径)变得越来越困难了。于是人们想了一个办法,就是把网络划分成很多个子网。这样,在路由的时候,路由器可以把其他子网看成一个整体来进行计算。对于目..

2021-05-12 16:00:55 1706

原创 讲深入浅出索引(下)

在上一篇文章中,我和你介绍了InnoDB索引的数据结构模型,今天我们再继续聊聊跟MySQL索引有关的概念。在开始这篇文章之前,我们先来看一下这个问题:在下面这个表T中,如果我执行 select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行?下面是这个表的初始化语句。mysql> create table T (ID int primary key,k int NOT NULL DEFAULT 0, s varchar(

2021-05-12 08:47:23 47

原创 深入浅出索引(上)

提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个SQL查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。数据库索引的内容比较多,我分成了上下两篇文章。索引是数据库系统里面最重要的概念之一,所以我希望你能够耐心看完。在后面的实战文章中,我也会经常引用这两篇文章中提到的知识点,加深你对数据库索引的理解。一句话简单来说,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本

2021-05-11 17:24:22 51

原创 大白话讲解脏写、脏读、不可重复读和幻读

一般对于我们的业务系统去访问数据库而言,它往往是多个线程并发执行多个事务的,对于数据库而言,它会有多个事务同时执行,可能这多个事务还会同时更新和查询同一条数据,所以这里会有一些问题需要数据库来解决我们来看看,如果多个事务要是对缓存里的同一条数据同时进行更新或者查询,此时会产生哪些问题呢?这里实际上会涉及到脏写、脏读、不可重复读、幻读四种问题。脏写脏写,意思是说有两个事务,事务 A 和事务 B 同时在更新一条数据,事务 A 先把它更新为 A 值,事务 B 紧接着就把它更新为 B 值。如图:.

2021-05-11 14:35:19 706

原创 简单理解高内聚低耦合-高内聚低耦合通俗理解是什么?

低耦合:耦合就是元素与元素之间的连接,感知和依赖量度。这里说的元素即是功能,对象,系统,子系统。模块。例如:现在有方法A和方法B我们在A元素去调用B元素,当B元素有问题或者不存在的时候,A元素就不能正常的工作,那么就说元素A和元素B耦合。--耦合带来的问题:当元素B变更或者不存在时,都将影响元素A的正常运作,影响系统的可维护性和易变更性。同时元素A只能运行在元素B中,这也大大的降低了A元素的可复用性。正因为耦合的种种弊端,我们才需要在软件设计上追求低耦合。--低耦合如何做:①元素A不能

2021-05-11 08:59:06 12393 2

原创 问题:wps表格用鼠标滚轮上下移动表格时,不是平滑移动,而是按单元格跳动的。已解决

这个问题不是wps的软件问题,是鼠标设置问题。解决方法:打开”开始“——“控制面板”——”鼠标“——“轮”——将行数调成1行。

2020-06-10 13:52:15 6063

原创 ibatis<iterate>标签

ibatis<iterate>标签<iterateproperty=""从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException, 通常是参数使用java.util.Map时才使用, 如果传入的参数本身是一个java.util.List, 不能只用这个属性. conjunctio...

2020-05-08 10:08:34 1439

原创 idea debugger console 消失不见

1 找了好久,也找不到,调试的时候挺麻烦的。2 最后发现 有个一个重置,视图的按钮。点击一下就恢复 。如下图。

2020-05-06 13:56:08 589

原创 maven POM.xml内的标签大全详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_...

2020-02-28 17:02:23 102

原创 MVC application context in module itheima_ssm_web.file is included in 4

问题描述:出现MVC application context in module itheima_ssm_web.file is included in 4经过查询资料,应该是编译器自动导入配置文件的时候发生了某些错误,提示修正解决方法:依次打开Project Settings -> Modules -> Spring 按减号删除右侧所有文件,然后再按加号重...

2020-02-20 21:44:42 2963

原创 jsp页面报错为:/pages/orders-list.jsp (line: 332, column: 43) #{...} is not allowed in template text

jsp页面报错为: /order.jsp (line: 502, column: 24) #{...} is not allowed in template text解决方法:在jsp的page指令处添加:deferredSyntaxAllowedAsLiteral="true",如下: 该属性指示在JSP页面的模板文本中是否允许出现字符序列#{。如果该属性的值为...

2020-02-20 10:55:42 797

原创 java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection异常

是因为 你的ipv4 改变了,所以配置的Oracle文件失效了 需要重新配置

2020-02-19 20:14:32 171

JDK_API_1_6_zh_CN.zip

java8 JDK1.6 API 中文 翻译版 java帮助文档,

2019-11-28

数据库 订餐系统

数据库 订餐系统。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-12-29

空空如也

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

TA关注的人

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