I agree. The static variable sm_instance would be GC'd during the lifetime of the class only if it is explicitly null assigned.

--
Radz

Bill Littman wrote:
Devashish-


I may have misunderstood what you are saying, but the private static

LogManager object is not being Garbage Collected. There is a reference

to it throughout the life of your program, so it will never be GC'ed.



Hope this helps.



-Bill Littman





-----Original Message-----

From: devashish bajpai [mailto:[EMAIL PROTECTED]] 

Sent: Thursday, March 18, 2004 7:06 AM

To: Bill Littman

Cc: [EMAIL PROTECTED]

Subject: Re: RE: (no subject)





i dont think that the problem is only of synchronisation . The problem

is with Garbage Collection that collects the object as i use the

SingeTon object without reference(see at the bottom how i m using it ) .

thus Garbage Collection is taking place ...what can i do to keep the

code of my project unchanged  ..

Devashish Bajpai



On Thu, 18 Mar 2004 Bill Littman wrote :

  
Or you could do this:
    

  

  
static private LogManager sm_instance = new LogManager( System.out );
    

  
static public LogManager getInstance()
    

  
{
    

  
   return sm_instance;
    

  
}
    

  

  

  
-Bill
    

  

  

  
-----Original Message-----
      

  
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of
      

Radz

  
Sent: Wednesday, March 17, 2004 6:50 AM
      

  
To: devashish bajpai
      

  
Cc: [EMAIL PROTECTED]
      

  
Subject: Re: (no subject)
      

  

  

  
Hi,
      

  

  
   You could make the getInstance method synchronized
      

  
which would of
      

  
course makes the execution of this block slower. Also
      

  
not sure if it
      

  
*actually* helps much but you could check out Double
      

  
checked locking
      

  
idiom too.
      

  

  
--
      

  
Radz
      

  

  
devashish bajpai wrote:
      

  

  
i have a proble i have made a class SingleTon .. i
        

  
use it in many places in my project .. but just have
      

  
relised that the calss is creating more intances
      

  
...the code is as following ....
      

  

  

  
public class LogManager
        

  
{
        

  
   private java.io.PrintStream m_out;
        

  

  
   private LogManager( PrintStream out )
        

  
   {
        

  
       m_out = out;
        

  
   }
        

  

  
   public void log( String msg )
        

  
   {
        

  
       System.out.println( msg );
        

  
   }
        

  
   static private LogManager sm_instance;
        

  
   static public LogManager getInstance()
        

  
   {
        

  
       if ( sm_instance == null )
        

  
           sm_instance = new LogManager( System.out
        

  
);
      

  
       return sm_instance;
        

  
   }
        

  
}
        

  

  
and using it like this ...
        

  

  
LogManager.getInstance().log( "some message" );
        

  

  

  
what sud i do ??
        

  

  

  

  

  
__________________________________
      

  
Do you Yahoo!?
      

  
Yahoo! Mail - More reliable, more storage, less spam
      

  
http://mail.yahoo.com
      

  
_______________________________________________
      

  
Swing mailing list
      

  
[EMAIL PROTECTED]
      

  
http://eos.dk/mailman/listinfo/swing
      

  







 

_______________________________________________

Swing mailing list

[EMAIL PROTECTED]

http://eos.dk/mailman/listinfo/swing

  
--------------030405040701090006040708--

Do you Yahoo!?
Yahoo! Mail - More reliable, more storage, less spam

Reply via email to