Java日志门面系统

一个线上程序的运行情况监测,日志扮演着极其重要的角色。Java发展了20年,日志系统也是百家争鸣,不同历史时期出现的开源组件往往有着不同的日志实现,应用的整合难度陡升。所幸Simple Logging Facade for Java(SLF4J)对各种日志框架进行了抽象。如其名字,它对开发者提供了统一的门面,允许开发者在部署时插入所需的日志框架。

阅读全文>>

初见 VS Code

Visual Studio Code (简称 VS Code) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、Git 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。轻量、免费、开源和扩展机制为它赢得了很多用户,同时社区和官方对他的维护和扩展是非常活跃的。

阅读全文>>

序列化库选型

序列化和反序列化在线上系统中是一个绕不开的话题,通常作为RPC框架中的一部分而被很多人所忽略。然而它经常成为系统设计或者性能影响因素的一个重要环节。业界有许许多多的序列化库,我们应该如何进行选型,下面我们来简单探讨一下

阅读全文>>

Serializable和Hession

Serializable是Java提供的原生序列化方式,它提供了配套的ObjectOutputStream和ObjectIutputStream来处理Java对象的序列化读写,解析效率性能比较高,但是消耗的存储却捉襟见肘。很多框架中仅仅作为一个基础实现,但是基本无人使用。比如 Dubbo 框架中并不是使用它作为默认的序列化方式,而是使用hession。下面看看这两种序列化方式的优劣。

阅读全文>>

Kryo序列化器

Kryo是一个快速高效的java二进制对象图序列化框架。该项目的目标是高解析效率、高压缩率和易于使用的API。无论是文件、数据库还是网络上的对象,在需要持久化的场景中,该项目可以进入考虑的范围。

阅读全文>>