ElasticSearch之canal,BinLog同步代码实践

1.引言在很多业务情况下,我们都会在系统中引入ElasticSearch搜索引擎作为做全文检索的优化方案。如果数据库数据发生更新,这时候就需要在业务代码中写一段同步更新ElasticSearch的代码。这种数据同步的代码跟业务代码耦合性非常高,并且使得代码的可读性降低,于是乎,我们能不能把这些数据同
2020年12月02日 1,632次浏览

java之跨库分页

一、需求缘起分页需求互联网很多业务都有分页拉取数据的需求,例如:(1)微信消息过多时,拉取第N页消息(2)京东下单过多时,拉取第N页订单(3)浏览58同城,查看第N页帖子这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一些特点:(1)有一个业务主键id, 例如msg_id, order_i
2020年12月01日 1,047次浏览

java8之Stream分页

前提stream的降序排序和之前我们通过重写Comparable接口,实现降排相比,要节省很多代码,而用stream分页,额鹅…纯属玩玩,一般用来裁剪数据。排序List<Student newList = new ArrayList<>(10);//升序list.stream().
2020年12月01日 1,917次浏览

字节码编程之redefineClasses与retransformClasses

redefineClass代码使用实例import java.lang.instrument.Instrumentation; //導入方法依賴的package包/類public static void agentmain(String args,Instrumentation inst){
2020年11月28日 1,616次浏览

字节码编程之Instrument,preMain,angetMain,热更新class文件

使用 Instrumentation,使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了 一种虚拟机级别支持的
2020年11月28日 895次浏览

js获取Android和iOS的版本

问题描述在移动手机的开发中,经常需要根据不同版本的安卓和iOS系统进行兼容性处理,一些新功能不在低版本上运行,因此需要判断操作系统版本号。js判断手机系统的版本iOS的版本判断:function get_ios_version(){ var ua = navigator.userAgent.t
2020年11月28日 4,212次浏览

Binlog之同步缓存实践

binlog学习目录什么是binLog · wangdaye's blogbinlog实战之Cannel中间件使用 · wangdaye's blogbinglog之Maxwell组件使用 · wangdaye's blogbinLog之 基于 MySQL Binlog 的 Elasticsearc
2020年11月26日 1,403次浏览

java项目之线上排错总结

待编写工具arthasPerfMa - 线上排错工具
2020年11月26日 771次浏览

java之函数式编程

函数式编程之stream · wangdaye's blog函数式编程之lambda表达式 · wangdaye's blog函数式编程之FunctionalInterface · wangdaye's blog
2020年11月26日 849次浏览

LBS之附近的人实现方案

“附近的人” 功能生活中是比较常用的,像外卖app附近的餐厅,共享单车app里附近的车辆。既然常用面试被问的概率就很大,所以下边依次来分析基于mysql数据库、Redis、 MongoDB实现的 “附近的人” 功能。科普:世界上标识一个位置,通用的做法就使用经、纬度。经度的范围在 (-180, 18
2020年11月24日 1,332次浏览