- 博客(8)
- 收藏
- 关注

原创 elasticsearch 关键词查询-实现like查询
背景:我们项目需要对es索引里面的一个字段进行关键词(中文+英文+数字混合,中文偏多)搜索,相当于关系型数据库的like操作。要实现这个功能,我们首先想到的方式是用*通配符,但是实际应用场景查询语句会很复杂,*通配符的方式显得不够友好,导致慢查询,甚至内存溢出。考虑到实际应用场景,一次查询会查询多个字段,我们项目采用query_string query方式,下面只考虑关键词字段。数据准备...
2018-09-05 22:40:41
62527
3

转载 通过 spring 的 EL 表达式解决不同环境的部署参数配置问题
在我们一个真实项目中, 用到了 QA/DEV/TEST/PRODUCT 四套部署环境. 前三套类似, 只是在 PRODUCT 环境中, 公司的运维规范是将配置信息写到 linux 系统的环境变量中, 而这个配置信息的值是不能公开给我们的开发人员的. 这就需要我们在项目的部署问题上支持多种环境的配置方式.我们需要满足下面几点需求:交付给运维人员的是一个直接可以部署的 war 包. 运维只根据...
2018-03-02 17:47:22
598

原创 spring mvc 利用maven实现不同环境使用不同配置文件
在进行真实项目开发的时候,我们需要在不同的环境读取不同的配置信息,比如数据库连接信息,日志级别信息。我们可以用Maven来实现这一特性。首先要有不同环境下的properties文件示例: 请注意db.properties和log4j.properties配置文件的位置,一定要放在resources文件夹下,配置遇到过大坑,在这一点上,文章最后会说明。 filter-dev.prop...
2018-03-01 14:56:24
5997

原创 多线程系列(一)--线程基础
文章目录 (一)线程的定义 (二)实现多线程的方式继承Thread类实现Runnable接口(三)Thread常用方法介绍中断线程方法 interrupt()方法静态方法 currentThread()方法sleep()方法yield()方法对象方法 isAlive()方法join()方法join(long)方法与sleep(long)方法的区别(四
2018-01-09 15:49:05
720
原创 Mac安装多个jdk版本
首先安装两个版本的JDK,安装步骤自行百度,我安装了jdk8和jdk11两个版本.Mac下默认的JDK安装路径是/ Library / Java / JavaVirtualMachines / 在该目录下输入LS命令可以查看到目前安装的JDK版本,也可以用/ usr / libexec / java_home -v 1.8命令查看当前版本的jdk的安装位置示例如下:xx:usr xxx$...
2018-11-19 23:08:11
1533
1
原创 jdk11-String源码分析
目录char类型一、定义二、属性String类型的性能优化三、构造方法四、其他方法length方法isEmpty方法charAt方法codePointAt方法codePointBefore方法getChars方法equals方法在进行String源码分析之前,我们先来介绍一下char数据类型。char类型char类型用于表示单个字符。...
2018-11-07 19:28:26
1873
原创 java的byte数据类型总结||二进制的原码、反码和补码
目录二进制的原码、反码和补码正数负数bytebyte的取值范围为什么是-128~127byte与ASCIIbyte&0xff的作用int强转换为byte二进制的原码、反码和补码原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位...
2018-11-07 11:47:37
2167
转载 字符编码笔记:ASCII,Unicode , UTF-8,UTF-16和ISO8859-1(Latin-1)
字符编码笔记:ASCII,Unicode , UTF-8,UTF-16和ISO8859-1(Latin-1)目录字符编码笔记:ASCII,Unicode , UTF-8,UTF-16和ISO8859-1(Latin-1)ASCII码历史问题UnicodeUnicode 编码方案UTF-8Little endian 和 Big endianUTF-16I...
2018-11-06 17:08:55
1682
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人