自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 redis实现锁机制

实现锁的关键点:1.独占性;2.避免死锁思路很多,举几个例子:1.INCR思路:如果key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说明这个锁正在被使用当中。独占性:返回值为1才算获得了锁,因为redis的命令具有原子性,即使多个客户端同时执行,只会有一个客户端的返回值为1。避免死锁:expire设置过期时间,过期后锁失效。1、 客户端A请求服务器获取key的值为1表.

2020-12-15 14:46:29 655

原创 linux环境下安装rabbitMQ

我是在虚拟机上的Linux装rabbitMQ,系统是CentOS7,我装的是桌面版的,主要是用来学习,所以偷懒了。内附浏览器,省去了将下载好的文件传输到Linux的步骤。准备装Erlang23.1和Rabbitmq3.8.9第一步 准备安装包erlang:https://www.erlang.org/downloads得到一个:rabbitMQ:http://www.rabbitmq.com/download.html得到一个:第二步 安装依赖yum -y in

2020-11-24 11:16:05 226

原创 win10环境下安装rabbitMQ

第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。方法一:官网下载,下载地址:http://www.erlang.org/downloads根据本机位数选择erlang下载版本,我的win10 64位。方法二:底下连接已提供otp_win64_20.2.exe链接:https://pan.baidu.com/s/1ha-OGMa9AGZFamELP_b48w.提取码:3gpa1.安.

2020-11-23 15:31:43 301

转载 【深度优先搜索depth first search】求根到叶子节点数字之和

这是一道来自LeetCode的题目:链接:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers给定一个二叉树,它的每个结点都存放一个0-9的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明:叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 2...

2020-10-29 10:44:37 202

转载 HTTP和HTTPS协议

1.什么是协议?网络协议是计算机之间为了实现网络通信而达成的一种“约定”或者”规则“,有了这种”约定“,不同厂商的生产设备,以及不同操作系统组成的计算机之间,就可以实现通信。2.HTTP协议是什么?HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTPP有多个版本,目前广泛使用的是HTTP/1.1版本

2020-10-27 14:26:23 330

转载 GoLand编译器获取依赖包的两种配置方式的比较

背景:项目环境配置(打开项目发现项目下的包自身找不到问题)关于go的项目配置一共是两种情况第一种就是传统的方式:Gopath的方式(两种方式都可以,都有各自的优势)一.首先要关闭Modules的mod启动配置:(不要勾选)然后就是在GOPATH配置中添加自己配置的GOpath路径:(里面可以添加多个路径,系统会默认进行全部查找相关的依赖包)最后就是关于依赖包没有的问题:采用go get -d -v ./ 具体的介绍如下:https://wiki.jikexuey...

2020-10-27 10:47:26 1582

原创 Windows下载安装go+goland+beego+bee

go参考以下链接,小白狂喜。https://studygolang.com/articles/6165安装完需要了解两个东西:GOROOT和GOPATH,分别是go的安装路径和go的一个环境变量。具体参考:https://blog.csdn.net/fangkang7/article/details/104764507/goland资源地址:http://c.biancheng.net/view/6124.html一般来说不下最新版的,最新版的一般还没破解。2019的破解版.

2020-10-27 10:42:31 568

原创 空接口 interface{ }

空interface(interface{})不包含任何的method,正因为如此,所有的类型都实现了空interface。空interface对于描述起不到任何的作用(因为它不包含任何的method),但是空interface在我们需要存储任意类型的数值的时候相当有用,因为它可以存储任意类型的数值。它有点类似于C语言的void*类型。// 定义 a 为空接口var a interface{}var i int = 5s := "Hello world"// a 可以存储任意类型的数.

2020-09-28 17:30:00 694

原创 包引入中,在包名前使用下划线“_”

在我们使用database/sql接口和第三方库的时候经常看到如下: import ("database/sql"_ "github.com/mattn/go-sqlite3")作用:引入后面的包名而不直接使用这个包中定义的函数,变量等资源。在变量赋值的时候经常看到这个符号,它是用来忽略变量赋值的占位符,那么包引入用到这个符号也是相似的作用。...

2020-09-27 15:32:27 652

转载 请列举一下启动线程有哪几种方式,之后再说明一下线程池的种类都有哪些?

目录①启动线程有如下三种方式:一、继承Thread类创建线程类二、通过Runnable接口创建线程类三、通过Callable和Future创建线程②线程池的种类①启动线程有如下三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。...

2019-10-03 16:32:07 399

转载 JVM(HoSpot)堆内存中的对象,经过几次垃圾回收后移入老年代?

默认15次GC 堆Java 中的堆也是 GC 收集垃圾的主要区域。GC 分为两种:Minor GC、Full GC ( 或称为 Major GC )。Minor GC是发生在新生代中的垃圾收集动作,所采用的是复制算法:新生代几乎是所有 Java 对象出生的地方,即 Java 对象申请的内存以及存放都是在这个地方。Java 中的大部分对象通常不需长久存活,具有朝生...

2019-09-25 13:24:58 1685

原创 Overload和Override的区别,Overloaded的方法是否可以改变返回值的类型?

Overload:是重载(同一个类中的两个方法,方法名相同,参数个数或类型不同);Override:是覆盖,也就是重写(父类和子类中的同一方法,方法名和参数完全相同)。重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对...

2019-09-21 23:52:07 318

原创 请说出作用域public,private,protected,以及不写时的区别

如果在修饰的元素上面没有写任何访问修饰符,则表示default作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × ×...

2019-09-21 20:37:49 183

原创 Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法就表示向下取整,所以,Math.floor(11.6)的结果为11,Math.floor(-...

2019-09-21 18:04:19 341

原创 Integer与int的区别

int:java提供的8种原始数据类型之一。Integer:java为int提供的封装类(Java为每个原始类型提供了封装类)。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integ...

2019-09-21 17:50:14 79

原创 是否可以从一个static方法内部发出对非static方法的调用?

不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对...

2019-09-21 17:44:16 111

原创 静态变量和实例变量的区别

在语法定义上的区别: 静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别: 实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。 静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实...

2019-09-21 17:41:18 96

原创 "=="和equals方法究竟有什么区别

==操作符:专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符equals方法:是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的package com.day01;public class EqualsTest { publi...

2019-09-21 17:28:25 73

转载 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变

被final修饰的变量其实就相当于定义了一个常量,无法被修改的变量:如果final修饰的是一个基本数据类型的变量,那么这个变量的值就定了,不能变了, 如果修饰的是一个引用变量,那么该变量存的是一个内存地址,该地址就不能变了,但是该内存地址所指向的那个对象还是可以变的,就像你记住了人家的门牌号,但你不能管人家家里人员数量 还有的人给方法定义的参数是 final类型的,是不想别人在方...

2019-09-21 00:17:39 209

转载 Java String的compareTo()和compareToIgnoreCase()

compareTo()的返回值是int,它是先比较对应字符的大小(ASCII码顺序)1、如果字符串相等返回值02、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值代表:前字符串的值小于后字符串,正值代表:前字符串大于后字符串)3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符...

2019-09-20 21:53:55 236

转载 Java String的contains()方法

Java String.contains()方法用法实例教程, 返回true,当且仅当此字符串包含指定的char值序列描述java.lang.String.contains()方法返回true,当且仅当此字符串包含指定的char值序列声明以下是声明java.lang.String.contains()方法public boolean contains(CharSequenc...

2019-09-20 21:48:01 525

空空如也

空空如也

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

TA关注的人

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