Garbage collection of class instance variables in ruby -


if use method like

 def self.get_service_client    return @service_client if !@service_client.nil?    @service_client = #initialize logic  end 

now @service_client instance variable of class. how long in memory? can bank on not re-initialized long class in memory (i.e static variable)?

classes instances in ruby, too, when define class usual way, gets assigned constant, , constant referenced other constants, preventing collection. so, class in memory indefinitely. since class remain in memory, class instance variable too, class (which object instance) retains reference instance variables.

as aside, idiomatic way is:

def self.get_service_client   @service_client ||= initialize_service_client end 

Comments

Popular posts from this blog

javascript - Count length of each class -

What design pattern is this code in Javascript? -

hadoop - Restrict secondarynamenode to be installed and run on any other node in the cluster -