Resolvido - Import desnecessário consome recursos?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
venomtotal
Java Ninja
[Avatar]

Membro desde: 24/04/2006 00:09:57
Mensagens: 298
Offline

Bora lá, a situação seria:

Tenho uma classe A e faço a declaração do import de uma outra classe B.

Mas NÃO UTILIZO B em parte alguma do codigo.

Haverá perda de performance ou algo do tipo?

Esta dúvida também surge quando uso *

Ex: import utilidades.*;
Mas não utilizo todas as classes contidas no pacote.

This message was edited 2 times. Last update was at 14/06/2008 17:46:01

leopoldof
GUJ Master

Membro desde: 07/03/2008 07:40:45
Mensagens: 1012
Offline

Pergunta interessante... também tenho essa dúvida...
alucardeck
GUJ Master
[Avatar]

Membro desde: 23/01/2007 00:49:50
Mensagens: 1023
Localização: Santos-SP
Offline

idem !

The road to hell is full of good intentions
Say farewell, we may never meet again

jChat Malandrinho --> http://www.guj.com.br/posts/list/100549.java
Linkedin --> http://br.linkedin.com/pub/diogo-facin/26/436/113
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Imports nao vao parar no bytecode (eles so servem pro javac achar as classes e checar que os metodos tao la).

Nao consomem recursos a mais.

Mas da vontade de arrebentar a boca de quem nao sabe dar 'Organize Imports' no Eclipse e entope o projeto de warnings.
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
khaoz
JavaGuru
[Avatar]

Membro desde: 14/08/2006 08:49:50
Mensagens: 224
Localização: São Paulo/SP
Offline

A princípio não pois o import não "carrega" nada. Não é como o require/include do php.
Se der uma catada no fórum você encontra várias referências e expliações para isso

Twitter
Como elaborar uma pergunta

Oracle AIA 11g Certified Implementation Specialist
Service-Oriented Architecture 11g Implementation Specialist
[WWW]
Adolfo Rodrigues
Java Ninja
[Avatar]

Membro desde: 18/04/2007 20:02:52
Mensagens: 270
Localização: Sampa
Offline

cv wrote:
Mas da vontade de arrebentar a boca de quem nao sabe dar 'Organize Imports' no Eclipse e entope o projeto de warnings.

++
Dá muita raiva mesmo. É tão fácil selecionar o seu projeto e dar um ctrl+shift+O. Não precisa nem ser classe a classe, selecionando o projeto ele faz em tudo. Não dá pra entender...

http://www.adolfosousa.com.br/blog
[WWW] [MSN]
FilhoDoRei
JavaTeenager
[Avatar]

Membro desde: 13/03/2008 19:52:45
Mensagens: 199
Localização: Taguatinga
Offline

Amigos a JVM na hora em que vc faz o import java.util.*;(por exemplo) ela traz todas as classes que vc esta utilizando no seu programa e cria o ponto classe somente com essas classes.

Aconselho vcs a fazer um simples teste: procurem algum descompilador java bom e façam o teste depois posta aqui o resultado.

flws

"Sei que voce não entende
A profundidade do Meu amor
Como morri na cruz pelos teus pecados
E sei que você não compreende
O quanto te dei
Mas prometo, faria tudo isso novamente".


[WWW] [Yahoo!] aim icon [MSN] [ICQ]
alucardeck
GUJ Master
[Avatar]

Membro desde: 23/01/2007 00:49:50
Mensagens: 1023
Localização: Santos-SP
Offline

daki a poko tem gente usando

The road to hell is full of good intentions
Say farewell, we may never meet again

jChat Malandrinho --> http://www.guj.com.br/posts/list/100549.java
Linkedin --> http://br.linkedin.com/pub/diogo-facin/26/436/113
Daniel.F
GUJ Ranger

Membro desde: 29/03/2007 18:30:39
Mensagens: 909
Offline

Gostei do
import java.*;


[Email]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

"import java.*" não faz o que você quer fazer. Na verdade não faz nada, já que não existe nenhuma classe no JDK cujo pacote seja só "java.".

De qualquer maneira, não custa nada teclar Ctrl+Shift+O (Organize Imports) no Eclipse; ele deixa tudo arrumadinho e de quebra você descobre que está importando uma coisa que não deve importar (uma com.sun.alguma coisa que não vai funcionar).
[WWW]
alucardeck
GUJ Master
[Avatar]

Membro desde: 23/01/2007 00:49:50
Mensagens: 1023
Localização: Santos-SP
Offline

eu sei disso..

to generalizando.. imaginando q se fosse possivel o cara ia dar um "import all"

The road to hell is full of good intentions
Say farewell, we may never meet again

jChat Malandrinho --> http://www.guj.com.br/posts/list/100549.java
Linkedin --> http://br.linkedin.com/pub/diogo-facin/26/436/113
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

venomtotal wrote:Bora lá, a situação seria:

Tenho uma classe A e faço a declaração do import de uma outra classe B.

Mas NÃO UTILIZO B em parte alguma do codigo.

Haverá perda de performance ou algo do tipo?


Não ha problemas de performance já que é apenas açucar sintático para facilitar a vida dos humanos. O .class não tem isso.

O objetivo do import (embora o nome possa enganar) é diminuir a necessiade de incluir os nomes completos das classes que deveria ser o padrão. Com o import isso só é necessário quando à colisão de nomes, o que é bem raro.

Ou seja, o import é apenas uma forma de escrever os nomes das classes de forma mais curta e não interfere em anda com o funcionamento no runtime.

Em C# o nome do import é "using" que dá mais a ideia do que realmente está sendo feito.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
venomtotal
Java Ninja
[Avatar]

Membro desde: 24/04/2006 00:09:57
Mensagens: 298
Offline

Agradeço a ajuda de todos em me tirar esta antiga dúvida
sergiotaborda wrote:
O objetivo do import (embora o nome possa enganar) é diminuir a necessiade de incluir os nomes completos das classes que deveria ser o padrão. Com o import isso só é necessário quando à colisão de nomes, o que é bem raro.

Ou seja, o import é apenas uma forma de escrever os nomes das classes de forma mais curta e não interfere em anda com o funcionamento no runtime.

Em C# o nome do import é "using" que dá mais a ideia do que realmente está sendo feito.


Realmente, o nome engana, "importar", por isto surgiu a minha duvida. E a gente percebe mesmo sua irmportância quando temos ocasiões de duas classes diferentes, mas com o mesmo nome, como é o caso da classe Date, já que pode ser a java.util.Date ou java.sql.Date, por exemplo.

Falow
arec_metafora
JavaBaby
[Avatar]

Membro desde: 14/01/2008 08:51:10
Mensagens: 82
Offline



Realmente, o nome engana, "importar", por isto surgiu a minha duvida. E a gente percebe mesmo sua irmportância quando temos ocasiões de duas classes diferentes, mas com o mesmo nome, como é o caso da classe Date, já que pode ser a java.util.Date ou java.sql.Date, por exemplo.

Falow


Verdade ein! O importar serve apenas para para distinguir uma classe da outra. O java tem o Date do util e do sql. E se eu quiser fazer o meu próprio Date.java? Aí o import decide qual classe usar!
O negócio do import java.* daria um monte de pau pq existem muitas classes com mesmo nome!
[Email] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team