自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

居易

做人要潇洒一点嘛,明天还有更远的路要走呢

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

原创 【设计模式】单例模式

慢慢来,才比较快单例模式属于对象创建型模式,它要求系统中只生成一个实例,提供了一种创建对象的最佳方式?那么如何保证类中只有一个实例并且这个实例易于被访问呢一个很好的解决的方法就是让这个类本身保存它的唯一实例,这个类需要保证没有其他实例被创建,并且它可以提供访问该实例的方法。所以我们可以得出单例模式的定义:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类,它提供一个public方法。因此单例模式的一个特点就是构造方法是私有的,这样就可以防止外界随意调用来

2021-07-03 20:59:10 128

原创 【redis】Redis笔记——数据结构篇

你愿意为此付出多少努力?三种特殊数据结构缓存三种特殊数据结构GEOGEO即地址信息定位,可以用来存储经纬度,计算两地距离,范围计算等。GEO类型的基本操作# 添加坐标点geoadd key longitude latitude member [longitude latitude member ...]georadius key longitude latitude radius m|km|ft|mi [withcoord] [withdist] [withhash] [count count

2021-07-03 11:06:57 146

转载 Vue + Java 实现多级评论

犹豫就会败北,果断就能白给!后台前端记录:最近在整一个博客系统,看了demo 的前端发现他并没有实现多级评论,但这个其实还是蛮常见的,于是就想自己实现一下,想了好久,查了一些资料,终于搞出来了,整了一个小 demo,现在记录一下后台后台就是通过树来实现。通过数据库的表来构建一个树。package com.ekin.blog.common.utils;import cn.ekin.blog.po.entity.CommentInfo;import cn.ekin.blog.common.

2021-06-14 12:35:24 1474 1

原创 【计算机网络】应用层

待何年归去,谈笑各争雄域名系统 DNS文件传送协议远程终端协议 TELNET万维网 WWW超文本传送协议 HTTP讨论各种应用进程通过什么样的应用层协议来使用网络所提供的这些通信服务域名系统 DNS互联网域名结构采用层次树状结构的命名方式域名等级的划分:顶级域名、二级域名、三级域名…域名只是个逻辑概念,并不代表计算机所在的物理地点DNS服务具有层次性和分布性的特点域名中的点和IP中的点没有关系每个域名服务器都有一个高速缓存域名服务器一个域名服务器管理的范围叫做区,区是域的子

2021-04-19 18:18:23 1049 2

原创 【计算机网络】运输层

只要我够快,时间就追不上我运输层协议概述运输层协议概述运输层为应用进程之间提供端到端的逻辑通信进程之间的通信两台主机进行通信就是两台主机中的应用进程互相通信网络层和运输层有明显的区别:网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。运输层向高层用户屏蔽了下面网络核心的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道运输层下面的网络是不可靠的(只提供尽最大努力服务),这条逻辑通信信道相当于一条全双工的可靠信道。运输层作用:

2021-04-17 23:13:38 1302

原创 【计算机网络】网络层

趁年轻潇洒一点网络层提供的两种服务网际协议IP划分子网和构造超网网络层提供的两种服务网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务虚电路服务:虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接电路交换的电话通信是先建立了一条真正的连接因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样虚电路和数据报电路的对比:网际协议IP网际协议IP是TCP/IP体系中两个最主要的协议之一,这里讲的其实是I

2021-04-15 23:27:30 337

原创 【设计模式】适配器模式

何必奔冲山下去,更添波浪向人间我们知道简单工厂模式属于创建型模式,而适配器模式则属于结构型模式?什么是结构型模式结构型模式(Structural Pattern) 描述 如何将类或者对象结合在一起形成更大的结构 ,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构分为类结构型模式和对象结构型模式类结构型模式关心类的组合,一般只存在继承和实现关系对象结构型模式关心类与对象的组合,一般用关联关系...

2021-04-14 11:36:24 119

原创 【设计模式】外观模式

天平山上白云泉,云自无心水自闲先用两个图来表示一下外观模式产生的原因:使用外观模式之后:可以明显的看到,使用外观模式之后,就可以让外部减少与子系统内多个模块的交互,松散耦合,从而让外部能够更简单地使用子系统外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个 统一的外观对象 进行,为子系统中的一组接口 提供一个一致的界面,外观模式定义了一个高层接口,这个接口 使得这一子系统更加容易使用 。外观模式又称为 门面模式 ,它是一种 对象结构型模式。先来解释一下两个词:界面

2021-04-11 19:45:27 183 2

原创 【设计模式】简单工厂

唤起一天明月,照我满怀冰雪

2021-04-10 11:10:03 112

原创 【设计模式】写在设计模式之前

