Programmēšana

Izpratne par sun.misc.Droša

Pagājušajā nedēļā parādījās ziņas, ka daži izstrādātāji ir gatavi darbam, apgalvojot, ka Oracle ierosināja to noņemt sun.misc.Drošs Java 9 sagrauj Java ekosistēmu. Daudziem izstrādātājiem, kas nav iesaistījušies zema līmeņa programmēšanā, privāto API, visticamāk, pārklāj noslēpums. Kas ir šī API tik bīstama, ka ir tās nosaukums nedrošs?

Emuāru autors un atvērtā koda līdzstrādnieks Rafaels Vinterhalters sadaļā “Izpratne par sun.misc.Unsafe” paskaidro, ka nedrošs kods bieži vien ir nepieciešams zema līmeņa programmēšanai, kur izstrādātāji modificē platformas funkcionalitāti noteiktam mērķim. Kaut arī JNI (Java vietējā saskarne) tiek uzskatīta par drošāko iespēju zema līmeņa Java programmēšanai, daudzi atvērtā pirmkoda projekti ir izmantojuši Nedrošs kā mazāk ierobežots risinājums.

Vinterhalters piedāvā vienu no vairākiem izmantošanas piemēriem Nedrošs lai pārvarētu Java programmēšanas šķērsli:

Pirmo reizi es izmantoju Nedrošs klase bija paredzēta klases instances izveidei, nezvanot nevienam no klases konstruktoriem. Man bija jāatver visa klase, kurai bija tikai diezgan trokšņains konstruktors, bet es gribēju tikai deleģēt visus metožu izsaukumus reālam gadījumam. pilnvarojums būtu bijis tiešs uzdevums. Ar dārgo konstruktoru es tomēr biju iestrēdzis. Izmantojot Nedrošs klasē, es tomēr varēju to apiet.

Skatiet sadaļas “Izpratne par sun.misc.Unsafe” un “Java magic, 4. daļa: sun.misc.Unsafe”, lai iegūtu papildu piemērus, kas parāda, kāpēc un kā izmantot. Nedrošs Java programmās.

Šo stāstu "Izpratne par sun.misc.Unsafe" sākotnēji publicēja JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found