Quando usamos asterisco no comando import ...  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
vitor lima
JavaBaby
[Avatar]

Membro desde: 14/04/2009 09:16:59
Mensagens: 92
Offline

Estava discutindo com alguns colegas quando alguns deles me disseram que usar um asterisco em um import deixa seu programa pesado.

Por exemplo:

import java.io.*;

Eles estavam argumentando que você estará importando tudo o que está no acote io (o que é verdade) e que isto pode sobrecarregar a classe.


Mas a veu ver, o compilador deve dar um jeito nisso facilmente.
Já que basta para ele, na fase de pré-compilamento, mudar o nome das classes usadas pelo nome completo delas, podendo assim eliminar as importações...


Como eu não tinha nenhuma referência bibliografica, preferi não insistir muito na minha opinião.


Por isso, agora estou vindo aqui pedir a opinião de vocês sobre isso.


Abraço.

This message was edited 1 time. Last update was at 02/03/2010 11:22:04

Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5847
Localização: São Paulo/SP
Offline

Realmente o compilador substitui o nome das classes pelo correto

e em bytecode fica normalmente tipo

Ljava/io/File(Nao lembro se é exatamente assim mas é parecido) em todo ocorrencia de File

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
lauronolasco
JavaEvangelist
[Avatar]

Membro desde: 30/11/2007 19:19:59
Mensagens: 409
Localização: Vitória da Conquista - BA
Offline

tambem nao tenho referencia bibliografica...

mas acredito que não faça diferença de desempenho... imagine se vc declara os jars que fazem parte do seu classpath no MANIFEST...
declarar que faz parte do classpath não quer dizer necessariamente que vai ser usado..

mas é só uma opnião...

use o profile do jdk pra averiguar...

"Conhecimento nunca é demais!"
[Email] [MSN]
Luiz Aguiar
Moderador
[Avatar]

Membro desde: 23/01/2005 00:05:55
Mensagens: 3840
Localização: São Paulo
Offline

É mais uma boa prática, se vc importar mais de 4 classes do mesmo pacote, ai ai invés de ter um monte de linha de import vc usa o * .

[]s

-
Blog de Tecnologia
GitHub
@AguiarLuiz
Recicla SP na App Store!




[WWW] [MSN] [ICQ]
vitor lima
JavaBaby
[Avatar]

Membro desde: 14/04/2009 09:16:59
Mensagens: 92
Offline

O que eu penso é que o compilador faz algo como transformar um código como





em



antes de compilar.

Afinal, dá-se tanta importância aos compiladores, muitos dos que eu já estudei verificam até as suas expressões booleanas na fase de pré-compilamento, se o compilador Java não conseguir fazer essa simples substituição ...

rodpuc
Java Ninja
[Avatar]

Membro desde: 17/08/2006 14:55:20
Mensagens: 299
Offline

Quando vc usa o * o compilador não importa tudo q vc precisa, mas apenas oq vc usa, e isso de maneira alguma vai deixar o seu programa mais pesado.
Ainda assim o recomendado é colocar o nome completo de cada classe utilizada.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team