ASM核心API 类解析用法(3)
前面说过,asm提供了三个核心类:ClassReader、ClassWriter 和 ClassVisitor。这里先讲一下类的读取和解析,用到第一个和第三个类。
路漫漫其修远兮,吾将上下而求索
前面说过,asm提供了三个核心类:ClassReader、ClassWriter 和 ClassVisitor。这里先讲一下类的读取和解析,用到第一个和第三个类。
上上篇说过,ES 官方给了四种地信查询过滤器,分别是
上一篇说过,ES 官方给了四种地信查询,分别是
前面说过,Elasticsearch 支持两种地理信息数据结构:geo_point 和 geo_shape。 geo_point 就是经纬度组成的数字对,geo_shape 支持点、线、曲线、多边形、多边形组。
想要在浏览器中不用ctrl+C复制内容到剪贴板,而是通过点击或者鼠标滑过就能自动复制。百度谷歌了好久,都没找都得心应手的方法。 有的是要创建Range,有的是只能使用文本框。
移动对象数据库和地理信息数据库有不少,它们在处理地信方面能力强大。比如Oracle和阿里云库。公司用的MySQL没有这种能力,需要通过业务代码来实现。不过公司使用的中间件,比如es和hbase都有地信索引和计算能力。这里简单说一下es的地理信息处理方式。
ASM 中生成和转换字节码的API主要是基于抽象类 ClassVisitor 的。这里讲一下 ClassVisitor 的用法。
java类文件的结构实际很简单,它不像本地可执行文件那样,类文件保留了源代码中的结构和几乎全部的符号信息。
ASM 是一个Java运行时增强工具,与之类似的还有javassist。ASM 这个名字来源于C语言中内联汇编的关键字__asm,所以它没有特定的含义指向。
本来对高德印象不错,感觉它的地图做得比较用心,现在又依附阿里大厂,服务应该不错吧。可是一次打车后的体验,让我再也不敢使用高德服务 。
Java模块系统是给Java语言上增加的一项十分完善的特性。可能正是由于它是如此的丰富和完善(如之前介绍的用于兼容老代码的非具名模块,更加细腻的访问控制等),才一直从原定的Java7中拖延到了Java9中。本文介绍一点模块中的高级场景。
Java的ServiceLoader(java.util.ServiceLoader,服务加载器)不是Java9中才出现的,Java6就开始使用了。这里的服务,可以简单的理解为Java接口,加载器加载的是接口的实现类(也可以说成服务是实现了接口的类)。在Java9以前主要用于实现spi机制,也就是动态加载实现类。Java9赋予了它新的功能,这篇文章简单讲一下ServiceLoader的使用。