Kotlin-表达式—变量与常量(十一)
变量声明 在Kotlin中,使用关键字var和val来声明变量。 var language ="Java" val salary = 30000 val author = "maxsu" 关键字 va…
Kotlin-类型初步—智能类型转换(十)
要使用可空类型,可以选择使用智能强制转换。 智能转换是Kotlin编译器跟踪if表达式内部条件的功能。 如果编译器发现变量可null类型的null值,则编译器将允许访问此变量。 尝试在没有安全转换的情…
Kotlin-类型初步—空类型安全(九)
空指针 Kotlin 的类型系统旨在消除来自代码空引用的危险,也称为《十亿美元的错误》。 许多编程语言(包括 Java)中最常见的陷阱之一是访问空引用的成员,导致空引用异常。在 Java 中,这等同于…
Kotlin-类型初步—扩展方法(八)
扩展函数 Kotlin与C#和Go类似,提供了扩展一个新功能的类,而不必继承类或使用任何类型的设计模式。 这是通过称为扩展名的特殊声明完成的。 Kotlin支持扩展功能和扩展属性。 您需要在Strin…
Kotlin-类型初步—类和接口(七)
类 Kotlin中的类是使用class关键字来声明: class Invoice { } 类声明由类名,类头(指定类型参数,主构造函数等)和类体组成,由大括号括起来。类头和类主体都是可选的; 如果类没…
Kotlin-内置类型—函数(六)
Kotlin 中的函数使用 fun{: .keyword } 关键字声明 函数定义 fun double(x: Int): Int { } fun yy(p: (Foo, String, L…
Kotlin-内置类型—集合框架(五)
集合通常包含相同类型的一些(数目也可以为零)对象。集合中的对象称为元素或条目。例如,一个系的所有学生组成一个集合,可以用于计算他们的平均年龄。 以下是 Kotlin 相关的集合类型: List&nbs…
Kotlin-内置类型—区间(四)
区间(或叫作范围)表达式由具有操作符形式 .. 的 rangeTo 函数辅以 in{: .keyword } 和 !in{: .keywor…
Kotlin-内置类型—数组(三)
java和kotlin的数组还是有一定的区别的。 数组在 Kotlin 中使用 Array 类来表示,它定义了 get 与 set 函数(按照运算符重载约定这会转变为 [])以及 size 属性,以及…
Kotlin-内置类型—基本类型(二)
kotlin的基本类型与java的基本类型区别不大。 基本类型 var 与 val var a = 2 val b = "Hello Kotlin" 声明变量 声明变量时变量的类型可写可不写,建议还是…
ElasticSearch—映射模版(十三)
动态模板允许你定义可以用于动态添加的字段的自定义映射: 由Elasticsearch中的match_mapping_type检测到数据类型。字段的名称可以是match(匹配)和unmatch(不匹配)…
ElasticSearch—映射参数详解(十二)
从今天开始我们来看 Es 中常见的 23 种映射参数。 官网: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapp…
ElasticSearch—字段类型详解(十一)
现在我们来看 Es 中常见的四种字段类型,由于这里涉及到的知识点比较多。 一、核心类型 字符串类型 string:这是一个已经过期的字符串类型。在 es5 之前,用这个来描述字符串,现在的话,它已经被…
Java—设计模式Builder模式
Builder模式理解 比如说你需要构造一个机器:是不是会包含很多部件,但是根据相同的制造过程可以制作出不同的机器(机器猫,机器狗,机器人,机器等等)。再比如说相同的注册流程可以注册出不同的公司(百度…
ElasticSearch—动态映射与静态映射(十)
映射就是 Mapping,它用来定义一个文档以及文档所包含的字段该如何被存储和索引。所以,它其实有点类似于关系型数据库中表的定义。 映射分类 动态映射 顾名思义,就是自动创建出来的映射。es 根据存入…
ElasticSearch—锁和版本控制(九)
当我们使用 es 的 API 去进行文档更新时,它首先读取原文档出来,然后对原文档进行更新,更新完成后再重新索引整个文档。不论你执行多少次更新,最终保存在 es 中的是最后一次更新的文档。但是如果有两…
ElasticSearch—文档路由(八)
es 是一个分布式系统,当我们存储一个文档到 es 上之后,这个文档实际上是被存储到 master 节点中的某一个主分片上。 例如新建一个索引,如下: 接下来,向该索引中保存一个文档: PUT /bl…
Websocket通讯(Netty)
实现WebSocket的方式有很多种 http://www.enmalvi.com/2020/12/22/websocket-5/ http://www.enmalvi.com/2020/12/22/…
Websocket通讯(上层的STOMP)
前面两种建立websocket通讯,不管是用javax的包还是spring的包都是用的比较底层的协议,下面我们来看看用上层的STOMP来建立websocket通讯 http://www.enmalvi…
Websocket通讯(底层的协议)
在spring和spring boot中配置websocket的代码基本一样的,只是pom引入的包不一样,需要注意的是不同的tomcat版本对websocket的支持可能有区别,造成了代码的区别。 s…
ElasticSearch—增删改查(七)
创建数据PUT 第一条数据: PUT /test/_doc/1 { "name":"xjh", "age":21, "desc":"shangjin", "tags":["xx","ss","dd",…
Elasticsearch—Rest风格说明(六)
一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 基本Rest命令说明: 基础测…
ElasticSearch—索引基本操作(五)
新建索引 通过 head 插件新建索引 在 head 插件中,选择 索引选项卡,然后点击新建索引。新建索引时,需要填入索引名称、分片数以及副本数。 索引创建成功后,如下图: 0、1、2、3、4 分别表…
ElasticSearcha—分词器(四)
内置分词器 ElasticSearch 核心功能就是数据检索,首先通过索引将文档写入 es。查询分析则主要分为两个步骤: 词条化:分词器将输入的文本转为一个一个的词条流。过滤:比如停用词过滤器会从词条…
ElasticSearch—核心概念(三)
在前面的学习中,我们已经掌握了es是什么,同时也把es的服务已经安装启动,那么es是如何去存储数据,数据结构是什么,又是如何实现搜索的呢?我们先来聊聊ElasticSearch的相关概念吧! 集群,节…
ElasticSearch—安装(二)
ElasticSearch安装 我们需要下载和安装ElasticSearch的服务端和客户端! ElasticSearch是使用java开发的,且本版本的es需要的jdk版本要是1.8以上,所以安装E…
ElasticSearch—简介(一)
Lucene Lucene 是一个开源、免费、高性能、纯 Java 编写的全文检索引擎,可以算作是开源领域最好的全文检索工具包。 在实际开发中,Lucene 几乎适用于任何需要全文检索的场景,所以 L…
Java—根据经纬度计算实际距离
在项目中可能会遇到需要计算坐标点的距离等,所以我们需要通过这个包来实现。 <dependency> <groupId>org.gavaghan</groupId> <artif…
Kotlin—简介与环境搭建(一)
让开发人员更快乐的一门现代编程语言。 这是 Kotlin中文官网上的一句话,是的!它真的让我感到了快乐!!! Kotlin出来已经良久了。Kotlin有着众多优势,不管是用于Android开发中,还是…
Mybatis-plus—kotlin代码生成
mybatis-plus 2.1.5 发布,新增 kotlin 代码生成 [v2.1.5] 2017.11.11 通用枚举 spring boot 兼容调整PostgreSQL 支持关键词非关键词转换…