Topp 10 dialy feil i Java av John C.

Java opprettet en ny måte programmering. Dessuten har den en svak læringskurve og ser ut til å lykkes med å overholde sin egen moto - "Skriv en gang, kjøre overalt

", som er nesten alltid sant; Java men problemene er fortsatt til stede. Jeg skal ta opp ti Java problemer som jeg mener er de mest vanlige feilene

Vanlige feil # 1:. Forsømmes Eksisterende biblioteker

Det er definitivt en feil for Java-utviklere å ignorere utallig mengde biblioteker skrevet i Java. Før gjenoppfinne hjulet, kan du prøve å søke etter tilgjengelige bibliotek -. Mange av dem har blitt polert gjennom årene av sin eksistens og er gratis å bruke

Disse kan bli logging biblioteker, som logback og Log4j eller nettverk relatert biblioteker, som Netty eller Akka. Noen av biblioteker, for eksempel Joda-Time, har blitt en de facto standard

Vanlige feil # 2:. Mangler den "pause" Keyword i en Switch-sak Block

Disse Java problemene kan være svært pinlig, og noen ganger forblir uoppdaget inntil ballen produksjon. Fallthrough atferd i bryter uttalelser er ofte nyttig; men mangler en " bryte

" søkeord når slik oppførsel ikke er ønskelig kan føre til katastrofale resultater.

Hvis du har glemt å sette en "pause" i "case 0" i kode eksempelet nedenfor, vil programmet skrive "Zero" etterfulgt av "One", ettersom kontrollflyt inne her vil gå gjennom hele "bryteren" statement til den når en "pause" For eksempel:.

public static ugyldig switchCasePrimer () { int caseIndex = 0; switch (caseIndex) { case 0: System.out.println ("Zero"); case 1: System.out.println ("One"); bryte; case 2: System.out.println ("Two"); bryte; standard: System.out.println ("Default"); }} I de fleste tilfeller, renere løsning ville være å bruke polymorfisme og flytte kode med spesiell oppførsel i egne klasser. Java feil som dette kan oppdages ved hjelp av statisk kodeanalyse

Vanlige feil # 3:. Glemme å frigjøre ressurser

Hver gang et program åpner en fil eller en nettverkstilkobling, er det viktig for Java nybegynnere til frigjøre ressurs når du er ferdig med å bruke den. Lignende forsiktighet bør utvises hvis noen unntak var å bli kastet under operasjoner på slike ressurser

Man kan argumentere for at Fileinputstream har en Finalizer som påkaller close () metoden på en søppelrydding hendelse.; men siden vi ikke kan være sikker på at når en søppelrydding syklus vil starte, input stream kan oppta systemressurser for en ubestemt periode time.In faktum, det er en veldig nyttig og ryddig uttalelse introdusert i Java 7 spesielt for denne saken , kalt try-med-ressurser: private static void printFileJava7 () kaster IOException { prøve (Fileinputstream inn = new Fileinputstream ("fil.txt")) { int data = input.read (); while (data = -1) { System.out.print ((char) data); data = input.read (); } }} Dette utsagnet kan brukes med ethvert objekt som implementerer AutoClosable grensesnittet. Det sikrer at hver ressurs er stengt i slutten av setningen

Les hele artikkelen >. > Klikk her