默认情况下,SpringBoot提供了DefaultErrorAttributes类,该类实现了ErrorAttributes接口,以在发生未处理的错误时生成错误响应。在默认错误的情况下,系统会生成一个 JSON 响应结构,我们可以更仔细地检查它:
1 | { |
默认情况下,SpringBoot提供了DefaultErrorAttributes类,该类实现了ErrorAttributes接口,以在发生未处理的错误时生成错误响应。在默认错误的情况下,系统会生成一个 JSON 响应结构,我们可以更仔细地检查它:
1 | { |
中国政府一直在强调完善三次分配制度。所谓三次分配制度就是以市场为依托的初次分配,政府税收、转移支付为代表的二次分配,与慈善捐赠相关的三次分配。也有人提出“零次分配”的概念——在进入生产之前,对各要素进行更公平的分配,以实现机会均等,促进共同富裕。
初次分配强调“效率”,把生产要素分配给最能使用这个要素的组织。比如有一块未经加工的玉原石,张三技术高可以把1块钱的玉石雕刻成9块钱的艺术品,李四技术很一般只能把1块钱的玉石雕刻成5块钱的艺术品,现在有6块玉原石,如果全部给张三雕刻,最终能创造6x9=54的价值,而给李四只能创造6x5=30的价值。按照效率优先,初次分配就是把生产要素给效率最高的张三。但是随着时间的累积,张三的财富积累会远远超过李四,最后贫富差距会越拉越大。
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 字段作为默认值,所有这些可用的字段从性能的角度来看有什么区别?让我们一探究竟!