Ano ang Dalvik? Naririnig namin ang salitang iyon na napapalabas ng maraming sa Internet kapag pinag-uusapan ang tungkol sa Android at ang mga panloob na gawaing ito. Habang walang madaling paliwanag na maibibigay sa loob lamang ng ilang mga talata, maaari naming masakop ang mga pangunahing kaalaman at ituro sa iyo sa tamang direksyon kung kailangan mong pakainin ang iyong nerdly side. Sa pinakasimpleng mga termino, ang Dalvik ay isang virtual machine na nagpapatakbo ng mga aplikasyon at code na nakasulat sa Java. Ang isang karaniwang tagagawa ng Java ay lumiliko ang source code (nakasulat bilang mga file ng teksto) sa Bytecode, pagkatapos ay naipon sa isang.dex file na mababasa at magagamit ng Dalvik VM. Sa esensya, ang mga file ng klase ay na-convert sa.dex file (tulad ng isang file ng jar kung ang isa ay gumagamit ng karaniwang Java VM) at pagkatapos ay basahin at isakatuparan ng Dalvik Virtual Machine. Ang mga dobleng data na ginamit sa mga file ng klase ay kasama lamang ng isang beses sa.dex output, na nakakatipid ng puwang at gumagamit ng mas kaunting overhead. Ang mabibigat na mga file ay maaaring mabago muli kapag nag-install ka ng isang application upang gumawa ng mga bagay kahit na mas na-optimize para sa mobile. Ang mga bagay tulad ng pagpapalit ng order ng byte at pag-link ng istraktura ng data at pag-andar ng mga aklatan na inline ay ginagawang mas maliit ang mga file at mas mahusay na tumakbo sa aming mga aparato. Ang Dalvik VM ay isinulat mula sa parisukat na may isip sa Android.
Nalilito pa? Huwag makaramdam ng masama, ang geeky programming talk ay karaniwang may epekto. Isipin ito sa ganitong paraan - kapag nagtatayo ka ng isang Java application para sa iyong computer, isang Java Virtual Machine ang nagpapatakbo ng pinagsama-samang output ng source code. Ito ang dahilan kung bakit tumatakbo ang Java sa halos lahat ng operating system. Dalvik ay isang mobile na na-optimize na bersyon ng isang Java Virtual Machine, na binuo gamit ang code mula sa Apache Harmony project, na open-source at nagpapatakbo ng mas mahusay kaysa sa isang pamantayang Java VM ay sa aming limitadong hardware, dinisenyo upang maaari kang tumakbo ng higit sa isa halimbawa ng VM nang sabay-sabay - ibig sabihin, multitasking. Dahil ang Dalvik ay bukas-mapagkukunan, naka-port din ito sa iba pang mga operating system, tulad ng sa BlackBerry PlayBook. Ito ay medyo mapipinsala kumplikado, medyo mapahamak na cool, at Oracle (ang kumpanya na bumili ng Java mula sa Araw) ay kinamumuhian ito.
Gumagamit ang Android ng Dalvik dahil habang ang lisensya para sa karaniwang Java Virtual Machine ay GPL2 (libre at bukas na mapagkukunan), kapag inilagay sa isang mobile device at gamit ang Java Micro Edition, hindi. Ang malaking pagtatalo sa pagitan ng Google at Oracle ay lahat batay sa paligid ng Dalvik. Sinasabi ng Google na isinulat ito sa isang "malinis na silid" na kapaligiran nang hindi gumagamit ng alinman sa code ng Oracle, at hindi sumasang-ayon ang Oracle. Inaangkin namin na walang ideya, natutuwa lang kami na gumagana pati na rin ito.