摘要: 使用yum安装 须知:rabbitmq依赖erlang,必须先安装erlang,rabbmitmq不同版本依赖不同版本erlang,官方有对应表,也有对应下载地址,最好下载官方 1.下载erlang和rabbitmq的repo curl -s https://packagecloud.io/inst 阅读全文
posted @ 2019-05-29 21:37 柳无情 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 简单介绍 1.String是final类,不允许被继承,方法里通过每次返回一个新对象保证不变性,底层是用char数组实现,实现Serializable, Comparable<String>, CharSequence 注:intern方法是个native方法,它不会新建一个字符串对象,如果常量池有 阅读全文
posted @ 2019-04-06 20:19 柳无情 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 装箱:原始类型转化为包装类型;如Integer i = 0;java语法默认数值类型为int,0原始类型,i为包装类型,两种不同类型为什么可以赋值呢,这就是因为java做了个自动装箱的操作;拆箱则相反。 例: 上图l = l +1;l+1中l自动拆箱了,所以和是原始类型,后面赋值,和又自动装箱了。不 阅读全文
posted @ 2019-04-03 20:32 柳无情 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 安装步骤 1.下载redis压缩包,具体命令:wget 下载网址 2.解压缩,具体命令:tar xzf 压缩包名字 3.进入解压后的目录,具体命令:cd 解压后的目录 4.编译,具体命令:make 启动步骤 1.编辑配置文件redis.conf,把protected-mode值改为no,即取消保护模 阅读全文
posted @ 2019-03-31 17:32 柳无情 阅读(247) 评论(0) 推荐(1) 编辑
摘要: 锁的作用就是当一个线程持有锁的时候,其他线程都不能对锁定的共享变量进行操作,简而言之把并行操作变为串行操作。 用java如何实现,我们定义一个持有锁的标志,当一个线程持有锁的时候,把其他线程挂起,当这个持有锁的线程释放锁时,把其中一个的挂起的线程唤醒。 实现主要用到Unsafe的park方法挂起线程 阅读全文
posted @ 2018-12-19 14:25 柳无情 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 给定一个增量d,按这个增量分组,每组相邻元素的下标之差为d,每组做直接插入排序;增量按给定算法减少,每一次减少,重复上述步骤;直到增量减到1为止,得到一个有序序列 阅读全文
posted @ 2018-09-21 15:14 柳无情 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 把数组分为两部分,一部分为有序列表,一部分为无序列表,第一个元素作为有序列表的元素,剩余部分作为无序列表的元素,每次取无序列表的第一个元素有序插入到有序列表中,最后,有序列表就是排好序的数组。 例: 阅读全文
posted @ 2018-09-17 14:53 柳无情 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 每一趟排序把最小的元素选出来,顺序排放在数列的最前面。 例: public int[] sort(int[] numbers) { int min; int len = numbers.length; for (int i = 0; i < len; i++) { min = i; for (int 阅读全文
posted @ 2018-09-11 17:44 柳无情 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 从第一个元素开始,于相邻元素比较,比相邻元素大,比较两者位置,直到比较到最后一个元素;接着从第二个元素开始比较,重复以上的步骤;如此循环往复到倒数第二元素,冒泡排序结束。 例子: public int[] sort(int[] numbers) { int len = numbers.length; 阅读全文
posted @ 2018-09-11 14:59 柳无情 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 生产者与消费者模式就是解耦生产者与消费者的模式,通过例如商品来建立他们之间的联系,生产者只要生产商品就行,消费者只要消费商品。常用于并发,生产者线程生产商品,消费者消费商品,通过消费信息进行通讯。 用object的wait与notify实现 阅读全文
posted @ 2018-05-10 15:38 柳无情 阅读(186) 评论(0) 推荐(0) 编辑