VidaGeek.net

Linux, Open-source, Programação e Produtividade

Archive for April, 2008

INC - Pequeno + Pequeno == Grande?

Continuando meu passeio pelas entranhas do Java, mais uma surpresa.

O que você acha que acontece com o seguinte código?


public class Teste {
	public static void main(String []args){
		byte a = 2;
		byte b = 3;
		byte c = a + b;
	}
}

Não compila. Você troca byte por short. Também não compila. Troca por char e ainda não compila.

Isso acontece porque a VM considera que a probabilidade de você estourar o tamanho de um tipo pequeno quando faz alguma operação com ele é muito grande. Pensem. Se você colocar 64 em dois byte e somá-los, você já terá estourado. Até que faz um pouco de sentido, né?

Mas e nesse caso em que o código compila?


public class Teste {
	public static void main(String []args){
		byte a = 2;
		a += 100;
	}
}

Aparentemente somar 100 a VM deixa, mas e agora:


public class Teste {
	public static void main(String []args){
		byte a = 2;
		a = a + 1;
	}
}

Isso não compila. Dá erro porque a VM considera o 1 como int e um int nunca vai caber dentro de um byte. O outro caso funciona por algum motivo estranho… Você pode adicionar o quanto quiser com += que continua compilando, mesmo que estoure a variável. A única forma de forçar o terceiro exemploa a compilar é:


public class Teste {
	public static void main(String []args){
		byte a = 2;
		a = (byte)(a + 1);
	}
}

Isso compila porque você força o cast e assume toda a responsabilidade por qualquer erro que possa ocorrer. Mas o segundo exemplo é realmente perturbador….

Posts Relacionados:

  • Google SO: Haiku
  • Assistindo TV no Micro: Joost 0.9.2
  • Grafos no Orkut
  • Dia C - Estratégias de depuração (debug)
  • Organizando um projeto
  • Linux em Dispositivos Móveis
  • Dia C - Recursão
  • Acompanhe-nos por RSS, por Email ou via Twitter.

  • 3 Comments
  • Filed under: Dicas, Java, Programacao
  • Ficção Ciêntifica na Web

    Abdução
    Como muitos dos Geeks são adeptos de Sci-Fi, hoje tenho uma dica para nossos leitores. Trata-se do blog io9, que notícia muito bem esse gênero. Através do mesmo pude descobrir coisas incríveis como:

    • Uma máquina capaz de detectar se um café é bom ou não.
    • Arquivo X 2 - O Filme possivelmente não terá aliens.
    • A criação de um jogo de ficção científica chamado The Day.
    • 7 comic books grátis na web de Sci-Fi.

    Por estas e muitas outras informações, vale a pena dar uma olhada no io9.

    Foto original por Daze(d).

    Posts Relacionados:

  • 18 dicas para o Google Calendar
  • Falando em Java: Overview
  • Eleições via Internet?
  • Guia Linux - Parte VI: LAMP (Apache + MySQL + PHP)
  • Digam adeus ao mouse
  • Falando em Java: Interfaces ricas na Web com Ajax
  • Google para todos os gostos
  • Acompanhe-nos por RSS, por Email ou via Twitter.

  • 1 Comment
  • Filed under: Uncategorized
  • Aprendendo Bash

    Terminal
    O Bash (Bourne Again Shell) é, com certeza, o shell mais utilizado no mundo. Ele é utilizado por padrão em todas as distribuições linux que conheço e também no MacOSX. Portanto o domínio de sua linguagem e comandos é essencial para os programadores que não utilizam exclusivamente o ambiente Windows. Na verdade, com o cygwin é possível ter todo poder do bash e outras ferramentas GNU no Windows, aumentando muito a produtividade do desenvolvedor.

    (more…)

    Posts Relacionados:

  • Um pouco de Bash - Parte I
  • MacOSX Terminal e os Alias do Finder
  • Séries
  • Turbinando o Terminal
  • Meu Ubuntu fala!
  • Inclusão ou Exclusão Digital?
  • Dia C - Usando testes para o desenvolvimento
  • Acompanhe-nos por RSS, por Email ou via Twitter.

  • 5 Comments
  • Filed under: Gentoo, Linux, Ubuntu
  • RMS e Gil em frene à Microsoft

    Horas depois que fotógrafos obtiveram imagens de Gilberto Gil e Richard Stallman executando a “Free Software Song” em frente a um dos prédios do campus da Microsoft em Richmond, Washington, ontem à tarde, as bolsas pelo mundo vêm observando uma forte queda dos papéis da empresa.

    Alguns atribuem esse efeito à voz melodiosa de RMS. Outros dizem que muitos programadores e engenheiros ficaram emocionados com a exortação à liberdade que a música representa, e decidiram passar a evangelizar para a Free Software Foundation durante o seu horário de trabalho. Analistas dizem que isso diminuirá tremendamente a produtividade da Microsoft.

    Por outro lado, ações da Red Hat, SuSE GmbH e Mandriva têm desempenhado bem hoje nos mercados japonês, francês e alemão. Continuaremos observando as tendências das bolsas ao redor do mundo. Podemos voltar a qualquer momento com notícias da Bovespa e da Nasdaq, e se você quiser contribuir para a fiança de Stallman, pode fazê-lo pela página de doações da FSF.

    Posts Relacionados:

  • Camiseta do Stallman
  • Show Us The Code, Mr. Ballmer!!!
  • Microsoft e reconhecimento de voz
  • Bad Bad Vista, no donut for you…
  • Propaganda do Windows Live
  • E quando nossos heróis tombarem?
  • Cuba Libre
  • Acompanhe-nos por RSS, por Email ou via Twitter.

  • 2 Comments
  • Filed under: Humor, Linux, OpenSource

  • Publicidade