O carregamento das classes na máquina virtual é sobre demanda. Não há como a máquina virtual carregar todas as classes, pois em java não há o conceito de programa.
 
abraços
 
Jorge
 
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: sexta-feira, 30 de março de 2001 09:34
To: [EMAIL PROTECTED]
Subject: Re: [java-list] pra que ser simples se pode complicar??????

Alguém sabe em que ponto da execução de um programa uma classe é carregada pela JVM? Todas as classes são carregadas num mesmo momento, ou somente quando há necessidade de uso da mesma dentro do programa?

 

Arivaldo
@
28/03/2001 14:07 NST
Favor responder a java-list

Para:[EMAIL PROTECTED]
cc:
cco:
Assunto:Re: [java-list] pra que ser simples se pode complicar??????


> Então que dizer que o método da classe abaixo só o próprio módulo pode ter
> accesso?

  Nao , esta havendo uma confusão aqui. O modificador Public permite
que TODOS acessem o metodo getNumber (que por sinal esta errado, pois
nao se pode acessar uma variavel nao estatica de dentro de um metodo
estatico).
  Veja a classe Toolkit por exemplo. Dentro da classe ha um metodo
chamado getDefaultToolkit() estatico e publico que pode ser chamado de
qualquer modulo.
  Para que getNumber nao possa ser executado de fora do modulo, retire
o modificador public.
  Quanto a carga da classe na memoria: Tomar cuidado com o deadLock. Se
na declaracao das classes voce tiver variaveis estaticas que se
referenciam, as vezes ocorrerao erros no "classLoading", pois a JVM nao
vai  conseguir determinar qual classe sera carregada primeiro. exemplo

class Um {
 public static Tres tres = Dois.tres;
}

class Dois {
  public static Tres tres = Um.tres;
}

uma dessas duas variaveis tres contera nulo, ou uma exceção vai ser "jogada".

Um abraço, Alexandre Torres

>
> public class MyClass {
>     public int any = 10;
>
>     public static int getNumber(){
>         return any;
>     }
> }
>
> Outra quando eu chamo o método com uma keyword static a classes já está em
> memória???,???
>
> Abraços!!!
>
> ----- Original Message -----
> From: Carlos Alberto Viana Correia - SAO <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, March 28, 2001 9:14 AM
> Subject: RES: [java-list] pra que ser simples se pode complicar??????
>
>
> O BOL é Top3 no iBest! Vote já para torná-lo Top1!
> http://www.bol.com.br/ibest.html
>
>
> static é mais que isso. É um modificador de tipo que torna a variavel
> visivel apenas no modulo no é declarado e permanece com seu estado durante
> todo o seu ciclo de vida.
>
> -----Mensagem original-----
> De: Roger [mailto:[EMAIL PROTECTED]]
> Enviada em: terça-feira, 27 de março de 2001 19:30
> Para: [EMAIL PROTECTED]
> Assunto: Re: [java-list] pra que ser simples se pode complicar??????
>
>
> a analise correta da palavra static eh:
>
> qdo o atributo ou metodo for da CLASSE e nao da INSTANCIA, ele eh estatico.
> ThatsAll...
>
>
> -----Mensagem Original-----
> De: Jorge Martins <[EMAIL PROTECTED]>
> Para: <[EMAIL PROTECTED]>
> Enviada em: Terça-feira, 27 de Março de 2001 18:25
> Assunto: RE: [java-list] pra que ser simples se pode complicar??????
>
>
> Paulo,
>
> Preste atenção, já que o main é um método estático (static) ou seja,
> um método da sua classe e não do seu objeto. Quando ele está sendo
> executado, não há um objeto instanciado, apenas a classe está carregada.
>
> Logo, crie um objeto da própria classe no main e chame os métodos
> normalmente. Exemplo (supondo que sua classe se chama Application):
>
> public static void main(String args[])
> {
> Application obj = new Application();
>
> obj.valCad(args[0]);
> }
>
> Talvez esse seu método valCad deva ser declarado static também. Não
> sei, depende do contexto.
>
>   Pude perceber pelo seu estilo de programação e pelo erro que você
> informou, que você não tem muito controle de programação orientada a
> objetos. Estude bastante os conceitos de OO e também modelagem. Programar em
> java sem esses conhecimentos é uma experiência muito desagradável. Depois de
> saber OO, programar em java é a melhor coisa do mundo.
>
> abraços
>
> Jorge
>
> -----Original Message-----
> From: paulo henrique castro [mailto:[EMAIL PROTECTED]]
> Sent: terça-feira, 27 de março de 2001 17:10
> To: [EMAIL PROTECTED]
> Subject: [java-list] pra que ser simples se pode complicar??????
>
>
> Caros,
>
> estou com uma pequena duvida de iniciante:
>
> tenho uma aplicacao em Java que recebe um argumento na linha de
> comando. (public static void main(String args[]) :PP )
> Quero trabalhar com esse argumento por toda a minha classe, porem
> nao consigo de jeito nenhum!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> Se tento passa-lo como argumento pra um outro metodo, recebo a
> msg de erro:  valCad(arg[0]);
>
> [14:1] Can't make static reference to method public boolean valCad(String)
> in
> class bah.
>          if(valCad(args[0]))
>             ^
> 1 error
>
> Se tento associar o valor a uma variavel de instancia, para que
> eu possa usa-la por toda a classe sempre que necessario, recebo a msg
> de erro: sCadastro = args[0];
>
> [14:1] Can't make a static reference to nonstatic variable sCadastro in
> class bah.
>          sCadastro = args[0];
>          ^
> 1 error
>
> Como raios eu consigo trabalhar com esse valor????????????????????
>
> Obrigado desde ja!!
>
> PH
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>
>
>


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------




------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------

Responder a