logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

自己动手写一个通信协议

什么是通信协议我们常用的聊天软件比如:微信,都是基于一组通信协议进行服务端与客户端数据交互。协议指的就是客户端与服务端事先约定好的,每个二进制数据包中,每一段字节分别代表什么含义的规则。如下图所示一个简单的登录指令:在这个数据包中,第一个字节为 1 表示这是一个登录指令,接下来是用户名和密码,这两个值以 \0 分割,客户端发送这段二进制数据包到服务端,服务端就能根据这个协议来取出用户名密码,...

Java Agent

在 Java 字节码 一文中有提到,使用 Java Agent 操控字节码,本文将讨论 Java Agent ,这是普通 Java 开发人员的真正的黑魔法。Java Agent 能够通过执行字节码的直接修改,在运行时 “侵入” JVM 上运行的 Java 应用程序的执行。Java Agent 很强大,但是也很危险:它们几乎可以完成所有操作,但是如果出现问题,也很容易导致 JVM 崩溃。我们将通过.

Java Agent

在 Java 字节码 一文中有提到,使用 Java Agent 操控字节码,本文将讨论 Java Agent ,这是普通 Java 开发人员的真正的黑魔法。Java Agent 能够通过执行字节码的直接修改,在运行时 “侵入” JVM 上运行的 Java 应用程序的执行。Java Agent 很强大,但是也很危险:它们几乎可以完成所有操作,但是如果出现问题,也很容易导致 JVM 崩溃。我们将通过.

Java Agent

在 Java 字节码 一文中有提到,使用 Java Agent 操控字节码,本文将讨论 Java Agent ,这是普通 Java 开发人员的真正的黑魔法。Java Agent 能够通过执行字节码的直接修改,在运行时 “侵入” JVM 上运行的 Java 应用程序的执行。Java Agent 很强大,但是也很危险:它们几乎可以完成所有操作,但是如果出现问题,也很容易导致 JVM 崩溃。我们将通过.

Elasticsearch滚动查询+线程池处理大批量数据

什么是滚动查询?scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种代价。scroll查询允许我们 先做查询初始化,然后再批量地拉取结果。 这有点儿像传统数据库中的 游标(cursor) 。如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scroll滚动查询,一批一批的查,直到所有数据都查询完处理完。scrol...

#elasticsearch
ElasticSearch使用elasticsearchTemplate聚合查询

这两天正好做个需求,需要用到聚合查询。前几篇文章只是简单的提到过,并没有真正的运用到实际产出中,本篇结合实际代码,专项学习ES的聚合查询。1、业务背景有一张地址索引表:hisAddress与formatAddress是一对多的关系。当一条地址进来查找hisAddress,然后对formatAddress做聚合,再根据count筛选聚合中的数据。类似以下SQL:select hisAd......

#elasticsearch#java
到底了