随笔 - 478  文章 - 0  评论 - 31  阅读 - 57万 
10 2019 档案
ES-9200端口与9300端口
摘要:(1)Elasticsearch是基于lucene的全文检索服务器 (1)9300:ES节点之间的通讯使用 (2)9200:ES节点和外部通讯使用 阅读全文
posted @ 2019-10-27 17:05 song.yan 阅读(5534) 评论(0) 推荐(0) 编辑
ES-倒排索引
摘要:一、什么事倒排索引 二、倒排索引为什么查询速度快 (1)ES全文检索的底层是使用倒排索引实现的 (2)倒排索引会将文档的内容进行关键词分词,可以使用关键词直接定位到文档的内容 阅读全文
posted @ 2019-10-27 17:05 song.yan 阅读(375) 评论(0) 推荐(0) 编辑
ES-elasticsearch安装-linux
摘要:(1)安装JDK(ES是使用java开发的) (2)安装ES(虚拟机内存大于一个g) 1)创建普通用户启动 2)非常占用内存(默认1个g的内存) (3)创建一个普通用户(用于启动ES) groupadd esgroup useradd esuser -g esgroup -p 123456 chow 阅读全文
posted @ 2019-10-27 17:02 song.yan 阅读(462) 评论(0) 推荐(0) 编辑
ES2.3.5版本的数据类型
摘要:1,最近使用了2.3.5版本的ES,发现在创建索引的时候出了以下错误。 (1)例: POST 192.168.11.166:9200/article3/article/_mapping (2)错误: mapper_parsing_exception No handler for type [keyw 阅读全文
posted @ 2019-10-25 08:10 song.yan 阅读(562) 评论(0) 推荐(0) 编辑
虚拟机设置固定IP从而使同一局域网可以访问
摘要:没有ifcfg-eth0 时:https://www.cnblogs.com/itboxue/p/11186910.html (1)关机,将网络模式设置成桥接模式 (2)开机 进入 cd /etc/sysconfig/network-scripts/ (3)修改 vim ifcfg-eth0 设置后 阅读全文
posted @ 2019-10-24 12:11 song.yan 阅读(953) 评论(0) 推荐(0) 编辑
ES-基本操作
摘要:(1)创建索引 put 192.168.247.197:9200/type2 (2)创建映射 post 192.168.247.197:9200/type2/type/_mapping 注:es 2.3.5上面还没有text这种类型,"type":"text" 改为 "type":"String"即 阅读全文
posted @ 2019-10-24 09:27 song.yan 阅读(231) 评论(0) 推荐(0) 编辑
happens-before
摘要:1-什么是happens-before? (1)happens-before是定义了 Java 多线程操作的有序性和可见性,防止了编译器重排序对程序结果的影响的一种规则。 (2)happens-before原则: 1)as-if-serial原则。(线程中的每个操作都在该线程后的操作之前执行) 2) 阅读全文
posted @ 2019-10-21 23:20 song.yan 阅读(144) 评论(0) 推荐(0) 编辑
如何唤醒一个处于阻塞状态下的线程
摘要:(1)同步阻塞:等待锁的释放(2)等待阻塞: 1)使用Thread.sleep造成的阻塞:时间结束后自动进入RUNNABLE状态 2)使用Thread.wait造成的阻塞:使用Thread.notify或者Thread.notifyAll唤醒 3)使用Thread.join造成的阻塞:等待上一个线程 阅读全文
posted @ 2019-10-20 23:34 song.yan 阅读(3530) 评论(0) 推荐(1) 编辑
如何终止一个线程
摘要:(1)使用Thread.stop()或者Thread.interrupt()方法。(不建议使用,不可控) (2)设置共享变量,自定义终止方法,通过修改共享变量的值是run()或cal()执行完毕。 (3)等待run()或者是call()方法执行完毕。 阅读全文
posted @ 2019-10-20 22:57 song.yan 阅读(182) 评论(0) 推荐(0) 编辑
线程生命周期的几种状态
摘要:(1)线程的生命周期共有六种状态 1)NEW:new一个线程。 2)RUNNABLE:执行start方法进入可运行状态,等待分配时间片。 3)BLOCKED:阻塞状态(例如:同步锁被其他线程持有) 4)WAITING:等待状态(例如:执行wait/slee/join/...之后) 5)TIMED_W 阅读全文
posted @ 2019-10-20 22:40 song.yan 阅读(1878) 评论(0) 推荐(0) 编辑
Jedis实现频道的订阅,取消订阅
摘要:第一步:创建一个发布者 第二步:创建一个订阅者的监听器 第三步:创建一个订阅者 第四步:测试(编写客户端) (1)发布者客户端 执行main方法,创建一个发布者。 (2)订阅者客户端 执行main方法,创建一个订阅者(订阅上面发布者的频道)。 发布者发布信息: 订阅者接收到订阅信息: 订阅者取消订阅 阅读全文
posted @ 2019-10-18 09:45 song.yan 阅读(3284) 评论(1) 推荐(1) 编辑
Redis为什么要自己实现一个SDS
摘要:Redis是使用C语言开发的,在C语言中没有字符串这种数据类型,字符串大都是通过字符数组实现的,但是使用字符数组有以下不足: 1. 字符数组的长度都是固定,容易发生空指针2. 获取字符数组的长度的时候需要便利数组,时间复杂度较高3. 字符数组长度发生改变之后需要重新分配内存4. 使用\0表示结尾,在 阅读全文
posted @ 2019-10-16 11:41 song.yan 阅读(869) 评论(0) 推荐(0) 编辑
Redis中的数据结构
摘要:Redis常见的数据类型分为:字符串类型、散列类型、列表类型、集合类型(Set)、有序集合类型(zset)。 一、字符串类型 二、Hash哈希 (1)数据结构 1)zipList(压缩列表): 2)ht(hashtable): (2)zipList源码分析 1)下面是源码的注释中的一段描述: 压缩列 阅读全文
posted @ 2019-10-13 19:54 song.yan 阅读(288) 评论(0) 推荐(0) 编辑
编程题
摘要:1,题目: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 2,题解: 链接:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8来源:牛客网 这段小小的代码,很是巧妙。 如果一个整数不 阅读全文
posted @ 2019-10-12 08:04 song.yan 阅读(146) 评论(0) 推荐(0) 编辑
设计模式-代理模式
摘要:一、定义 (1)代理模式是指为其他对象提供一个代理,来控制对这个对象的访问 (2)代理在客户端和目标对象之间起到中介的作用 (3)属于结构型设计模式 阅读全文
posted @ 2019-10-11 07:55 song.yan 阅读(109) 评论(0) 推荐(0) 编辑
设计模式-原型模式
摘要:一、定义 (1)原型模式是指:原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。(有一个模板类的对象,通过拷贝这个对象获取一个一样的对象)。 (2)调用者不需要知道创建对象的细节,不需要调用构造函数。 (3)属于创建型模式。 二、场景 (1)类初始化过程中消耗资源多。 (2)new产生的 阅读全文
posted @ 2019-10-10 16:05 song.yan 阅读(165) 评论(0) 推荐(0) 编辑
设计模式-单例模式
摘要: 阅读全文
posted @ 2019-10-10 09:14 song.yan 阅读(95) 评论(0) 推荐(0) 编辑
设计模式-工厂模式(简单工厂,工厂方法,抽象工厂)
摘要:一、区分三种工厂模式 1,我自己理解的工厂模式就是将创建对象的过程封装隐藏起来,将封装对象的方法放到一个工厂类里面这就是工厂设计模式。 2,这种模式的好处体现在两个方面: 1)代码复用。不需要咋每次需要对象的时候都去重复创建对象的过程,只需要调用一下工厂类的创建对象的方法。 2)安全。将创建对象的具 阅读全文
posted @ 2019-10-09 21:47 song.yan 阅读(125) 评论(0) 推荐(0) 编辑
Redis基础
摘要:一、Redis的诞生 在2008年意大利的antirez开发了一个LLOOGG.com这个网站 最多可以查看一万条用户的浏览记录,他需要为每个网站创建一个list,如果网站的浏览记录超过了List的指定长度,他就需要把最先存进去的数据删除,到后面list的长度大了之后,每次添加新的纪录都需要删除旧的 阅读全文
posted @ 2019-10-08 14:42 song.yan 阅读(193) 评论(0) 推荐(0) 编辑
设计模式-七大原则
摘要:软件开发七大原则 一、开闭原则:面对扩展开放,面对修改关闭 (1)指的是在开发的过程中尽量的去扩展代码,而不是去修改原来的代码,以免影响到之前的逻辑。 (2)强调的是用抽象构建框架,用实现扩展细节。 (3)可以提高软件系统的可复用性及可维护性 (4)例:原有课程类,闲杂要对课程进行打折,应该怎么处理 阅读全文
posted @ 2019-10-06 17:39 song.yan 阅读(232) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示