>etant donn�e que ta variable est statique elle est bien unique au sein
>de la VM, donc quelle autre reference tu voulais obtenir ?

C'est la qu'est l'erreur, pas au sein de la JVM, mais bien au sein du meme
classloader  --> En fait
c'est un peu plus compliqu� que cela, mais ...

C'est pratiquement jamais le system class loader qui charge une classe dans
un web continer mais un autre classloader gerer par le webcontainer.


Voici un Example ... Avec sources ...

public class TestStatic implements ITest
{
  static
  {
    System.err.println("Static Init on " + TestStatic.class );
  }
  static Object singelton = new Object();
  static int c = 0;
  public int getCount()
  {
    c++;
    return c;
  }

  public Object getSingelton()
  {
    return singelton;
  }
}

Chez moi

        System.err.println("GetCount on 1 " + obj1.getCount() );
        System.err.println("GetCount on 1 " + obj1.getCount() );
        System.err.println("GetCount on 2 " + obj2.getCount() );
        System.err.println("GetCount on 2 " + obj1.getCount() );
        System.err.println("getSingelton on 1 " + obj1.getSingelton() );
        System.err.println("getSingelton on 2 " + obj2.getSingelton() );

Donne

Static Init on class TestStatic
Static Init on class TestStatic
GetCount on 1 1
GetCount on 1 2
GetCount on 2 1
GetCount on 2 3
getSingelton on 1 [EMAIL PROTECTED]
getSingelton on 2 [EMAIL PROTECTED]


Et oui, deux static init -> des object singleton different et des champs
static qui ne sont pas les m�mes !!

L'example complet est en attachement --> pour le demarer decompresser et
puis

> java.exe -cp . Test

En fait pour faire simple
les champs static de TestStatic sont identiques si TestStatic .class ==
TestStatic .class dans les deux contextes d'appel diff�rents !!!!


Hope this help !
Dominique

(See attached file: STATIC~1.ZIP)



|---------+---------------------------->
|         |           jerome moliere   |
|         |           <[EMAIL PROTECTED]|
|         |           et>              |
|         |                            |
|         |           05/06/2003 14:10 |
|         |           Please respond to|
|         |           java             |
|         |                            |
|---------+---------------------------->
  
>------------------------------------------------------------------------------------------------------------------------------|
  |                                                                                    
                                          |
  |       To:       [EMAIL PROTECTED]                                                  
                                          |
  |       cc:       (bcc: Dominique Gallot/BRU/MASTERCARD)                             
                                          |
  |       Subject:  Re: RE : Pbm acces attribut static d'une servlet                   
                                          |
  
>------------------------------------------------------------------------------------------------------------------------------|




Laurent For�t wrote:

>Plus simple :
>
>public class SuperClass {
>  public static Object staticMember = new Object();
>}
>public class Daughter1 extends SuperClass {}
>public class Daughter2 extends SuperClass {}
>
>public class MainClass {
>  public static void main(String[] args) {
>    Daughter1 daughter1 = new Daughter1();
>    Daughter2 daughter2 = new Daughter2();
>    System.out.println("daughter1.staticMember"+daughter1.staticMember);
>    System.out.println("daughter2.staticMember"+daughter2.staticMember);
>  }
>}
>
>a pour trace :
>[EMAIL PROTECTED]
>[EMAIL PROTECTED]
>
>
et alors ?
etant donn�e que ta variable est statique elle est bien unique au sein
de la VM, donc quelle autre reference tu voulais obtenir ?
Jerome





**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************

Attachment: STATIC~1.ZIP
Description: Zip archive

Répondre à