{"id":3004,"date":"2022-07-08T11:25:57","date_gmt":"2022-07-08T11:25:57","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/9-mistakes-to-avoid-while-programming-in-java\/"},"modified":"2026-03-09T13:13:14","modified_gmt":"2026-03-09T13:13:14","slug":"9-viga-mida-java-programmeerimisel-valtida","status":"publish","type":"post","link":"https:\/\/thecodest.co\/et\/blog\/9-mistakes-to-avoid-while-programming-in-java\/","title":{"rendered":"9 viga, mida v\u00e4ltida Java programmeerimisel"},"content":{"rendered":"<p><strong><a href=\"https:\/\/thecodest.co\/et\/blog\/top-programming-languages-to-build-e-commerce\/\">Java<\/a><\/strong> on populaarne keel, millel on v\u00e4ljakujunenud positsioon maailma <strong><a href=\"https:\/\/thecodest.co\/et\/blog\/8-key-questions-to-ask-your-software-development-outsourcing-partner\/\">tarkvaraarendus<\/a><\/strong>. See on tugev ja mitmek\u00fclgne programmeerimiskeel. Ligikaudu 3 miljardit seadet maailmas t\u00f6\u00f6tavad <strong>Java<\/strong> ja seet\u00f5ttu tehti selle kasutamisel v\u00e4hemalt 3 miljardit viga. Selles artiklis keskendume sellele, kuidas mitte enam \u00fchtegi teha.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Samaaegse muutmise erandi saamine<\/h2>\n\n\n\n<p>See on kaugelt k\u00f5ige levinum viga, millega ma kokku puutusin. Oma karj\u00e4\u00e4ri algusaegadel tegin ka mina seda mitu korda. See viga tekib siis, kui te \u00fcritate kollektsiooni muuta, kui te seda l\u00e4bi itereerite. . <code>ConcurrentModificationException<\/code> v\u00f5ib tekkida ka siis, kui t\u00f6\u00f6tate mitme niidiga, kuid keskendume praegu p\u00f5histsenaariumile.<\/p>\n\n\n\n<p>Oletame, et teil on <code>Kollektsioon<\/code> kasutajatest, kellest osa on t\u00e4iskasvanud ja osa mitte. Teie \u00fclesanne on filtreerida v\u00e4lja lapsed.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"java\" class=\"language-java\">for (User : users) {\n\n   if (!user.isAdult()) {\n\n       users.remove(user);\n\n   }\n\n}\n<\/code><\/pre>\n\n\n\n<p>Eespool nimetatud programmi k\u00e4ivitamine <a href=\"https:\/\/thecodest.co\/et\/dictionary\/what-is-code-refactoring\/\">kood<\/a> l\u00f5peb saamisega <code>ConcurrentModificationException<\/code>. Kus me l\u00e4ksime valesti? Enne iteratsiooni l\u00f5petamist proovisime eemaldada m\u00f5ned elemendid. See ongi see, mis tekitab erandi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<p>Sellisel juhul v\u00f5ib abi olla mitmest l\u00e4henemisviisist. K\u00f5igepealt kasutage \u00e4ra <strong>Java<\/strong> 8 headus - <code>Stream<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"java\" class=\"language-java\">List adults = users.stream()\n\n       .filter(User::isAdult)\n\n       .toList();\n<\/code><\/pre>\n\n\n\n<p>Kasutades <code>Predikaat<\/code> filtri abil oleme teinud eelmise tingimuse p\u00f6\u00f6rdv\u00f5rdluse - n\u00fc\u00fcd m\u00e4\u00e4rame elemendid, mida lisada. Sellise l\u00e4henemise eelis on see, et p\u00e4rast eemaldamist on lihtne ahelata teisi funktsioone, nt. <code>kaart<\/code>. Aga jumala p\u00e4rast. palun \u00e4rge p\u00fc\u00fcdke teha midagi sellist nagu allpool:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"java\" class=\"language-java\">users.stream()\n\n       .filter(v -&gt; !v.isAdult())\n\n       .forEach(users::remove);\n<\/code><\/pre>\n\n\n\n<p>Samuti v\u00f5ib see sattuda <code>ConcurrentModificationException<\/code> sest te muudate voo allikat. Samuti v\u00f5ib see anda teile rohkem erandeid, mida ei ole lihtne k\u00f5rvaldada.<\/p>\n\n\n\n<p>Lahendada <code>ConcurrentModificationException<\/code> \u00fche niidi stsenaariumis. te v\u00f5ite ka minna \u00fcle otse kasutamisele <code>Iteraator<\/code> ja selle <code>remove()<\/code> meetodi abil v\u00f5i siis lihtsalt ei eemalda elemente iteratsiooni ajal. Minu soovitus on siiski kasutada <code>Voolud<\/code> - see on 2022.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Paroolide salvestamine stringidena<\/h2>\n\n\n\n<p>Kuna ma tegelen \u00fcha enam k\u00fcberturvalisusega, ei oleks ma enda vastu t\u00f5ene, kui ma ei mainiks v\u00e4hemalt \u00fchte <strong>Java viga<\/strong> mis v\u00f5ib viia turvaprobleemini. Kasutajatelt saadud paroolide salvestamine <code>String<\/code> objekt on just see, mida te peaksite kartma.<\/p>\n\n\n\n<p>K\u00fcsimus (v\u00f5i v\u00f5ib-olla eelis) <code>String<\/code> on see, et see on muutumatu. K\u00fcberseedis loob see potentsiaalse ohu, kuna te ei saa kustutada kord loodud v\u00e4\u00e4rtust. <code>String<\/code> objekt. R\u00fcndaja, kes saab juurdep\u00e4\u00e4su teie arvuti m\u00e4lule, v\u00f5ib sealt leida lihtsa tekstiga paroole.<\/p>\n\n\n\n<p>Teiseks, stringid <strong>Java<\/strong> on JVM-i poolt interneeritud ja salvestatud PermGen ruumi v\u00f5i kuhja ruumi. Kui te loote <code>String<\/code> objekt, siis see salvestatakse vahem\u00e4llu ja see eemaldatakse alles siis, kui pr\u00fcgikoristaja hakkab oma t\u00f6\u00f6d tegema. Te ei saa olla kindel, millal teie parool String-poolsest kustutatakse, kuna Garbage Collector t\u00f6\u00f6tab mittedeterministlikult.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas seda v\u00e4ltida?<\/h3>\n\n\n\n<p>Soovitatav l\u00e4henemisviis on kasutada <code>char[]<\/code> v\u00f5i veel parem, raamatukogu, mis toetab paroolide salvestamist kui <code>char[]<\/code>, nt.<a href=\"https:\/\/github.com\/Password4j\/password4j\">Password4j<\/a>. . <code>char[]<\/code> massiiv on muutuv ja seda saab p\u00e4rast initsialiseerimist muuta. P\u00e4rast salas\u00f5na t\u00f6\u00f6tlemist saab lihtsalt kustutada <code>char[]<\/code> salas\u00f5na massiivi, kirjutades sinna juhuslikke t\u00e4hti. Kui r\u00fcndajad saavad juurdep\u00e4\u00e4su arvuti m\u00e4lule, n\u00e4evad nad ainult juhuslikke v\u00e4\u00e4rtusi, millel ei ole midagi pistmist kasutajate paroolidega.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Erandite (mitte)k\u00e4sitlemine<\/h2>\n\n\n\n<p>Algajad ja ka edasij\u00f5udnud programmeerijad ei tea, kuidas erandeid \u00f5igesti k\u00e4sitleda. Nende peamine patt selles k\u00fcsimuses on lihtsalt nende ignoreerimine. SEE EI OLE KUNAGI HEA L\u00c4HENEMINE.<\/p>\n\n\n\n<p>Kahjuks ei saa me anda teile h\u00f5bedast lahendust, mis sobiks igasse <code>Erand<\/code>s\" stsenaarium, millega te kokku puutute. Te peate m\u00f5tlema igale juhtumile eraldi. Siiski saame teile anda m\u00f5ned n\u00f5uanded, kuidas selle teemaga alustada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p>Ignoreerimine <code>Erand<\/code>s ei ole kunagi hea tava. <code>Erand<\/code>s on mingil p\u00f5hjusel sisse visatud, nii et te ei tohiks neid ignoreerida.<\/p>\n<\/li>\n\n\n\n<li>\n<p><code>try {...} catch(Exception e) { log(e); }<\/code> on harva \u00f5ige l\u00e4henemine <code>Erand<\/code> k\u00e4itlemine.<\/p>\n<\/li>\n\n\n\n<li>\n<p>Rethrow <code>Erand<\/code>n\u00e4idata kasutajale veadialoogi v\u00f5i v\u00e4hemalt lisada logisse p\u00f5hjalik teade.<\/p>\n<\/li>\n\n\n\n<li>\n<p>Kui te j\u00e4tsite oma erandid k\u00e4sitlemata (mida te ei peaks tegema), siis selgitage v\u00e4hemalt kommentaaris.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">4. Kasutades null<\/h2>\n\n\n\n<p>Kahjuks on \u00fcsna tavaline, et Java funktsioon, mis m\u00f5nel juhul tagastab <code>null<\/code>. Probleem seisneb selles, et selline funktsioon sunnib oma klienti kontrollima tulemuse nulli. Ilma selleta on <code>NullPointerException<\/code> visatakse.<\/p>\n\n\n\n<p>Teine asi on l\u00e4bida <code>null<\/code> v\u00e4\u00e4rtus. Miks sa \u00fcldse selle peale m\u00f5tlesid? Sellisel juhul peab funktsioon teostama null-kontrolli. Kolmandate osapoolte raamatukogusid kasutades ei saa funktsioonide sisemust muuta. Mis siis?<\/p>\n\n\n\n<p>Veelgi olulisem on see, et teised arendajad, kes teie koodi loevad ja n\u00e4evad, et te l\u00e4bite <code>null<\/code> on t\u00f5en\u00e4oliselt segaduses, miks te valisite oma funktsiooni rakendamiseks sellise veidra viisi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<p>\u00c4rge tagastage <code>null<\/code> v\u00e4\u00e4rtus! Kunagi! Juhul, kui teie funktsioon tagastab mingi <code>Kollektsioon<\/code>, v\u00f5ite lihtsalt tagastada t\u00fchja <code>Kollektsioon<\/code>. Kui tegelete \u00fcksikute objektidega, saate kasutada null-objekti disainimustrit. Kuna <strong>Java<\/strong> 8, seda rakendatakse j\u00e4rgmiselt <code>Valikuline<\/code>. Muidu on k\u00f5ige v\u00e4hem soovitatav l\u00e4henemisviis, mis h\u00f5lmab t\u00f5stmist <code>Erand<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Raske stringide \u00fchendamine<\/h2>\n\n\n\n<p>Loodetavasti ei ole see viga, mida teete, sest see on k\u00f5ige populaarsem (v\u00f5i v\u00f5ib-olla teine k\u00f5ige populaarsem p\u00e4rast FizzBuzz'i) intervjuuk\u00fcsimus. Nagu te juba peaksite teadma, on <code>String<\/code> objekt on muutumatu <strong>Java<\/strong> - kui see on loodud, ei saa seda enam muuta. Nii et aheldamine <code>String<\/code> literaalide kasutamine t\u00e4hendab palju tarbetut m\u00e4lu eraldamist. Kontsateerimine <code>String<\/code> objektid n\u00f5uavad iga kord ajutise <code>StringBuilder<\/code> objekti ja muutes selle tagasi stringiks. Seet\u00f5ttu ei ole see lahendus absoluutselt sobiv, kui tahame kombineerida suurt arvu s\u00fcmboleid.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<p>Selle probleemi lahendamiseks kasutage <code>StringBuilder<\/code>. See loob muutuva objekti, mida saab kergesti manipuleerida. Loomulikult v\u00f5ite alati kasutada <code>StringBuffer<\/code> kui teie <a href=\"https:\/\/thecodest.co\/et\/dictionary\/why-do-projects-fail\/\">projekt<\/a> kasutatakse samaaegses kontekstis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Olemasolevate lahenduste mittekasutamine<\/h2>\n\n\n\n<p>Tarkvara arendamisel on vaja tunda selle keele p\u00f5hit\u00f5desid, milles te kirjutate, kuid sellest ei piisa. Paljud algoritmilised probleemid, millega te uue funktsiooni rakendamisel kokku puutute, on juba keegi teine lahendanud. Liiga palju kordi olen n\u00e4inud, kuidas keegi rakendab turvaalgoritmi nullist. Selline l\u00e4henemine on vigade ohtlik. \u00dcks inimene ei suuda sellist keerulist lahendust p\u00f5hjalikult testida. Kollektiivsed teadmised <a href=\"https:\/\/thecodest.co\/et\/dictionary\/how-to-lead-software-development-team\/\">meeskond<\/a> mis koosneb keskmiselt edasij\u00f5udnud programmeerijatest, on peaaegu alati parem kui \u00fche imelapse suursugusus <strong><a href=\"https:\/\/thecodest.co\/et\/dictionary\/java-developer\/\">Java arendaja<\/a><\/strong>. Teil ei ole vaja ratast uuesti leiutada - te peate lihtsalt olemasolevat lahendust oma vajadustele vastavaks kohandama.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<p>Proovige otsida raamatukogusid, mis tegelevad teie poolt k\u00e4sitletava probleemiga. Proovige leida sarnaseid lahendusi. Paljud raamatukogud, mis on saadaval veebilehel <a href=\"https:\/\/thecodest.co\/et\/blog\/find-your-ideal-stack-for-web-development\/\">veeb<\/a> on tasuta ning neid on lihvinud ja testinud kogenud arendajad ja kogu Java kogukond. \u00c4rge kartke neid kasutada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Ei leia piisavalt aega testide kirjutamiseks<\/h2>\n\n\n\n<p>On ahvatlev uskuda, et meie kood t\u00f6\u00f6tab alati ideaalselt. Koodile testide kirjutamata j\u00e4tmine on k\u00f5ige hullem patt. <strong>Java <a href=\"https:\/\/thecodest.co\/et\/blog\/hire-software-developers\/\">tarkvaraarendajad<\/a><\/strong>. Paljud <a href=\"https:\/\/thecodest.co\/et\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> eelistavad \u00fchiktestide asemel manuaalseid ja uurimuslikke teste, mis on hullumeelsus.  Milleks raisata aega testide kirjutamisele, kui saab keskenduda sellele, et pakkuda oma projektile maailma parimat koodi, milles EI OLE VIGAID?\" &amp;ltnalja&gt;. Tuleb v\u00e4lja, et reaalsus on j\u00f5hker ja me ei saa pakkuda kvaliteetset koodi ilma teste kirjutamata.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<p>Te peaksite alati oma koodi jaoks teste ette valmistama. Ma tean, et TDD l\u00e4henemist ei ole nii lihtne hooldada, kuid te peaksite v\u00e4hemalt esitama testid, mis h\u00f5lmavad k\u00f5iki tingimusi, mille korral teie koodi saab k\u00e4ivitada. See h\u00f5lmab ka erandlike olukordade testimist. \u00dchiktestid on vajalikud. Te peate neid esitama oma projekti iga funktsiooni jaoks, kui soovite tagada, et teie koodi on lihtne refaktorida ja laiendada edasise arenduse k\u00e4igus.&nbsp;<\/p>\n\n\n\n<p>Veel \u00fcks asi. Hoidke oma testkoodi k\u00f5rget taset - see on seda v\u00e4\u00e4rt. See on onu Bobi n\u00f5uanne ja ma olen sellega t\u00e4iesti n\u00f5us.<\/p>\n\n\n\n<p>\u00c4rge unustage ka muud liiki teste. Integratsioonitestid on asi, mida peaksite igas projektis arvesse v\u00f5tma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8. Juurdep\u00e4\u00e4su modifitseerijate unustamine<\/h2>\n\n\n\n<p>Era- ja avalik, eks ole? Kuidas me saame neid unustada. Tuleb v\u00e4lja, et neid on rohkem. Kui sa hakkasid esimest korda \u00f5ppima <strong>Java<\/strong>, siis kindlasti \u00f5ppisid sa kaitstud juurdep\u00e4\u00e4su modifikaatorite kohta. Need v\u00f5ivad m\u00f5nel juhul olla kasulikud, seega tasub nende olemasolust teada.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/thecodest.co\/et\/blog\/the-right-way-to-find-top-java-developers\/\">Java arendajad<\/a><\/strong> n\u00e4ivad sageli unustavat paketi ulatuse. Selle kasutamisest on lihtne mitte m\u00e4letada, kuna see on kaudne ja ei n\u00f5ua mingit <strong>Java<\/strong> m\u00e4rks\u00f5nad. Paketi ulatus on oluline. See v\u00f5imaldab teil testida kaitstud meetodit. Kaitstud elemendid on k\u00e4ttesaadavad testklassi tee kaudu, kui pakett on sama.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<p>Pidage meeles kaitstud modifikaatorit ja seda, et paketi ulatus v\u00f5imaldab teil seda testida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Puhta JavaEE kasutamine Springi asemel<\/h2>\n\n\n\n<p>J\u00e4rgmine samm p\u00e4rast \u00f5ppimist <strong>Java<\/strong> SE on \u00f5ppida, kuidas juhtida <strong>Java<\/strong> serverites, kuidas teha ettev\u00f5tte tasandi rakendust.<\/p>\n\n\n\n<p>Algajad satuvad sageli JavaEE \u00f5ppimise l\u00f5ksu, kuna selle kohta on olemas suur hulk \u00f5petusi. Isegi \"Thinking in Java\", mis on <strong>Java programmeerijad<\/strong>' piibel, mainib JavaEE-d ja ei \u00fctle midagi teiste v\u00f5imaluste kohta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kuidas ma saan seda v\u00e4ltida?<\/h3>\n\n\n\n<p>JavaEE on mineviku laul. T\u00e4nap\u00e4eval on Springi asi ja Java EE on lihtsalt tore, et see on olemas. Iga kaasaegne ettev\u00f5tte tasemel rakendus kasutab Springi, seega tuleks tungivalt kaaluda \u00f5ppimist <a href=\"https:\/\/spring.io\/guides\">seda siin<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/calendly.com\/the-codest-java-consulting\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/meeting_java_expert.png\" alt=\"Tutvuge Java eksperdiga\"\/><\/a><\/figure>\n\n\n\n<p><strong>Loe edasi:<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/the-right-way-to-find-top-java-developers\">\u00d5ige viis tipp Java arendajate leidmiseks<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/the-best-type-of-projects-for-java\">Parim projektit\u00fc\u00fcp Java jaoks<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/top-programming-languages-for-fintech-companies\">Parimad programmeerimiskeeled Fintech ettev\u00f5tetele<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Milliseid vigu tuleks Java keeles programmeerimisel v\u00e4ltida? J\u00e4rgnevas teoses vastame sellele k\u00fcsimusele.<\/p>","protected":false},"author":2,"featured_media":3005,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[15,8],"tags":[],"class_list":["post-3004","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fintech","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>9 Mistakes to Avoid While Programming in Java - The Codest<\/title>\n<meta name=\"description\" content=\"Explore 9 Java coding mistakes developers should avoid to improve code quality, security, and performance in modern Java applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/et\/blogi\/9-viga-mida-java-programmeerimisel-valtida\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"9 Mistakes to Avoid While Programming in Java\" \/>\n<meta property=\"og:description\" content=\"Explore 9 Java coding mistakes developers should avoid to improve code quality, security, and performance in modern Java applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/et\/blogi\/9-viga-mida-java-programmeerimisel-valtida\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-08T11:25:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-09T13:13:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/9_mistakes_to_avoid_while_programming_in_java.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"9 Mistakes to Avoid While Programming in Java\",\"datePublished\":\"2022-07-08T11:25:57+00:00\",\"dateModified\":\"2026-03-09T13:13:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/\"},\"wordCount\":1643,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/9_mistakes_to_avoid_while_programming_in_java.png\",\"articleSection\":[\"Fintech\",\"Software Development\"],\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/\",\"name\":\"9 Mistakes to Avoid While Programming in Java - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/9_mistakes_to_avoid_while_programming_in_java.png\",\"datePublished\":\"2022-07-08T11:25:57+00:00\",\"dateModified\":\"2026-03-09T13:13:14+00:00\",\"description\":\"Explore 9 Java coding mistakes developers should avoid to improve code quality, security, and performance in modern Java applications.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/9_mistakes_to_avoid_while_programming_in_java.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/9_mistakes_to_avoid_while_programming_in_java.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/9-mistakes-to-avoid-while-programming-in-java\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"9 Mistakes to Avoid While Programming in Java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/et\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"9 viga, mida v\u00e4ltida Java programmeerimisel - The Codest","description":"Tutvuge 9 Java kodeerimisveaga, mida arendajad peaksid v\u00e4ltima, et parandada koodikvaliteeti, turvalisust ja j\u00f5udlust kaasaegsetes Java-rakendustes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/et\/blogi\/9-viga-mida-java-programmeerimisel-valtida\/","og_locale":"et_EE","og_type":"article","og_title":"9 Mistakes to Avoid While Programming in Java","og_description":"Explore 9 Java coding mistakes developers should avoid to improve code quality, security, and performance in modern Java applications.","og_url":"https:\/\/thecodest.co\/et\/blogi\/9-viga-mida-java-programmeerimisel-valtida\/","og_site_name":"The Codest","article_published_time":"2022-07-08T11:25:57+00:00","article_modified_time":"2026-03-09T13:13:14+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/9_mistakes_to_avoid_while_programming_in_java.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"9 Mistakes to Avoid While Programming in Java","datePublished":"2022-07-08T11:25:57+00:00","dateModified":"2026-03-09T13:13:14+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/"},"wordCount":1643,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/9_mistakes_to_avoid_while_programming_in_java.png","articleSection":["Fintech","Software Development"],"inLanguage":"et","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/","url":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/","name":"9 viga, mida v\u00e4ltida Java programmeerimisel - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/9_mistakes_to_avoid_while_programming_in_java.png","datePublished":"2022-07-08T11:25:57+00:00","dateModified":"2026-03-09T13:13:14+00:00","description":"Tutvuge 9 Java kodeerimisveaga, mida arendajad peaksid v\u00e4ltima, et parandada koodikvaliteeti, turvalisust ja j\u00f5udlust kaasaegsetes Java-rakendustes.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/9_mistakes_to_avoid_while_programming_in_java.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/9_mistakes_to_avoid_while_programming_in_java.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/9-mistakes-to-avoid-while-programming-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"9 Mistakes to Avoid While Programming in Java"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/et\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts\/3004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/comments?post=3004"}],"version-history":[{"count":9,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts\/3004\/revisions"}],"predecessor-version":[{"id":7701,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts\/3004\/revisions\/7701"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/media\/3005"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/media?parent=3004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/categories?post=3004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/tags?post=3004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}