Ubuntu18.0.4.1编译openjdk8
之前写过在mac os中编译openjdk 8,但是因为使用不是官网的代码,编译过中遇到错误也会修改源代码,可能会导致jvm莫名其妙的crash非常痛苦。实践证明,要研究jvm最好还是在linux中编译和实践。
之前写过在mac os中编译openjdk 8,但是因为使用不是官网的代码,编译过中遇到错误也会修改源代码,可能会导致jvm莫名其妙的crash非常痛苦。实践证明,要研究jvm最好还是在linux中编译和实践。
arthas属于线上问题诊断工具,主要解决如下几个场景问题,这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?..
为什么要学习字节码技术?无论是Java程序员还是架构师,在我们平常使用的中间件,dubbo、fastjson和arthas等框架或者组件时,我们已经在接触字节码技术了,更重要的是,Java字节码恰恰是JVM的基础。
在阿里重启开源之前,基于`dubbo`注解的服务暴露有很多缺陷。公司小伙伴找到我帮他分析一个`dubbo`服务使用`aop`不生效的问题
花名诣极,开源Apache Dubbo PMC。曾就职于阿里巴巴集团、有赞科技,担任dubbo框架技术负责人。目前就职于蚂蚁金服中间件团队,主攻云原生(Service mesh)和sofa rpc方向, "深入理解Apache Dubbo原理与实战"图书作者。
fastjson针对常用的类型已经注册了反序列化实现方案,根据源代码注册`com.alibaba.fastjson.parser.ParserConfig#initDeserializers`可以得到列表
fastjson核心功能包括序列化和反序列化,反序列化的含义是将跨语言的json字符串转换成java对象。
这个章节主要讨论关于对象字段相关词法解析的api,同时对于极其相似的api不冗余分析,可以参考代码阅读。
JSONLexerBase定义并实现了json串实现解析机制的基础,在理解后面反序列化之前,我们先来看看并理解重要的属性
序列化回调接口实现分析,主要对内部常用的序列化实现,比如MapSerializer序列化等。