Proef de Java

โšก Slimme samenvatting

Proef de Java Deze handleiding beschrijft een algemene, op klassen gebaseerde, objectgeoriรซnteerde programmeertaal die tevens dienstdoet als computerplatform. Javade geschiedenis, versies, functies, kerncomponenten (JDK, JVM, JRE), platformedities en het bytecode-mechanisme dat het mogelijk maakt Java Een echte programmeertaal die je รฉรฉn keer schrijft en overal kunt uitvoeren.

  • โ˜• Kerndefinitie: Java is een algemene, op klassen gebaseerde, objectgeoriรซnteerde programmeertaal en een runtimeplatform dat is ontworpen voor draagbaarheid en betrouwbaarheid.
  • ๐Ÿงฉ Drie componenten: De Java Het platform bestaat uit de JDK voor ontwikkeling, de JVM voor uitvoering en de JRE voor runtime-ondersteuning.
  • ๐Ÿ“œ Historische hoogtepunten: Oorspronkelijk heette het OAK in 1991, later hernoemd. Java in 1995, en overgenomen door Oracle van Sun Microsystems in 2009.
  • ๐ŸŒ Vier edities: Java SE, Java EE (nu Jakarta EE), Java IK, en JavaFX richt zich op desktops, bedrijfssystemen, embedded apparaten en rich clients.
  • ๐Ÿ” Platformonafhankelijkheid: Java De broncode wordt gecompileerd naar bytecode die op elke JVM kan worden uitgevoerd, waardoor echte 'schrijf รฉรฉn keer, voer overal uit'-portabiliteit over besturingssystemen mogelijk is.

Proef de Java - Hoe Java Virtual Machine Works

Wat is Java?

Java Het is een algemene, op klassen gebaseerde, objectgeoriรซnteerde programmeertaal die is ontworpen voor minimale implementatieafhankelijkheden. Het is tevens een computerplatform voor applicatieontwikkeling. Java Het is snel, veilig en betrouwbaar, en daarom wordt het gebruikt in software op laptops, datacenters, gameconsoles, wetenschappelijke supercomputers, mobiele telefoons en embedded systemen. Als een multiplatform, netwerkgerichte taal, Java Het blijft een van de meest gebruikte programmeertalen in de branche en heeft de voorkeur van de meeste organisaties voor het bouwen van bedrijfskritische projecten.

Wat is het Java Platform?

De Java Platform is een verzameling programma's die ontwikkelaars helpen bij het maken en uitvoeren van code. Java applicaties efficiรซnt uitvoeren. Het bundelt een uitvoeringsengine, een compiler en een set bibliotheken, samen met de specificaties die bepalen hoe ze samenwerken. James Gosling ontwikkelde de Java platform bij Sun Microsystems, en Oracle Het bedrijf verwierf het via de overname van Sun in 2009.

Deze video introduceert de Java platform en legt uit waarom Java is zowel een platform als een programmeertaal:

Klik hier als de video niet toegankelijk is.

Wat is Java Gebruikt voor?

Hieronder volgen enkele van de belangrijkste praktijktoepassingen van Java:

  • Ontwikkelping Android apps.
  • Het ontwikkelen van bedrijfssoftware voor grote organisaties.
  • Biedt stroom aan een breed scala aan mobiele apparaten Java toepassingen.
  • Het uitvoeren van wetenschappelijke computerprogramma's.
  • Het aansturen van big data-analysepipelines.
  • Programmeren van ingebouwde hardwareapparaten.
  • Server-side technologieรซn zoals Apache, JBoss, GlassFish en Tomcat.

Geschiedenis van de Java Programmeertaal

Hieronder vindt u de belangrijkste historische bezienswaardigheden. Java taal:

  • De Java taal heette aanvankelijk OAK.
  • Het was oorspronkelijk ontwikkeld voor de bediening van draagbare apparaten en settopboxen, waar OAK commercieel gezien geen succes was.
  • In 1995 hernoemde Sun de taal naar โ€œJava"en heeft de focus verlegd om te profiteren van het snelgroeiende World Wide Web.
  • In 2009, Oracle Corporation verwierf Sun Microsystems en werd eigenaar van drie belangrijke Sun-softwareactiva: Java, MySQLen Solaris.

