默认情况下,SpringBoot提供了DefaultErrorAttributes类,该类实现了ErrorAttributes接口,以在发生未处理的错误时生成错误响应。在默认错误的情况下,系统会生成一个 JSON 响应结构,我们可以更仔细地检查它:
1 | { |
默认情况下,SpringBoot提供了DefaultErrorAttributes类,该类实现了ErrorAttributes接口,以在发生未处理的错误时生成错误响应。在默认错误的情况下,系统会生成一个 JSON 响应结构,我们可以更仔细地检查它:
1 | { |
JSON序列化/反序列化的工具非常多,Google的Gson、Alibaba号称世界最快的FastJson、实现了Java官方的JSON Binding API(JSR 367)的Eclipse Yasson和Apache Johnzon。
这些库始终都不如Jackson好用。不仅仅因为Jackson具有极致的可扩展性,可以无痛对接文本格式XML、csv, properties, yaml和二进制格式的avro, cbor, ion, protobuf, smile,还因为他有简单易用的多态反序列化功能。Gson等库实现多态反序列化做法非常的不优雅。
OpenResty是基于Lua即时编译器(LuaJIT)对Nginx进行扩展的模块——最核心的就是lua-nginx-module
这个模块。其他的都是OpenResty基于lua开发的相关模块,当然也可以基于lua开发自己的第三方模块。
在这篇文章中,我想从性能的角度探讨ElasticSearch 为我们存储了哪些字段,以及在查询检索时这些字段如何工作。实际上,ElasticSearch和Solr的底层库Lucene提供了两种存储和检索字段的方式:store_fields
和doc_values
。此外,ElasticSearch默认提供了 _source
字段,这是在索引时由文档的所有字段构造的一个大json。
为什么 ElasticSearch使用 _source
字段作为默认值,所有这些可用的字段从性能的角度来看有什么区别?让我们一探究竟!