自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES使用root用户启动,之后不能再启动的原因之ERROR Unable to locate appender “rolling“ for logger config “root“

ES启动的时候需要使用非root用户启动,那么我们有时候直接忘记切换用户的话,用root启动ES之后有的时候会再也启动不起来,这对于一个刚刚接触ES的同学来说是非常非常崩溃的!!!别问我怎么知道的,这两天刚刚经历过的....说多了都是泪,干吧!报错信息:[es@mycentos2 elasticsearch-7.1.0]$ 2020-11-28 11:17:56,703 main ERROR RollingFileManager (/usr/local/elk/logs/my-elasearc

2020-11-28 11:33:39 8698 2

原创 Elasticsearch7.1集群环境搭建

近来被安排学习下skyWalking,而skyWalking可以采用ES作为存储器,故搭建需要ES的集群,这篇文章记录这几天的收获。首先下载7.1的安装包上传到服务器或者虚拟机采用下述命令解压缩ES的安装包tar -zxvf elasticsearch-7.1.0-linux-x86_64.tar.gz注意:ES的运行需要JDK的环境,首先要确保机器上安装了JDK1. 需要在 Root 下执行修改/etc/security/limits.conf,在此配置中增加以下内容ro..

2020-11-28 11:03:56 401

转载 zookeeper集群模式

搭建集群的时候参考了以下链接博主的文章,写的很详细!!https://www.cnblogs.com/ysocean/p/9860529.html----------------------------------------------------------------------------------------------

2020-11-26 22:34:31 115

原创 centos7安装教程

第一步:新建虚拟机,这里我们选择自定义(高级),这样我们可以做一些自定义的设置,还是很方便的。第二步:不用修改,下一步第三步:第四步:第五步:自定义虚拟机名称第六步根据自己的情况选择第七步:根据自己的情况选择第八步:我这里选择的是NAT模式第九步:接下来按照推荐得来...第十步:空间指定大小下面设置硬件选项接下来,我们安装配置这台虚拟机,选择第一个选项选择语言,我一个英语四级都没过的人选择的是英文...设置.

2020-11-26 22:24:46 137

原创 线程池ThreadPoolExecutor源码分析(二)--ThreadPoolExecutor添加任务工作单元addWorker()

addWorker()主要分两个部分:第一部分双重循环的目的是判断线程池的状态,若是当前线程池可以创建线程则通过 CAS 操作增加线程数;第二部分主要是把并发安全的任务加到 workers 里面,并且启动任务执行private boolean addWorker(Runnable firstTask, boolean core) { retry: for (;;) { int c = ctl.get(); int rs .

2020-08-18 12:48:08 298

原创 线程池ThreadPoolExecutor源码分析(一)--ThreadPoolExecutor属性分析

线程池ThreadPoolExecutor源码分析(一)–ThreadPoolExecutor属性分析 //ctl -> 高3位:表示当前线程池的运行状态 除去高三位之后的低位:表示当前线程中所拥有的线程数量 private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); //Integer.SIZE == 32 COUNT_BITS 是用于存放线程数量的那些位 在当前jdk版本中是29位

2020-08-17 20:31:20 242

原创 FutureTask源码阅读

FutureTask的类关系图由上图可知FutureTask类实现了RunnableFuture接口,而RunnableFuture接口又分别继承了两个接口Runnable与FutureRunnable接口我们很是熟悉呀,我们开启一个线程的方式之一就需要实现这个Runnable,Runnable并不能开启线程,只是我们用来存放我们的处理业务逻辑的地方!Future接口中定义了get()、isDone()等方法,Future接口需要配合Callable接口可以实现,具有返回指定泛型的线程方式!简单应

2020-08-17 13:13:31 131

原创 java红黑树实现

一个简单的红黑树小案例分析java红黑树简单实现package com.yusys.tree;import java.util.Objects;/** * ①创建RBTree,定义颜色 * ②创建RBNode * ③辅助方法定义:parentOf(node),isRed(node),setRed(node),setBlack(node),inOrderPrint(RBNode tree) * ④左旋方法定义:leftRotate(node) * ⑤右旋方法定义:rightRotate

2020-08-15 22:07:54 150

原创 红黑树的原理学习

红黑树的性质:关于红黑树的性质性质1每个节点要么是黑色,要么是红色性质2根节点是黑色。性质3每个红色节点的两个子节点一定都是黑色。 不能有两个红色节点相连。性质4每个叶子节点(NIL)是黑色。性质5任意一节点到每个叶子节点的路径都包含数量相同的黑结点。俗称:黑高!性质5推论如果一个节点存在黑子节点,那么该结点肯定有两个子节点红黑树并不是一个完美平衡二叉查找树,从图上可以看到,根结点P的左子树显然比右子树高,但左子树和右子树的黑结点的层数是

2020-08-15 21:46:08 127

原创 树的简介和二叉搜索树

一、什么是树?树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树有很多种,向下面图中的一个节点有多于两个的子节点的树,称为多路树,而每个节点最多只能有两个子节点的一种形式称为二叉树。①、节点:上图的圆圈,比如A,B,C等都是表示节点。节点一般代表一些实体,在java面向对象编程中,节点一般代表..

2020-08-14 11:25:22 200

原创 Mysql存储引擎特点介绍及选择思路

1. Mysql的体系结构概览整个MySQL Server由以下组成:- Connection Pool : 连接池组件 - Management Services & Utilities : 管理服务和工具组件 - SQL Interface : SQL接口组件 - Parser : 查询分析器组件 - Optimizer : 优化器组件 - Caches & Buffers : 缓冲池组件 - Pluggable Storage Engines : 存储引擎 -

2020-05-20 15:03:42 304

原创 spring boot引入外部jar的坑

引入: 嘉事堂小程序需要与引入京东的第三方jar开发包jd-openapi-sdk-2.0.jar,引入以后本地运行没有任何问题,代码开发完毕,打包部署部署服务器时爆出了异常:java.lang.ClassNotFoundException:xxxxx;问题:springboot外部引用没打包进去 !!!! 项目结构如下:解决问题:第一步: 在引入的外部依赖包所在的工程中的pom文件里添加如下的配置(重点是要<systemPath>引入的jar包位置</sy...

2020-05-15 09:33:48 436

原创 mysql查询关于字段中存在null值的坑

业务描述:需要查询商机表审批通过(status='3')、商机进展没有取消(p.progress !='6')(ps:progress创建就会有值,因此一定不为null)、并且商机结果没有关闭(result不为‘2’)的结果集,并关联团队成员表获取该商机的团队成员,将此结果集对应添加日程,日程时间为商机投标时间。遇到如下mysql查询关于字段存在null情况时的坑!情况一:无奈只能以下面的方式...

2019-12-21 11:52:39 660

原创 解决IDEA 2019.3运行Tomcat控制台乱码问题

注意:本文章只适用于强迫症患者...使用idea开发web项目,启动应用服务器tomcat,会发现控制台中文乱码问题,如下:假如你也去网上找了,或发现会指示你在各种地方添加参数-Dfile.encoding=UTF-8,但是不知道是我的idea版本问题还是咋地,反正奏是不好使哇...我的解决办法是修改tomcat的conf/logging.properties配置文件,如下图:...

2019-12-16 09:29:18 826

原创 MySQL卸载过程

2019-07-29 14:10:31 236

转载 面试必备:HashMap、Hashtable、ConcurrentHashMap的原理与区别

下面直接来干货,先说这三个Map的区别:HashTable底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize*2+1 计算index的方法:index = (hash &amp; 0x7FF...

2019-03-17 14:23:28 80

原创 第5章 Redis复制的原理与优化(主从复制配置及问题)

操作:ip为 192.168.25.130,端口号为6379的redis为主节点;ip为 192.168.25.129,端口号为6380的redis为从节点;下图展示含义:从节点一定是与主节点的数据保持一致的,并且从节点是不可以进行更新操作的!如set操作;下图展示含义: ...

2018-08-25 15:47:53 157

原创 第5章 Redis复制的原理与优化(什么是主从复制)

 

2018-08-25 10:05:45 164

原创 第4章 Redis持久化的取舍和选择(RDB和AOF对比)

2018-08-20 21:31:12 104

原创 第4章 Redis持久化的取舍和选择(AOF)

综合以上的总结RDB的缺点,引出AOF,主要是根据日志的方式进行持久化。

2018-08-20 21:29:28 105

原创 第4章 Redis持久化的取舍和选择(RDB)

save命令造成阻塞,假如有很多很多数据需要备份为RDB文件,那么容易容易造成阻塞。文件策略假如存在老的RDB文件,那么会先生成一个临时的RDB文件,如果文件生成以后,会替换掉老的文件。客户端执行bgsave命令,会使用linux的fork()命令出一个redis子进程(这个过程是非常快的,一般情况下不会阻塞redis的主进程),由子进程创建二进制的RDB备份文件,...

2018-08-12 20:03:18 129

原创 第4章 Redis持久化的取舍和选择(持久化作用)

  

2018-08-12 20:00:20 129

原创 第3章 瑞士军刀Redis其他功能(GEO地理信息定位)

  

2018-08-12 18:13:18 188

原创 第3章 瑞士军刀Redis其他功能(HyperLogLog)

2018-08-12 18:10:45 137

原创 第3章 瑞士军刀Redis其他功能(Bitmap位图)

  

2018-08-11 18:49:44 113

原创 第3章 瑞士军刀Redis其他功能(发布订阅)

2018-08-11 18:46:47 123

原创 第3章 瑞士军刀Redis其他功能(pipeline)

2018-08-08 22:56:05 153

原创 第3章 瑞士军刀Redis其他功能(慢查询)

  

2018-08-08 22:46:38 139

原创 第2章 API的理解和使用(有序集合类型------Zset)

注意:有序集合中分数可以相同,但是分数对应的对象不可重复;去除某一元素时,可写为:分数 对象名 或者  对象名          ...

2018-08-06 23:36:25 176

原创 第2章 API的理解和使用(集合类型------Set)

2018-08-06 21:50:39 153

原创 第2章 API的理解和使用(队列(List)类型------List)

2018-08-06 21:09:15 156

原创 第2章 API的理解和使用(hash类型------Hash)

如下表所示形象展示哈希存储数据的结构:特点(凑合理解吧):常用命令:注意:小心使用hgetall,因为单线程慢,一般情况下不用获取全部的,善于使用hmget获取想要获取的值。String与hashAPI常用命令对比:以下对比String和hash存储、更新用户数据的方式对比:String实现方式1(按指...

2018-08-05 22:33:04 285

原创 第2章 API的理解和使用(字符串类型------String)

set key value xx(#key存在,才设置;可以用作更新操作。)N次get与1次mget的对比:注意:     incrbyfloat只有这个命令若是减去某值的话用负数即可。     索引值从0开始,最末索引值为-1(获取范围时含头含尾)     setrange只能设置某一个索引位置的...

2018-08-05 15:16:26 268

原创 第2章 API的理解和使用(通用命令、数据结构、单线程)

通用命令:KEYS命令再生产环境中少用,因为key很多的情况下很占用内存。 数据结构介绍: 单线程:

2018-08-05 14:43:29 149

原创 springboot--环境搭建与入门小例子

上述配置指定了springboot的版本号上图配置了springboot的包,以及java的运行环境1.8运行下面的代码就可以执行啦。。。详见:https://blog.csdn.net/q975583865/article/details/78223831...

2018-03-28 23:22:45 121

原创 redis数据库管理之持久化、发布订阅、虚拟内存

事务处理 开启 multi exec 提交事务 redis中的事务很简单,一块提交的多个事务,若是存在 提交事务失败,那么其他提交事务成功的则不受影响 watch   乐观锁:基于对一个版本的设定控制4.持久化机制(1)快照(默认) 将内存中的数据以快照的方式写入到存到二进制文件中(2)AOF 将操作存到文件中,比快照方式有更好的持久化性,,当redis重启时会通过重新执行文件中保存写命令赖在内存...

2018-03-24 17:33:10 147

原创 redis数据库管理之reids常用命令及安全性、主从复制

常用命令:keys * 可以进行匹配   keys my*  返回所有以my开头的keyexists key  判断某个键是否存在del key 删除一个keyexpire 这是一个key的过期时间  返回-1说明过期select 选择数据库(0-15)  select 0 选择0数据库move 移动数据到其他的数据库 move key 数据库编号persist 移除设定的过期时间randomke...

2018-03-24 13:52:42 221

原创 简单排序实现

package maopao;public class MaoPao { public static void main(String[] args) { int[] a = {21,12,43,23,65,88,56}; //int[] b = maopao(a); //int[] b = xuanze(a); int[] b = charu(a); for (int i : b) ...

2018-03-23 20:55:43 141

原创 数据结构与算法--有序数组和二分法查找

package youxu;/** * 有序数组 */public class YouXu { private long[] a; private int size; public YouXu(int size){ a = new long[size]; size = 0; } public int size(){ return size; } //生成有序数组  添加数据 public...

2018-03-20 22:33:59 337

转载 单点登录的三种实现方式

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞...

2018-03-09 20:21:42 353

空空如也

空空如也

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

TA关注的人

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