Java versies

Hier volgt een korte geschiedenis van Java versies en hun releasedatums, bijgewerkt tot en met de meest recente long-term support release:

Java Versie Release Date
JDK Alfa en Bรจta 1995
JDK 1.0 23rd Jan 1996
JDK 1.1 19th februari 1997
J2SE 1.2 8th december 1998
J2SE 1.3 8th mei 2000
J2SE 1.4 6th februari 2002
J2SE 5.0 30th Sep 2004
Java SE 6 11th december 2006
Java SE 7 28th July 2011
Java SE 8 (LTS) 18th Mar 2014
Java SE 9 21st Sep 2017
Java SE 10 20th Mar 2018
Java SE 11 (LTS) 25th Sep 2018
Java SE 12 19th Mar 2019
Java SE 13 17th Sep 2019
Java SE 14 17th Mar 2020
Java SE 15 15th Sep 2020
Java SE 16 16th Mar 2021
Java SE 17 (LTS) 14th Sep 2021
Java SE 18 22 maart 2022
Java SE 19 20th Sep 2022
Java SE 20 21 maart 2023
Java SE 21 (LTS) 19th Sep 2023
Java SE 22 19th Mar 2024
Java SE 23 17th Sep 2024
Java SE 24 18th Mar 2025
Java SE 25 (LTS) 16th Sep 2025

Java Kenmerken

Hier zijn enkele van de belangrijkste Java Kenmerken die ervoor hebben gezorgd dat het al bijna drie decennia relevant is:

  • Het is een van de makkelijkst te leren objectgeoriรซnteerde programmeertalen.
  • "Schrijf รฉรฉn keer, voer overal uit" โ€” code die op รฉรฉn machine is gecompileerd, werkt op vrijwel elk computerplatform.
  • Java is platformonafhankelijk dankzij het bytecode-uitvoeringsmodel.
  • Het is van de grond af ontworpen voor objectgeoriรซnteerde toepassingen.
  • Het is een multithreaded taal met automatisch geheugenbeheer (garbage collection).
  • Het is ontwikkeld voor de gedistribueerde omgeving van het internet.
  • Het maakt gedistribueerde computerverwerking mogelijk dankzij het netwerkgerichte ontwerp.

Onderdelen van de Java Programmeertaal

A Java Een programmeur schrijft code in een voor mensen leesbare taal, genaamd... broncodeDe CPU begrijpt broncode nooit direct; CPU's voeren alleen machinecode uit, en die machinecode verschilt per CPU-familie. Om deze kloof te overbruggen, Java Het platform vertaalt broncode naar een draagbare tussenliggende vorm. Dit alles gebeurt binnen drie kerncomponenten: de JDK, de JVM en de JRE.

Java Ontwikkelingskit (JDK)

JDK is een softwareontwikkelomgeving die wordt gebruikt om applets te bouwen. Java toepassingen. De volledige vorm van JDK is Java Ontwikkelingskit. Java ontwikkelaars kunnen het gebruiken Windows, macOS, Solarisen Linux. JDK helpt hen bij het coderen en uitvoeren van programma's. Java programma's. Het is mogelijk om meer dan รฉรฉn JDK-versie op dezelfde computer te installeren.

Waarom JDK gebruiken?

  • JDK bevat de tools die nodig zijn om te schrijven. Java programma's en een JRE om ze uit te voeren.
  • Het bevat een compiler (javac), De Java Applicatiestarter, AppletViewer en soortgelijke hulpprogramma's.
  • De compiler zet code om die geschreven is in Java in bytecode.
  • De Java application launcher opent een JRE, laadt de benodigde klasse en voert de hoofdmethode uit.

Java Virtuele machine (JVM)

De Java Virtuele machine (JVM) is een engine die een runtime-omgeving biedt om aan te sturen Java code of applicaties. Het converteert Java Bytecode omzetten naar machinetaal. De JVM maakt deel uit van de Java Runtimeomgeving (JRE). In andere programmeertalen produceert de compiler machinecode voor een specifiek systeem. Echter, de Java De compiler produceert code voor een virtuele machine, ook wel de virtuele machine genoemd. Java Virtuele machine.