追风赶月莫停留,平芜尽处是春山UML图类之间的关系设计模式分类关于软件设计七大原则之前这篇文章已经讲过了,但想要开始学习设计模式还有一些知识点要作补充,比如设计模式的分类呀、UML图呀、如何学习设计模式呀等等~这篇文章不具体的讲解设计模式,主要起到一个类似于导论的作用UML图UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示,共分为用例图,类图,对象图,状态图,活动图,时序图,协作图,构件图,部署图等9种图。在这里我们只介绍与设计模式有关的类图和顺序图类图属性用来

2021-04-09 22:11:07 141

原创 【计算机网络】数据链路层

趁年轻多去外边看看数据链路的介绍点对点信道的数据链路层点对点协议PPP使用广播信道的数据链路层CSMA/CD协议基于谢希仁老师出版书籍的笔记数据链路的介绍数据链路层使用的信道点对点信道:使用一对一的点对点通信方式广播信道:使用一对多的广播通信方式,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送点对点信道的数据链路层数据链路和帧:链路 (link) 是一条无源的点到点的物理线路段,中间没有任何其他的交换结点,一条链路只是一条通路的一个组成部分(有线或

2021-04-08 12:21:49 1398 1

原创 【计算机网络】物理层

趁年轻多努努力

2021-04-06 22:38:07 525 2

原创 【计算机网络】概述

低头能坐冷板凳,抬头亦能看风景计算机网络在信息时代中的作用互联网概述计算机网络在信息时代中的作用21世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。三大类网络电信网络:向用户提供电话、电报及传真等服务。有线电视网络:向用户传送各种电视节目。计算机网络:使用户能够在计算机之间传送数据文件。Internet两个译名因特网:较为准确,但长期未得到推广互联网:目前流行最广的、事实上的标准译名。Internet是由数量极大的各种计算机网络互连起来的。互连网与互

2021-04-05 18:42:49 889 1

原创 Java中的语法糖及反编译工具

雪压枝头低,虽低不着泥壹·Java中的反编译工具贰·常见的12“颗”语法糖switchforEach语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。但其实看过《深入理解Java虚拟机》或者了解过JVM的同学都知道,Java虚拟机并不支持这些语法糖,这些语法糖在编译阶段就会被还原成基本语法结构。还是那句话,编程语言的每个语法背后都有它深层次的含义,即便是因为“懒”

2021-04-02 12:09:20 522

原创 怪异报错:Wrong number of type arguments

问题壹:最近在做谷粒商城项目,逆向工程之后出现了这个报错:Wrong number of type arguments: 1; required: 3意思应该是需要三个参数而我只写了一个参数,但这个用人人开源逆向工程而来的,我怎么找都找不到哪里错了解决方法把product中逆向工程而来的包类删除重新导入就行了,就这一个小错误,让我项目停滞了半个月,我大意了啊,不小心暴露了自己菜鸡的本质,记录一下,希望可以帮到之后遇到这个错误的同学。目前就遇到过这一次这样的错误,之后遇到之后再记录更新。...

2021-03-24 10:44:58 5381 7

原创 并查集

Union-Find概述实现初始化find查找Union合并路径压缩总结概述定义:并查集是一种树形的数据结构,顾名思义,并和查,就是用于处理一些不相交的合并(Union)及查询(Find)问题。常常用森林表示(见百度百科)。操作:并查集的操作主要有两种:合并(Union):把两个不相交的集合合并为一个集合。查询(Find):确定元素属于哪一个子集。还可以查询两个元素是否在同一个集合中。重要思想:并查集的一个最重要的思想就是:用集合中的一个元素来代表集合,既然是算法,便是为了让代码变得简

2021-03-21 16:16:04 105

原创 深入理解Vector源码

江山父老能容我

2021-03-18 15:51:11 130 2

原创 对比ArrayList与LinkedList

君子知不可为而为之简单理解LinkedList壹·相关变量二者异同壹·相同点贰·不同点简单理解LinkedList在Java集合类中,除了使用最多的ArrayList(这是笔者之前解析ArrayList源码的文章,不太了解的同学可以先看看),便是LinkedList,而这两个也是面试的重点,那么LinkedList究竟是什么样的呢?编程语言的每个语法都有它深层次的含义,这次,我们还是看看它的源码来深入了解LinkedList。我们还是先来看一下它的继承关系:public class LinkedL

2021-03-17 10:56:06 94

原创 单走一个ArrayList源码分析

君子居易以俟命壹·相关变量贰·相关构造方法叁·CURD实现原理肆·fail-fast(快速失败机制)话不多说,先上图:我们在源码中可以看到整个ArrayList的继承与实现。可以看到它是实现了List接口,是基于数组实现的。那我们都知道数组要在创建的时候就确定长度,那这样势必会影响程序的性能和资源分配,那么作为近乎最常用的Java集合类–ArrayList又是怎么解决这些问题的呢?下面让我们走进它的源码一探究竟,按照源码的顺序做一番思考~壹·相关变量 /** * 默认初始化容量,即不

2021-03-14 16:58:41 132 3

原创 【redis】Redis笔记——初级篇

所有天上飞的理念,都需要落地的实现Nosql简介类型Redis简介Nosql简介SQL:关系型数据库,表与表之间建立关联关系。NoSQL:非关系型数据库,数据与数据之间没有关联关系。就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。类型键值(key-value或KV)存储数据库列存储数据库:键仍然存在,但是指向了多个列,HBase (eg:博客平台(标签和文章),日志)文档型数据库 MongoDb (eg:淘宝商品的评价)图形数据库 Neo4j (eg:好友列表)

2021-02-27 00:33:21 215

原创 数据库中的事务以及事务中的隔离

事务概念事务( Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元(Unit)。ACID原子性( Atomicity):事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性( Consistency): 执行事务前后,数据保持一致。隔离性( Isolation):并发访问数据库时,一个用户的事物不被其他事物所干扰,各并发事务之间数据库是独立的,例如当多个应用程序并发访问时,这可防止彼此的操作互相干扰。持久性:

2021-02-16 19:07:32 135

原创 【设计模式】软件设计七大原则

文章目录软件设计七大原则单一职责原则接口隔离原则软件工程中,设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。说白了,设计模式就是在软件开发中多次出现、被大多人所认同、和语言无关、被分类过的代码设计经验的总结。而使用设计模式可以使软件具有更高的代码可重用性、可拓展性、可维护性(可读性、规范性)、可靠性,使程序更加高内聚、低耦合。既然设计模式是用于软件开发当中,那么它出现在软件的哪里呢?面向对象编程(oo)先形成功能模块(设计模式+算法),之后就是框架(多种设计模式集合),最上面

2021-02-12 22:40:32 276 1

原创 【Java基础】Queue队列

还是要对技术心怀敬畏之心队列Java中的Queue阻塞队列五个阻塞队列非阻塞队列阻塞队列 VS 非阻塞队列特点概述主要方法非阻塞队列阻塞队列队列队列是数据结构中比较重要的一种类型,它支持 FIFO,尾部添加、头部删除(先进队列的元素先出队列),就像现实中的一群人在排队买票,前面的人买好了离开,后面的人就要全部向前一步,补上空位。Java中的QueueJava中的Queue是一个接口,这个接口与List、Set同一级别,都是继承了Collection接口。LinkedList是双向链表,它实现了Deq

2021-02-10 12:53:04 123

原创 【剑指Offer】矩阵中的路径

文章目录面试题12:矩阵中的路径一、题目描述二、问题分析三、问题解决面试题12:矩阵中的路径一、题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。二、问题分析此问题与面试题13 剑指Offer:机器人的运动范围 近乎相同,算法思想上是一致的。但是我想强调一点,在13题中所求的是机器人的运动范围类似于计数,自然而然对于统计个数,

2021-02-07 19:15:49 123 1

原创 【剑指Offer】机器人的运动范围

文章目录剑指Offer.13:机器人的运动范围一、题目描述二、问题分析数位之和运算问题解决剑指Offer.13:机器人的运动范围一、题目描述地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+

2021-02-07 19:01:45 136

原创 【剑指Offer】重建二叉树

时不我待剑指Offer-重建二叉树题目描述问题分析算法问题解决剑指Offer-重建二叉树题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树 3 / \ 9 20 / \ 15 7问题分析前序遍历:根节点->左子树->右子树中序遍

2021-01-14 23:03:39 89

原创 【LeetCode】两数之和

文章目录LeetCode-两数之和题目描述问题分析暴力遍历哈希映射问题解决暴力遍历哈希映射LeetCode-两数之和题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。问题分析暴力遍历遍历数组,一个数num1的时候是否有另一个数num2=target-num1,注意遍历到num1的时候,前面已经遍历过了,因此

2021-01-13 21:21:07 87

原创 【剑指Offer】二维数组中的查找

文章目录剑指Offer04-二维数组中的查找题目描述问题分析问题解决剑指Offer04-二维数组中的查找题目描述在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24],

2021-01-12 23:15:01 101

原创 【剑指Offer】数组中重复的数字

文章目录剑指Offer 03-数组中重复的数字一、题目描述二、问题分析1.遍历数组2.原地置换三、问题解决遍历数组原地置换剑指Offer 03-数组中重复的数字一、题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 二、问题分析1.遍历数组由于只需要找

2021-01-12 15:17:14 76

空空如也

空空如也

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

TA关注的人

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