自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 安装MySQL在最后一步未响应

解决方法:1.点击mysql安装程序,然后点击remove选项,卸载mysql。                   ...

2020-01-02 23:05:01

阅读数 5

评论数 0

转载 WebSocket的相关解析

1.WebSocket 的由来 WebSocket 是一种网络通信协议,很多高级功能都需要它。 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。 举例来...

2019-10-16 21:59:39

阅读数 121

评论数 0

原创 js中定义变量的三种方式

js中三种定义变量的方式:const, var, let。 1.const定义的变量不可以修改,而且必须初始化。 const b = 2;//正确 // const b;//错误,必须初始化 console.log('函数外const定义b:' + b);//有输出值 // ...

2019-10-15 19:53:54

阅读数 522

评论数 0

原创 redis集群和zookeeper集群为什么节点数都是奇数

zookeeper集群一般采用3个节点,redis集群一般采用3从3主结构(redis集群没有中心节点,具有线性可伸缩的功能)。 zookeeper:在zookeeper的选举过程中,为了保证选举过程最后能选出leader,就一定不能出现两台机器得票相同的僵局,所以一般的,要求zk集群的serve...

2019-10-10 19:15:02

阅读数 144

评论数 0

原创 windows修改ip与域名的对应关系

访问一个域名的流程: 1.首先根据本地的hosts文件寻找域名对应的ip地址,如果本地host文件没有就找DNS服务器得到相应的ip地址。 2.访问对应的ip,建立tcp三次连接。 3.得到服务器返回的结果。 4.tcp四次挥手,断开连接。 windows修改ip与域名的对应关系: 修改本地hos...

2019-10-09 17:27:22

阅读数 146

评论数 0

原创 nexus无法启动以及服务里面启动 报错1067,远程请求终止

1.查看日志文件(路径:nexus-2.12.0-01\logs中的wrapper.log) 发现错误原因:java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present 2.查看使用的jdk版本为1.9...

2019-10-08 20:16:20

阅读数 15

评论数 0

转载 Linux系统下用find命令查找最近修改过的文件