Waarom JVM?

  • JVM biedt een platformonafhankelijke manier van uitvoeren Java broncode.
  • Het beschikt over tal van bibliotheken, tools en frameworks die direct beschikbaar zijn.
  • Zodra je een compilatie hebt gemaakt Java Het programma kan op elk platform worden uitgevoerd, wat aanzienlijk veel tijd bespaart.
  • De JVM wordt geleverd met een JIT-compiler (Just-In-Time) die bytecode tijdens de uitvoering omzet in machinetaal op laag niveau, waardoor deze vaak sneller werkt dan een geรฏnterpreteerde applicatie.

Java Runtime-omgeving (JRE)

JRE is een stuk software dat is ontworpen om andere software uit te voeren. Het bevat de klassebibliotheken, de loaderklasse en de JVM. Simpel gezegd: als je alleen een JRE wilt uitvoeren, is het een JRE. Java Om een โ€‹โ€‹programma te programmeren (en er geen te ontwikkelen), heb je JRE nodig in plaats van de volledige JDK.

Waarom JRE gebruiken?

  • De JRE bevat klassebibliotheken, de JVM en andere ondersteunende bestanden. Het bevat geen ontwikkelaarstools zoals een debugger of compiler.
  • Het maakt gebruik van belangrijke pakketklassen, waaronder math, swing, util, lang, awten runtimebibliotheken.
  • Als je moet rennen Java Voor applets of applicaties moet JRE op uw systeem geรฏnstalleerd zijn.

Verschillende types van Java platforms

Er zijn vier verschillende Java Programmeertaalplatformen, elk afgestemd op een ander implementatiedoel:

