01 2021 档案
摘要:前言 我们知道ElasticSearch(简称ES)底层的搜索使用的是倒排索引依赖于分词器的实现,那么分词器的规则可以如何制定、ES中都提供了哪些常用的分词器给我们去使用呢?本文将围绕分词器的使用和细节进行讲解,希望能够对想要了解ES分词器的小伙伴们一个参考。 一、说在前面的概念 (一)分词 分词是
阅读全文
摘要:前言 ElasticSearch是基于java的开源分布式搜索引擎,由于其强大的检索性能和较好的封装性(对lunece),给用户提供了简单易上手的API操作,也成为当前各大企业和大厂用于搜索引擎的工具。本文将对ElasticSearch的使用和入门进行详细的讲解,并结合Kibana进行部分案例的演示
阅读全文
摘要:前言 静态代理常和动态代理、装饰者模式一起提起,原因是静态代理和其余二者总有着较大的相似和关联,本篇文章将对静态代理的使用与特点进行讲解,希望能够为不清楚该设计模式的读者一个参考。 我们这里举一个和装饰者一样的案例,存在如下的接口和实现: // 接口Animal public interface A
阅读全文
摘要:前言 装饰者模式是一种巧妙的类设计结构,可以便捷的实现对指定类功能的加强,本文将对装饰者模式的应用场景和实现进行讲解,希望能够让对该模式不清楚的读者一些参考。 现在有接口和实现类如下: // 接口Animal public interface Animal { void eat(); } // 实现
阅读全文
摘要:前言 有时候我们会遇到这样一个需求,提交表单的时候对表单中的特定数据进行加密后传到后台,再由后台进行解密。本文会针对该类需求的实现思路进行讲解,希望能够让各位读者有所收获。 说在前面 我们知道加解密算法可以分为对称加密和非对称加密。对于这个需求而言,我们不可以采用对称加密,原因是前后端使用的秘钥为同
阅读全文
摘要:前言 对于浮点数的四则运算,我们知道可能会出现精度上的误差,对于不需要准确计算精度的计算我们可以使用double和float来操作,但是涉及到金额交易(计算)等场景的时候,就需要我们特别注意结果的精度问题,这个时候,我们就可以采用Bigdecimal类来进行高精度的四则运算了。本篇文章将对Bigde
阅读全文
摘要:前言 空指针是java程序员在工作中遇到的最多的异常之一,对于对象中的某个属性,有时候我们为了避免程序报空指针错误,而不得不使用较多的if、else来进行逻辑判断,但这样的话代码可能就会比较冗余或者说不够优雅。在JDK1.8中,提供了Optional类为我们解决空指针问题提供了一种方式,有需要的同学
阅读全文
摘要:前言 在开发过程中,我们可能需要根据某种规则来对集合对象或者对象和对象之间进行排序,JDK提供了Comparable和Comparator两种实现方式让我们去实现对象间的比较和排序。本篇文章将对两种实现方式进行简单的讲解。 在java中,对于基本数据的数值,我们可以直接通过>、<、=来直接进行比较。
阅读全文
摘要:前言 Dependency-Check是OWASP(Open WebApplication Security Project)的一个实用开源程序,用于识别项目依赖项并检查是否存在任何已知的,公开披露的漏洞。我们可以使用这个应用来进行相关依赖包的扫描。常见的使用方式有两种,应用扫描和插件扫描 方式一:
阅读全文
摘要:前言 有时候,我们写好SQL后发现执行查询的时间超过了预期,但自己已经有根据表的已有索引去写SQL语句,这个时候就要考虑是否是在查询的过程中出现了索引失效的问题。那么我们可以怎么样去验证SQL在执行过程中是否有使用到索引呢?数据库给我们提供了explain关键字去查看sql的执行过程。 本篇文章将介
阅读全文