kenx kenx
3年前
SpringBoot 默认json解析器详解和字段序列化自定义
前言在我们开发项目API接口的时候,一些没有数据的字段会默认返回NULL,数字类型也会是NULL,这个时候前端希望字符串能够统一返回空字符,数字默认返回0,那我们就需要自定义json序列化处理SpringBoot默认的json解析方案我们知道在springboot中有默认的json解析器,SpringBoot中默认使用的Json解析技术框架是ja
捉虫大师 捉虫大师
2年前
这个Dubbo注册中心扩展,有点意思!
今天想和大家聊聊Dubbo源码中实现的一个注册中心扩展。它很特殊,也帮我解决了一个困扰已久的问题,刚刚在生产中用了,效果很好,迫不及待想分享给大家。Dubbo的扩展性非常灵活,可以无侵入源码加载自定义扩展。能扩展协议、序列化方式、注册中心、线程池、过滤器、负载均衡策略、路由策略、动态代理等等,甚至「扩展本身」也可以扩展。在介绍今天的这个注册中心扩展之前,先抛
Wesley13 Wesley13
3年前
java高并发设计(十一)
一直在写java高并发的博客,突然想起自己刚开始学习相关技术开发的境况,一切都只是理论,案例是最能讲解的地方,后面的章节将从采用netty通信实现rpc的服务调用,采用hession序列化来设计netty的编码解码操作。该项目将涉及到单例设计,回调设计,数据安全设计,数据加载设计,面向接口设计。会涉及java自身的线程池,多线程执行,高并发数据安全,同时也出
Wesley13 Wesley13
3年前
java 日志的数据脱敏
思路1。在model层进行处理,直接重写get方法,在写一个getPlain获取明文方法。(缺点:数据库写入和json序列化传递时使用的都是密文)  2.利用日志组件过滤特定的key,去进行脱敏(缺点:对所有的日志输出全部要正则匹配,非常耗时。)由1,2的利弊,肯定会选择1,然后考虑一种实现(在model层定义方法,获取它的一个复制类,复制
Stella981 Stella981
3年前
Netty系列之Netty高性能之道
1\.背景1.1.惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4Thrift压缩二进制编解码技术,他们实现了10WTPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年
Stella981 Stella981
3年前
Netty 实现简单的RPC远程调用
RPC又称远程过程调用,我们所知的远程调用分为两种,现在在服务间通信的方式也太多已这两种为主1.是基于HTTP的restful形式的广义远程调用,以springboot的feign和restTemplate为代表,由于采用的协议是HTTP的7层调用协议,并且协议的参数和响应序列化基本以JSON格式和XML格式为主。2.是基于TCP的狭义的RPC远程调
Stella981 Stella981
3年前
Kafka 中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
最新一位朋友在知乎上私信我问了一些他在面试中遇到Kafka的问题,由于自己没有及时回复,这位朋友后来通过联系方式加了微信私聊了很久。其中分享一个问题就是Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?对于这个问题,印象特别深刻!最近才画得图~!(https://oscimg.
Wesley13 Wesley13
3年前
2020年1
前言2020年一半儿快要过去了,总结了上半年各类Java面试题,初中级和中高级都有,包括JavaOOP面试题、Java集合/泛型面试题、Java异常面试题、Java种的IO与NIO面试题、Java反射面试题、Java序列化面试题、Java注解面试题、多线程与并发面试题、JVM面试题、MySQL面试题、Redis面试题、Memcached面试题、Mo
Stella981 Stella981
3年前
Gson简要使用笔记
最近在做一个javawebservice项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库。发现了google的gson,因为之前对于protocolbuf有一些了解,带着一些好奇心,我开始使用了gson。经过比较,gson和其他现有javajson类库最大的不同时gson需要序列化得实体类不需要使
Stella981 Stella981
3年前
Guava Lists.transform的一个小坑
    最近在修改项目中bug的时候遇到一个问题,需要修改一个list里的值,但是不管怎么set值,最后序列化的结果都是原来的值。百思不得其解,最后点开返回list的代码,看到里面用了Guava的Lists.transform做了类型转换,才恍然大悟。因为之前听说过Guava的Lists.transform方法有个坑,于是趁机研究下源码。publ