1. Java Platform, standaardeditie (Java ZO): Java De API van SE biedt de Java De kernfunctionaliteit van een programmeertaal. Het definieert alles, van basistypen en objecten tot klassen op hoog niveau die worden gebruikt voor netwerken, beveiliging, toegang tot databases, ontwikkeling van grafische gebruikersinterfaces (GUI's) en XML-parsing.

2. Java Platform, Enterprise Edition (Jakarta EE, voorheen Java EE): Het Jakarta EE-platform biedt een API en runtime-omgeving voor ontwikkeling.ping en het uitvoeren van zeer schaalbare, grootschalige, meerlaagse, betrouwbare en veilige netwerkapplicaties. Oracle het platform overgedragen aan de Eclipse Foundation in 2017, waarna het bedrijf werd omgedoopt tot Jakarta EE.

3. Java Platform, micro-editie (Java MIJ): De Java Het ME-platform biedt een API en een compacte virtuele machine voor het uitvoeren van taken. Java toepassingen op kleine apparaten zoals mobiele telefoons en embedded controllers.

4. JavaWisselkoers: JavaFX is een platform voor ontwikkelingping Rijke internettoepassingen die gebruikmaken van een lichtgewicht API voor de gebruikersinterface. Het maakt gebruik van hardwareversnelde grafische en media-engines die daarbij helpen. Java Profiteer van krachtigere clients, een moderne vormgeving en geavanceerde API's voor verbinding met netwerkdatabronnen.

Om het te begrijpen Java Om een โ€‹โ€‹programmeertaal te begrijpen, moeten we enkele basisconcepten herhalen over hoe een computerprogramma opdrachten uitvoert en acties verricht.

Wat is een pc?

Een computer is een elektronisch apparaat dat berekeningen kan uitvoeren. Hij bestaat uit een monitor, toetsenbord, muis en geheugen om informatie op te slaan. Het belangrijkste onderdeel is echter de processor. De processor voert al het denkwerk van de computer uit, maar hoe doet hij dat eigenlijk? Hoe begrijpt hij tekst, afbeeldingen en video's?

Wat is een pc - de belangrijkste componenten
Wat is pc?

Wat is Assembly Taal?

De computer is een elektronisch apparaat en begrijpt daarom alleen elektronische signalen โ€“ binaire signalen. Een elektronisch signaal van 5 volt kan bijvoorbeeld het binaire getal 1 voorstellen, terwijl 0 volt het binaire getal 0 kan voorstellen. Uw pc wordt continu blootgesteld aan deze signalen.

Binaire signalen verwerkt door een computer.

Acht bits van deze signalen worden samengevoegd om tekst, getallen en symbolen te interpreteren.

Acht-bit groepping voor tekst en symbolen

Het symbool # wordt bijvoorbeeld door de computer herkend als 10101010. Op dezelfde manier wordt het patroon voor een "optel"-functie weergegeven als 10000011.

Binaire representatie van computerinstructies

Dit staat bekend als 8-bits computergebruik. Moderne processors kunnen instructies van 64 bits tegelijk decoderen. Wat heeft dit concept dan te maken met...? JavaLaten we een voorbeeld bekijken.

Stel, je wilt de computer opdracht geven om twee getallen (1 + 2) op te tellen, die worden weergegeven door binaire getallen (10000011). Hoe communiceer je dat aan je computer? Je gebruikt assembleertaal om je code uit te voeren.

"Assembly Taal is de meest elementaire vorm van softwareontwikkelingstalen.โ€

Je geeft opdrachten in het volgende formaat. De code om twee getallen op te tellen in assembleertaal zou er als volgt uitzien:

Assembly voorbeeld van het optellen van twee getallen in een taal

  • Sla nummer 1 op in geheugenlocatie A.
  • Bewaar nummer 2 op geheugenlocatie B.
  • Voeg de inhoud van locaties A en B samen.
  • Bewaar het resultaat.

In de jaren vijftig, toen computers enorm groot en energieverslindend waren, zette je assembleercode om in de overeenkomstige machinecode (1en en 0en) met behulp van een kaart.ping vellen. De code werd vervolgens in machinekaarten geponst en naar de computer gestuurd. De computer las deze codes en voerde het programma uit. Dit was een lang proces โ€“ totdat de assembler arriveerde om de conversie te automatiseren.

Wat zijn Assembler en Compiler?

Met de technologische vooruitgang werden I/O-apparaten uitgevonden. Je kon je programma rechtstreeks in de pc typen met behulp van assembler, die het omzet in de bijbehorende machinecode (110001โ€ฆ) en deze naar je processor stuurt. Terugkerend naar ons voorbeeld 1 + 2, zet de assembler de assemblercode om in machinecode als uitvoer.

Een assembler zet assembler-code om in machinecode.

Naast het assembleren moet je ook functies van het besturingssysteem aanroepen om de uitvoer weer te geven.

De assembler alleen is niet voldoende; er is ook een compiler nodig om lange broncode te comprimeren tot kleinere, geoptimaliseerde stukken. Met programmeertalen op een hoger niveau wordt het volledige bovenstaande assembly-fragment teruggebracht tot รฉรฉn enkele regel, zoals: printf(โ€œ%dโ€, 1+2)De compiler zet uw C taal code wordt omgezet in assembleercode; de โ€‹โ€‹assembler zet die vervolgens om in machinecode. transmitgekoppeld aan de processor. De meest gebruikte processor in pc's is de Intel-processor.

Compiler- en assembler-pipeline

Moderne compilers bevatten vaak ook een assembler, zodat ze code in een hogere programmeertaal direct kunnen omzetten naar machinecode.

Stel nu eens dat Windows draait op een Intel-processor โ€” de combinatie van besturingssysteem en processor wordt een platform genoemd. Het meest voorkomende platform is Windows op Intel, ook wel bekend als het Wintel-platform. Andere populaire platforms zijn onder andere AMD, Linux, PowerPC, en macOS.

Bij een verandering van processor veranderen ook de assembleerinstructies. Bijvoorbeeld:

  • De instructie "add" op Intel-processors kan bij AMD "ADDITION" heten.
  • Of โ€œMath ADDโ€ op PowerPC.

En met een verandering van besturingssysteem veranderen ook het niveau en de aard van de aanroepen op besturingssysteemniveau.

Als ontwikkelaar wilt u dat uw software op elk platform werkt om een โ€‹โ€‹zo groot mogelijk bereik te hebben. Dat betekent dat u aparte compilers moet aanschaffen die uw software converteren. printf De opdracht wordt voor elk doel omgezet in de native machinecode.

Compilers voor meerdere platformen

Compilers zijn duur en er bestaat altijd een risico op compatibiliteitsproblemen tussen besturingssystemen. Het is niet praktisch om voor elke combinatie van besturingssysteem en processor een aparte compiler aan te schaffen en te installeren. Wat is dan het alternatief? Maak kennis met... Java taal.

Hoe doet de Java Werkt een virtuele machine?

Via de Java Virtuele machineDit probleem kan worden opgelost. Maar hoe werkt dat op verschillende processors en besturingssystemen? Laten we het stap voor stap bekijken.

Hoe Java De virtuele machine werkt stap voor stap.

Stap 1) De code om de optelling van twee getallen weer te geven โ€” System.out.println(1+2) โ€” wordt opgeslagen als een .java bestand.

