博客迁移成功
可喜可贺,可喜可贺,这样就没人发现我断更很久了
正式宣布
不再更新
尽量保持节奏吧
首先明确一点,SpringBoot自带的ES模板,不建议使用,建议使用Rest Client。如果业务简单,且无特殊要求,可以使用SpringBoot的模板ElasticsearchRepository来搞定。这个非常简单,这里不作介绍,有需要看最底下的连接
ElasticsearchRepository
- 优点: 简单,SpringBoot无缝对接,配置简单
- 缺点: 基于即将废弃的TransportClient, 不能支持复杂的业务
开始看Elasticsearch Java API 的时候,被这段话浇了盆凉水
We plan on deprecating the
TransportClient
in Elasticsearch 7.0 and removing it completely in 8.0. Instead, you should be using the Java High Level REST Client, which executes HTTP requests rather than serialized Java requests. The migration guidedescribes all the steps needed to migrate.The Java High Level REST Client currently has support for the more commonly used APIs, but there are a lot more that still need to be added. You can help us prioritise by telling us which missing APIs you need for your application by adding a comment to this issue: Java high-level REST client completeness.
Any missing APIs can always be implemented today by using the low level Java REST Client with JSON request and response bodies.
from:– https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.html
大致意思是:我们马上就要不支持TransportClient
这个熊玩意了,你们应该用Java Rest Client,最好是还是高级别的client,用Http方式来访问ES,然后,麻烦帮我们确定这个Client的完整性,如果有发现高级Client缺失功能,可以用低版本的Clientlow level Java REST Client
来发送json请求,查询数据
TransportClient这玩意儿确实很难用,抛开连接池不稳定不说,写完代码之后就是下图视感:
所以写完因为之后,准备用Java Rest Client来重构一下,用于兼容ES 5、6、7、甚至8
四个月没发东西了,说忙是借口,懒才是直接原因。倒不是什么都没写,只是写的都不能发。
不能发的原因是我不想发,不想发基础入门的东西了,网上一查一堆,写的比我好的也数不胜数
技术这个东西,泊来品,越是新的知识,越不容易找到一手的中文文档或资料。只能去外国官网上翻文档,阅读能力奇差的我看英文文档极其慢,过程不亚于啃砖头。写了点笔记,大佬已经翻译出来了。又没办法发一遍。
平时遇到的问题大多是代码逻辑问题,也没啥值得写的。
读书笔记写出来既影响自己读书的效率,又没啥新的东西在文章里,还不如直接发书单
翻源码的还在写……,嗯,有点意思的就是源码,看多了自然自己的代码水平也上去了。看源码也是比较慢的,所以只要懒劲一来,就废了
其实没有更新的4个月里,经历了很多:
算起来,正式从 Android 转 Web 已经1年了。看看躺在自己笔记里的一堆垃圾。看看自己的github,看看别人的薪资,一股惭愧之意骤然而起,所以,老夫得继续写点东西了
我还记得当时做FS计划的初心,但是这个计划执行的速度比蜗牛还慢,所以得上点心了。
越来越多的大佬开始说:但行好事,莫问前程。————《增广贤文》
当下如果不做,又怎会有前程呢?
笔记里列出了自己想写的所有东西,接下来就是用最少的时间把它填满,把自己的脑子填满。
所以:老夫又回来了。
上一篇文章写了流的基本知识,大约知道了流是用来处理序列集合的武功秘籍。
集合关注的是数据存储本身,流关注的数据计算和处理。本篇文章来说明一下适用流时应当注意的几点
不想再用for嵌套for操作了,java8 带来了新的API —— Stream,非常强大!
Stream中文翻译成流,是一个支持串行和并行操作元素的序列,也是Lambda表达式配合使用的强大工具。
源码在java.util.stream中,感兴趣可以阅读阅读。
知道JVM内存模型可以在学习多线程的时候更加了解锁的机制和工作方式。下面是我的学习笔记,比较初级。
第四章讲了类的设计,大部分应该遵守,书中也给出了遵守这些规则的理由, 然后书已经看得差不多了,这样记笔记实在没啥效率,后面就不这么写了。