这个东西目前看主要是mapreduce的framework会用,所以暴露了比较多的内部方法,你可以看一下TableRecordReaderImpl的updateCounters方法
理论上说,直接返回AtomicLong肯定是不好的,因为没法控制用户到底怎么操作,但修改一个IA.Public的类总是比较麻烦的,因为很有可能已经有用户在以这种方式使用了。。。 韩聪聪 <whodarewin2...@126.com> 于2020年5月14日周四 下午1:57写道: > hi,all > > hbase-client内部有一个类,ServerSideScanMetrics,用以记录客户端和服务器端的统计数据,这个类对外暴露的使用方式有两种 > 1. 通过public属性直接获得AtomicLong对象。 > 2. 通过addToCounter方法进行使用。 > 在我的理解中,这个类可以使用2对外暴露使用方式,而没必要使用1,问题是 > 1.为何要设计通过public属性进行访问的方式呢?是因为性能问题吗?(比如直接通过属性访问对象比从map中拿出来更快?) > 2. 是否可以收缩这个类的使用方式,只提供addToCounter等方法访问,并将记录统计数据的AtomicLong以Map的形式管理起来? > >