这个东西目前看主要是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的形式管理起来?
>
>

Reply via email to