示例 1.找出 3 天”以前”被改动过的文件 (前第三天以前 → 2017/11/25 12:00 以前的文件) (> 72 小时) find /var/log/ -mtime +3 -type f 2.找出 3 天內被改动过的文件 (2017/11/25 12:00 ~ 2017/11/...

2019-09-26 14:45:56

阅读数 23

评论数 0

原创 数据库的三大范式和BCNF的作用

1NF:表中每个属性值都是不可再分割的原子值。 2NF:消除非主属性对码的部分函数依赖。 3NF:消除非主属性对码的传递函数依赖。 BCNF:消除主属性对码的传递函数依赖。 ...

2019-09-25 11:24:19

阅读数 48

评论数 0

转载 TCP四次挥手的等待时间为什么是2MSL而不是1MSL

什么是2MSL        MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文(segment)是...

2019-09-25 11:20:51

阅读数 129

评论数 0

原创 ActiveMQ队列消息过多阻塞如何处理

ActiveMQ队列消息过多产生的原因 若某一个消息消费端消费速度比较慢,然后生产者就认为没有发送成功,然后重新发送,这样才会产生消息的积压。 注:ActiveMQ有ack机制,来确认消息是否发送成功并被消费端消费。(具体可看:https://blog.csdn.net/haihaa/articl...

2019-09-22 23:05:34

阅读数 484

评论数 0

原创 Redis的持久化操作

什么是Redis的持久化 redis是一个内存数据库,当redis服务器重启,或者电脑重启,数据都会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中,重启后持久化的数据会自动活化到数据库中,数据仍然可以被使用。 redis的持久化机制 1.RDB:默认方式,不需要进行配置,默认就使用...

2019-09-21 00:00:38

阅读数 17

评论数 0

转载 MySQL创建存储过程和函数

1. 创建存储过程 CREATE PROCEDURE proc() BEGIN SELECT * FROM fruits; END; 2. 创建存储函数 CREATE FUNCTION namebyzip() RETURNS CHAR(50) RETURN ( SELECT ...

2019-09-20 22:43:14

阅读数 13

评论数 0

原创 Spring的AOP相关定义

Joinpoint(连接点): 类里面可以被增强的方法,这些方法称为连接点。 Pointcut(切入点):所谓切入点是指我们要对哪些Joinpoint进行拦截的定义。 Advice(通知/增强):所谓通知是指拦截到Joinpoint之后所要做的事情就是通知.通知分为前置通知,后置通知,异常通知,最...

2019-09-19 21:31:39

阅读数 11

评论数 0

原创 过滤器和拦截器的区别

过滤器:在目标资源之前进行的操作,过滤所有的内容,比如 action、servlet、jsp、html。 拦截器:在目标资源之前进行的操作,不能拦截所有的内容,拦截 action,不能拦截 jsp,不能拦截 html。 拦截器和过滤器之间有很多相同之处,但是两者之间存在根本的差别。其主要区别为以下...

2019-09-19 21:01:32

阅读数 12

评论数 0

转载 数据结构之MySQL独爱B+树(二叉树、AVL树、红黑树、B树对比)

一、二叉查找树 (1)二叉树简介: 二叉查找树也称为有序二叉查找树,满足二叉查找树的一般性质,是指一棵空树具有如下性质: 1、任意节点左子树不为空,则左子树的值均小于根节点的值; 2、任意节点右子树不为空,则右子树的值均大于于根节点的值; 3、任意节点的左右子树也分别是二叉查找树; 4、没有键值相...

2019-09-18 22:12:51

阅读数 11

评论数 0

转载 进程间、线程间通信方式

一、进程间的通信方式 1.管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 2.有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 3.信号量(semop...

2019-09-18 22:07:04

阅读数 12

评论数 0

原创 http1.0和1.1的区别

1、HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理 HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求...

2019-09-18 20:11:25

阅读数 20

评论数 0

转载 java中的BIO、NIO、AIO之间的区别

1.BIO 就是传统的 java.io 包,它是基于流模型实现的,交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前,线程会一直阻塞在那里,它们之间的调用时可靠的线性顺序。它的有点就是代码比较简单、直观;缺点就是 IO 的效率和扩展性很低,容易成为应用性能瓶颈。 2....

2019-09-18 17:21:23

阅读数 7

评论数 0

转载 访问www.baidu.com的过程

1、解析baidu.com域名对应的ip地址 1.1使用ARP(Address Resolution Protocol)地址解析协议获得默认网关的MAC地址; 1.2组织数据发送给默认网关(ip还是DNS服务器的ip,但是MAC地址变成了默认网关的MAC地址); 1.3默认网关具有转发数据的能力...

2019-09-18 17:15:48

阅读数 1205

评论数 0

原创 产生死锁的条件和预防死锁的方法

产生死锁的条件: 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。 请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又...

2019-09-14 18:17:38

阅读数 28

评论数 0

原创 java乐观锁的一种实现CAS

什么是CAS CAS:compare and swap,即比较并交换。CAS即java乐观锁的一种实现,CAS依靠的是CPU来实现的(java中的CAS类内部实现属于native方法,由JVM本地实现),属于硬件级别的操作。 锁的分类 悲观锁(例如互斥同步):synchronized是独占锁即悲观...

2019-09-13 22:53:24

阅读数 52

评论数 0

原创 Lock接口的三个实现类

一.ReentrantLock(可重入锁) 即可重入锁。 具体可看:https://mp.csdn.net/mdeditor/100807462# 例: class Clerk { private int product = 0;//共享数据 private Lock lock =...

2019-09-13 22:08:31

阅读数 135

评论数 0

原创 java中的可重入锁ReentrantLock

可重入锁概念 锁作为并发共享数据保证一致性的工具,大多数内置锁都是可重入的,也就是说,如果某个线程试图获取一个已经由它自己持有的锁时,那么这个请求会立刻成功,并且会将这个锁的计数值加1(计数值初始为0,线程一开始获得锁时将计数值由0置为1),而当线程退出同步代码块时,计数器将会递减,当计数值等于0...

2019-09-13 20:09:33

阅读数 14

评论数 0

原创 java多线程中ThreadLocal的相关知识

ThreadLocal ThreadLocal会为每一个调用它的线程创建一个变量副本,每个线程使用自己的副本并对其进行操作,不会影响到其他的线程的变量副本的值。 方法: set:设置该线程ThreadLocal副本中的值 get:获取该线程ThreadLocal副本中的值 initialValu...

2019-09-13 17:47:41

阅读数 28

评论数 0

转载 TCP连接为什么是三次握手而不是两次或四次握手

asa

2019-09-13 13:49:45

阅读数 76

评论数 0

原创 java中三元操作符类型的转换规则

三元操作符类型的转换规则: 1.若两个操作数不可转换,则不做转换,返回值为Object类型 2.若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。 3.若两个操作数中有一个是数字S,另外一个是表达式,且其类型...

2019-09-13 11:31:57

阅读数 57

评论数 0

转载 java并发中的CopyOnWriteArrayList和CopyOnWriteArraySet

CopyOnWriteArrayList 要点 1.实现了List接口 2.内部持有一个ReentrantLock lock = new ReentrantLock(); 3.底层是用volatile transient声明的数组 array 4.读写分离,写时复制出一个新的数组,完成插入、修改或...

2019-09-11 17:41:51

阅读数 16

评论数 0

原创 java中线程的状态及方法

线程方法: 注:因为stop()方法本身存在问题,属于线程不安全的方法,不推荐使用该方法停止线程,如果想要停止线程我们应该使用一个外部标识量来进行操作。 例: 线程状态: 调用sleep()方法后的状态: 执行——>阻塞——>就绪 调用yield()方法后的状态:执行——>就...

2019-09-11 12:43:30

阅读数 16

评论数 0

原创 java中Runnable接口和Callable接口的比较

1.Runnable需要在内部使用try-catch处理异常,callable在方法上抛出异常给上一级调用者处理。 2.Runnable没有返回值,Callable有返回值,泛型指定返回值类型,call方法类型由泛型指定。 3.需要使用线程池来启动Callable实现类线程。 例: //1.创建...

2019-09-11 12:29:17

阅读数 18

评论数 0

原创 同一进程下的线程可以共享什么?

线程独占的资源: 1.线程ID 2.寄存器组的值 3.线程的堆栈 4.错误返回码 5.线程的信号屏蔽码 线程间共享的资源: 1.进程代码段 2.进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯) 3.进程打开的文件描述符 4.信号的处理器 5.进程的当前目录 6.进程用户ID与进...

2019-09-10 22:14:49

阅读数 263

评论数 0

转载 HashMap、Hashtable、ConcurrentHashMap的原理与区别及增删改的时间复杂度

HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize2+1 计算index的方法:...

2019-09-10 17:33:14

阅读数 21

评论数 0

转载 Redis内存淘汰机制

redis可以设置过期时间,针对过期的key使用的清除策略,策略分为:定期删除+惰性删除。 定期删除:redis默认每隔100ms检查,是否有过期的key,有过期key则删除。需要说明的是,redis不是每隔>100ms将所有的key检查一次,而是随机抽取进行检查(如果每隔100ms,全部k...

2019-09-10 16:03:02

阅读数 40

评论数 0

转载 MySQL应该基于什么条件来创建索引

1、较频繁的作为查询条件的字段应该创建索引. 2、唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件: 3、更新非常频繁的字段不适合创建索引: 唯一性太差的字段:如状态字段,类型字段等。这些字段即使创建了单独的索引,MySQL Query Optimizer大多数也不会选择使用,如果什么时候...

2019-09-09 23:10:10

阅读数 52

评论数 0

原创 MySQL的索引优化

一.Explain Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。 Explain语法:explain select … from … ...

2019-09-09 11:30:54

阅读数 16

评论数 0

原创 MySQL中的各类索引

一.聚簇索引和非聚簇索引 在MySQL中,innodb引擎的索引储存是聚簇索引,myisam引擎的索引储存是非聚簇索引。 聚簇索引:将数据和索引放在一起,查询通过聚簇索引可以直接获取数据,相比非聚簇索引需要第二次查询(非覆盖索引的情况下)效率要高。聚簇索引对于范围查询的效率很高,因为其数据是按照大...

2019-09-09 11:26:28

阅读数 16

评论数 0

原创 java中String类是线程安全的

String是final修饰的类,是不可变的,所以是线程安全的。 因为字符串是不可变的,所以是多线程安全的,同一个字符串实例可以被多个线程共享。这样便不用因为线程安全问题而使用同步。字符串自己便是线程安全的。 因为字符串是不可变的,所以在它创建的时候HashCode就被缓存了,不需要重新计算。这就...

2019-09-08 18:46:02

阅读数 453

评论数 0

原创 java中的线程池

一.创建线程池有哪几种方式? 1.ThreadPoolExecutor ThreadPoolExecutor threadPool =new ThreadPoolExecutor(int coreSize,int maxSize,long time,int timeUnit,BlockingQue...

2019-09-07 17:33:54

阅读数 20

评论数 0

原创 单例模式下的双重加锁实现

public class Singleton { private volatile static Singleton instance; private Singleton() { } public static Singleton getIns...

2019-09-07 12:31:03

阅读数 52

评论数 0

原创 java中属于被动引用不会触发子类初始化

1.子类引用父类的静态字段,只会触发子类的加载、父类的初始化,不会导致子类初始化。 2.通过数组定义来引用类,不会触发此类的初始化。 3.常量在编译阶段会进行常量优化,将常量存入调用类的常量池中,本质上并没有直接引用到定义常量的类,因此不会触发定义常量的类的初始化(即在调用static final...

2019-09-02 11:00:28

阅读数 23

评论数 0

转载 dubbo支持的9种协议

在<dubbo:protocol port=“20882” name=“dubbo”/>标签中,name属性就是配置dubbo使用的协议名称,dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我...

2019-09-01 15:10:55

阅读数 90

评论数 0

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