提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换。

阅读全文 »

Apache Dubbo是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

阅读全文 »

宏观上来分类,锁可以分为乐观锁与悲观锁。注意,这里说的的锁可以是数据库中的锁,也可以是 JavaPython 等开发语言中的锁技术。

阅读全文 »

现在几乎大部分的App都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。

阅读全文 »

Java 泛型(generics)是 JDK 1.5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。

阅读全文 »

一、背景

我们在DOModelVO层数据间可能经常转换数据:

  1. Entity对应的是持久层数据结构(一般是数据库表的映射模型);
  2. Model 对应的是业务层的数据结构;
  3. VO 就是Controller和客户端交互的数据结构。
阅读全文 »

Java是一门强大的面向对象的语言,除了8种基本的数据类型,其他一切皆为对象。因此,在Java中定义函数或方法都离不开对象,也就意味着很难直接将方法或函数像参数一样传递,而Java8中的Lambda表达式解决了这个问题。

阅读全文 »

一、背景

分布式系统中我们会对一些数据量大的业务进行分拆,如:用户表,订单表。因为数据量巨大一张表无法承接,就会对其进行分库分表。
但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题。

阅读全文 »

CyclicBarrier 是一种多线程并发控制工具,与CountDownLatch非常类似。它可以让一组线程到达栅栏时被阻塞,直到最后一个线程到达,才放行通过。比如斗地主,需要等待所有玩家进度条 100% 了,才能进入游戏。

阅读全文 »

一、背景

JWT全称是:json web token。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。

阅读全文 »