Stap 2) De Java samensteller (javac), wordt de code omgezet in tussenliggende code genaamd bytecodeDe uitvoer is een .klasse bestand.

Stap 3) Deze bytecode wordt door geen enkel fysiek platform begrepen, alleen door een virtueel platform genaamd de Java Virtuele machine.

Stap 4) De JVM bevindt zich in het RAM-geheugen van uw besturingssysteem. Wanneer de JVM bytecode ontvangt, identificeert deze het platform waarop hij draait en zet de bytecode direct om in de native machinecode.

Wanneer u op uw pc werkt of op internet surft, ziet u mogelijk iets dat u niet ziet. Java-gerelateerde pictogrammen, dan weet je zeker dat de JVM in je RAM is geladen. Wat maakt Java attracEen voordeel is dat gecompileerde code niet alleen op elk pc-platform kan draaien, maar ook op mobiele telefoons en andere elektronische apparaten die dit ondersteunen. Java.

"Java is zowel een programmeertaal als een platform.โ€

Hoe is Java Platformonafhankelijk?

In tegenstelling tot een C-compiler, Java compiler produceert geen eigen uitvoerbare code voor een bepaalde machine. In plaats van, Java produceert een uniek tussenformaat genaamd bytecodeDe bytecode wordt uitgevoerd volgens de regels die zijn vastgelegd in de JVM-specificatie, daarom Java is een platformonafhankelijke taal.

Bytecode is begrijpelijk voor elke JVM die op elk besturingssysteem is geรฏnstalleerd. Kortom, Java De broncode kan op elk modern besturingssysteem worden uitgevoerd zonder hercompilatie, wat de basis vormt van JavaDe belofte van 's: "schrijf het รฉรฉn keer, publiceer het overal".

Veelgestelde vragen

JDK is de ontwikkelkit die de compiler en tools bevat. JRE is de runtime-omgeving die de JVM en de benodigde klassebibliotheken bevat om de code uit te voeren. Java programma's. De JVM is de engine binnen de JRE die bytecode tijdens de uitvoering omzet in native machinecode.

Ja. Java blijft zeer relevant voor bedrijfssystemen. Android apps, financiรซle platforms, big data en microservices. Moderne releases zoals Java 21 en Java 25 LTS voegt records, virtuele threads, patroonherkenning en verbeterde prestaties toe om te behouden Java competitief.

Beginners dienen een Long-Term Support (LTS)-versie te installeren. Java SE 25, uitgebracht in september 2025, is de nieuwste LTS-versie, met Java 21 en Java Versie 17 wordt nog steeds veel gebruikt. LTS-versies ontvangen uitgebreide beveiligingspatches en stabiele ondersteuning van de leveranciers.

AI wordt gebruikt met Java Voor machine learning in het bedrijfsleven, fraudedetectie, aanbevelingssystemen en chatbots. Bibliotheken zoals DJL, Deeplearning4j en Tribuo brengen deep learning naar de JVM, terwijl AI-codeerassistenten het proces versnellen. Java Refactoring en het genereren van unit-tests.

Ja. AI-codeerassistenten leggen het uit. Java Syntaxis, oefeningen genereren, fouten opsporen en code in realtime beoordelen. Beginners profiteren van interactieve feedback die de beste praktijken van objectgeoriรซnteerd programmeren, het gedrag van de JVM en veelvoorkomende fouten benadrukt die in traditionele handboeken zelden aan bod komen.

Vat dit bericht samen met: