▁must ▁be ▁installed ▁normally ▁on ▁the ▁host ▁PC ▁in ▁order ▁to ▁function . ▁ ▁Man aged ▁run times ▁▁ ▁Another ▁technique ▁sometimes ▁referred ▁to ▁as ▁virtual ization , ▁is ▁port able ▁byte ▁code ▁execution ▁using ▁a ▁standard ▁port able ▁native ▁runtime ▁( aka ▁Man aged ▁R unt imes ). ▁ ▁The ▁two ▁most ▁popular ▁solutions ▁today ▁include ▁Java ▁and ▁. NET . ▁ ▁These ▁solutions ▁both ▁use ▁a ▁process ▁called ▁J IT ▁( Just ▁in ▁time ) ▁compilation ▁to ▁translate ▁code ▁from ▁a ▁virtual ▁port able ▁machine ▁language ▁into ▁the ▁local ▁processor ’ s ▁native ▁code . ▁ ▁This ▁allows ▁applications ▁to ▁be ▁compiled ▁for ▁a ▁single ▁architecture ▁and ▁then ▁run ▁on ▁many ▁different ▁machines . ▁ ▁Bey ond ▁machine ▁port able ▁applications , ▁an ▁additional ▁advantage ▁to ▁this ▁technique ▁includes ▁strong ▁security ▁guarante es . ▁ ▁Because ▁all ▁native ▁application ▁code ▁is ▁generated ▁by ▁the ▁cont rolling ▁environment , ▁it ▁can ▁be ▁checked ▁for ▁correct ness ▁( possible ▁security ▁explo its ) ▁prior ▁to ▁execution . ▁ ▁Program s ▁must ▁be ▁originally ▁designed ▁for ▁the ▁environment ▁in ▁question ▁or ▁manually ▁re written ▁and ▁re comp iled ▁to ▁work ▁for ▁these ▁new ▁environments . ▁ ▁For ▁example , ▁one ▁cannot ▁automatically ▁convert ▁or ▁run ▁a ▁Windows ▁/ ▁Linux ▁native ▁app ▁on ▁. NET ▁or ▁Java . ▁ ▁Because ▁port able ▁run times ▁try ▁to ▁present ▁a ▁common ▁API ▁for ▁applications ▁for ▁a ▁wide ▁variety ▁of ▁hardware , ▁applications ▁are ▁less ▁able ▁to ▁take ▁advantage ▁of ▁OS ▁specific ▁features . ▁ ▁Port able ▁application