Sobrecarga de método na JVM



Sobrecarga de método na JVM


  class Calculator {
        public static void essential(String… args) {
               // This technique invocation won't compile
               // Sure, 1 may very well be float however the JVM creates it as double
               calculate(1.0);
        } 

        void calculate(float quantity) {}  
  }

Outro erro comum é pensar que o Double ou qualquer outro tipo de wrapper seria mais adequado ao método que está recebendo um double. Na verdade, é preciso menos esforço para a JVM alargar o Double invólucro para um Object em vez de desembalar para um double tipo primitivo.

Para resumir, quando usado diretamente no código Java, 1 será int e 1.0 será double. A ampliação é o caminho mais lento para a execução, o boxing ou unboxing vem em seguida, e a última operação será sempre varargs.

O que lembrar sobre sobrecarga

Sobrecarga é uma técnica muito poderosa para cenários onde você precisa do mesmo nome de método com parâmetros diferentes. É uma técnica útil porque ter o nome certo no seu código faz uma grande diferença para legibilidade. Em vez de duplicar o método e adicionar desordem ao seu código, você pode simplesmente sobrecarregá-lo. Fazer isso mantém seu código limpo e fácil de ler, e reduz o risco de que métodos duplicados quebrem alguma parte do sistema.

O que ter em mente:Ao sobrecarregar um método, a JVM fará o menor esforço possível; esta é a ordem do caminho mais lento para a execução:

  • Primeiro é a ampliação
  • O segundo é o boxe
  • O terceiro é Varargs

O que observar:Situações complicadas surgirão ao declarar um número diretamente: 1 será int e 1.0 será double.

Lembre-se também de que você pode declarar esses tipos explicitamente usando a sintaxe de 1F ou 1f para um float ou 1D ou 1d para um double.

Isso conclui nossa introdução ao papel da JVM na sobrecarga de métodos. É importante perceber que a JVM é inerentemente preguiçosa e sempre seguirá o caminho mais preguiçoso para a execução.

Desafio de vídeo! Sobrecarga de método de depuração

Depurar é uma das maneiras mais fáceis de absorver completamente os conceitos de programação e, ao mesmo tempo, melhorar seu código. Neste vídeo, você pode acompanhar enquanto eu depuro e explico o desafio de sobrecarga de método:

Saiba mais sobre Java

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *