..
Od jeho úvodu, Java má vyhrazeno důležitou roli v bezpečnostních otázkách. I když se smíšenými výsledky, designéři se snaží poskytnout platformu bezpečnostních systémů, realizované přímo v oblasti jazyka, vývojářům k dispozici.
V nepřetržitém procesu vývoje a zdokonalování JVM se stala jednou z nejdůležitějších infrastruktury pro samostatné, internet, mobil a další, v tomto článku se zaměříme na vývoj bezpečnostního modelu, obyčejně nazvaný pískovišti, komentovat konstrukčních chyb a současný stav.
Tento článek je určen pro všechny, ať už jsou zkušení vývojáři v Javě, kdo se postí zcela čtenáři tématu. Některé úvahy bude srozumitelnější pro ty, kteří již mají nějaké zkušenosti s tímto jazykem, ale čtení tohoto článku, je vhodný pro všechny čtenáře.
Původní model, známý jako sandbox byla navržena tak, aby neomezovaly potenciálně nebezpečný kód v izolovaném prostředí, a velmi omezující. Java od jeho narození, byl silně orientovaný na síti a tato úvaha vedla k navržení provedení modelu, ve kterém byl kód stáhnout přímo z dálkového ovládání, vystavuje klientovi značné problémy se zabezpečením.
Ve svém prvním provedení, schematicky znázorněno na obrázku, na pískovišti jen zhruba rozlišovat mezi lokálním a vzdáleným kód kód: první byl těší plný přístup ke všem zdrojům "kritický" systém, jako například souborové systémy a různými zařízeními, vzdálené spuštění kódu Naopak, měli omezený přístup ke zdrojům, zprostředkované stejné karanténě: applety, dnes do značné míry zmizely z webu, byl jsem nejlepší známý příklad.

Tento model obsahuje sadu bezpečnostních mechanismů na různých úrovních.
Za prvé, Java je typově bezpečný, tj. existuje explicitní vztah mezi proměnnou a ovládat, a jeho typ (integer, s plovoucí desetinnou čárkou, string, atd. ..).
Ti, kteří mají naprogramován v jazycích s nízkou / střední úrovni, jako je C a C + + vědět, kolik problémů je možné se vyhnout této kontroly: soubor implicitní konverze mezi typy, jako je číslo, nebo boolean neplatné odkazy na další ukazatele, které jsou charakteristické tyto jazyky ve stejné době se stal hlavním zdrojem programové chyby, stejně oddaný začátečníky i experty.
Chcete-li minimalizovat možnost, že vývoj se hrubých chyb, konstruktéři společnosti Sun Microsystems představila některé aspekty dosud nalézt pouze ve specializovaných nebo jazycích univerzitní úrovni, jako je např. automatická správa paměti (garbage collection) a ovládací prvky za běhu přístup k paměti (ukazatele, pole prvků, atd. ...).
Druhá úroveň ochrany je zaručena kompilátor a run-time, a virtuální stroj. To zajišťuje, že bytecode, montér Java VM je prováděno se správným provést oprávnění. Zejména dva klíčové prvky, SecurityManager a ClassLoader, definovat místní název prostoru, aby se zabránilo rušení mezi různými instancemi VM a řízení kontroly přístupu k důležitým zdrojům.
Předkládaný model je velmi flexibilní a na první aktualizace JDK (verze 1.1) byl představen koncept důvěryhodného kódu pro vzdálené aplikace, v doprovodu elektronického podpisu uznaný klientem, přístup k systémovým zdrojům. Řešení je uvedeno na následujícím obrázku, je málo více než hack předchozí architektury, a proto vyžadují kompletní přepsání v příštích vydáních.

| |
Excel (ebook)
Vytvořte tabulky a výpočty. Pouhých 25 €. |
| |
Java (kurz)
OOP programování v Javě ne. Od 49 €. |
| |
Web Design (kurz)
Web Design stránky s HTML, CSS a dynamické HTML. Od 39 €. |