..
Kopš tās ieviešanas, Java ir aizsargātas būtiska nozīme drošības jautājumos. Lai gan ar atšķirīgiem rezultātiem, dizaineri ir centušies nodrošināt platformu drošības sistēmām, ko īsteno tieši attiecībā uz valodu, kas pieejama izstrādātājiem.
Nepārtrauktā procesa attīstību un pilnveidošanu JVM ir kļuvis par vienu no svarīgākajiem infrastruktūras stand-alone, web, mobilo un vairāk, šajā rakstā mēs koncentrēties uz attīstību drošības modeli, ko parasti sauc sandbox, komentējot dizains kļūdām un pašreizējo statusu.
Šis raksts ir adresēta visiem, vai viņi ir pieredzējuši Java programmētāji, kuri gavē pilnīgi lasītāju tēmu. Daži apsvērumi būs vairāk saprotams tiem, kas jau ir zināma pieredze ar šo valodu, tomēr šī raksta lasīšanas ir piemērots jebkurš lasītājs.
Sākotnējais modelis, kas pazīstams kā sandbox tika izstrādāta, lai noturētu iespējami ļaunprātīgu kodu, kas izolēts vidē, un ļoti ierobežojoša. Java kopš tās dzimšanas, bija ļoti orientēta uz tīklu un šis apsvērums lika izstrādāt izpildes modeli, kura kods ir lejupielādēt tieši no attālās, pakļaujot klients būtiskus drošības jautājumus.
Savā pirmajā īstenošanu, shematiski parādīts attēlā, smilšu tikai aptuveni atšķirt vietējo un attālo koda kods: pirmais bija bauda pilnu piekļuvi visiem resursiem, "kritiska" sistēmas, kā, piemēram, failu sistēmas un dažādas ierīces, attālā koda Gluži pretēji, bija ierobežotas pieejas resursiem, starpnieks pats sandbox: applets, tagad lielā mērā pazuda no interneta, man ir pazīstamākais piemērs.

Šis modelis ietver vairākus drošības mehānismi dažādos līmeņos.
Pirmkārt, Java ir tipa nekaitīga, ti, pastāv skaidra saikne starp mainīgo un kontrolē un tās veids (vesels skaitlis, peldošo punktu, auklas, utt ..).
Tie, kas ir programmēti valodās ar zemu / vidējā līmenī, piemēram, C un C + + zināt, cik daudz problēmas var izvairīties šī kontrole: komplekts netiešu konvertēšanu starp veidiem, piemēram, vesels skaitlis vai boolean neesošu norādes uz citām norādes, kādas ir raksturīgas tiem, tajā pašā laikā valodas kļuvusi par galveno avotu programmēšanas kļūdas, vienlīdz apņēmusies gan iesācējiem un ekspertiem.
Lai samazinātu iespēju, ka sasniegumiem Blunders, Sun dizaineri iepazīstināja daži aspekti līdz šim bija pieejama tikai niša vai universitātes līmeņa valodās, kā, piemēram, automātisku atmiņas vadība (atkritumu savākšana) un kontroli pie izpildes laika piekļuves atmiņa (norādes, masīva elementus, utt ...).
Otrā līmeņa aizsardzība tiek garantēta ar kompilatoru un izpildes laika, ar virtuālo mašīnu. Tas nodrošina, ka bytecode, montētājam Java VM tiek veikta ar pienācīgu izpildīt atļaujas. Jo īpaši diviem galvenajiem komponentiem, SecurityManager un ClassLoader, definēt vietējās nosaukums telpu, lai izvairītos no traucējumiem starp dažādiem gadījumiem VM un pārvaldīt piekļuves kontroles kritisko resursu.
Iepazīstināja modelis ir ļoti elastīgi un pirmā atjauninājuma JDK (versija 1.1) tika ieviesta uz jēdzienu uzticamo kodu, lai atļautu attālo pieteikumiem, ja tiem pievieno elektronisko parakstu atzīta klienta piekļuvi sistēmas resursiem. Risinājums, kas izklāstīti šajā attēlā, ir nedaudz vairāk kā banalizēt iepriekšējo arhitektūras un tādēļ ir nepieciešama pilnīga pārrakstīt nākamajā relīzes.

| |
ASP (Advanced)
Pilns kurss, lai radītu dinamisku tīmekļa vietnes. Sākot no € 39. |
| |
Front Page (Ebook)
Izveidojiet Web lapas, nezinot HTML. Tikai 25 €. |
| |
Web Design (Course)
Dizains Web Sites ar HTML, CSS un Dynamic HTML. Sākot no € 39. |