finalize 方法重写对 GC 的影响分析

关于 Object 的 finalize 方法,在日常开发中可能有超过 99% 的人都没有关注过,因为业务开发很少有重写 finalize 方法的场景;开发者对于 finalize 的认知大多在是“面试八股文”中,而且也不乏见到将 finalize、finally 以及 final 放在一块比较的 case,面试官可能是出于对初学者 java 基本语言知识的考量,但是这真的有意义吗?

阅读更多

解决方案系列-基于 SOFAArk 实现应用的动态装载和卸载

原文链接:解决方案系列-基于 SOFAArk 实现应用的动态装载和卸载

本篇主要来看下蚂蚁金服开源的 SOFAArk 这个产品。SOFAArk 是一款基于 Java 实现的轻量级类隔离容器,主要提供类隔离和应用(模块)合并部署能力;本文主要基于 telnet 指令的方式进行应用 Biz 的装载和卸载操作。去年在上海 KubeCon 大会上有分享过 《SOFABoot 动态模块实践》,主要是通过 SOFADashboard 来下发指令的,基于 SOFABoot 3.1.4 和 SOFAArk 0.6.0 版本;目前 SOFABoot 已经发布到 3.3.x+ ,SOFAARK 1.1.1 版本,其中 ,SOFAARK 提供了很多新的特性,包括全生命周期的事件机制、卸载优化等。

阅读更多

ARK 插件基本规则及注意事项

SOFAARK 是一个轻量级的类隔离框架,其有两个基本的能力:解决依赖包冲突和多应用(模块)合并部署。本篇将从解决依赖角度来说明下 SOFARK 插件的基本使用规则。

下图是官方文档中提供的用于描述依赖包冲突的一个场景:

阅读更多