Java-Programmierung. Objektvariablen, Objekte, Referenzen und Zeiger. Java und das Internet

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Ich bin 22 Jahre alt, ich habe eine wirtschaftswissenschaftliche Ausbildung. Noch vor einem Jahr (Februar – März) hatte ich keine Programmierkenntnisse und bin Java nur in Spielen auf alten Siemens-Geräten begegnet (in Form eines „powered by Java“-Willkommensfensters beim Start des Spiels).

Vor einem Jahr habe ich in der technischen Supportabteilung gearbeitet. Ich würde nicht sagen, dass die Arbeit schlecht ist oder dass sie mir nicht gefällt, aber besonders interessant ist sie nicht. Und so kam es, dass ich irgendwann darüber nachdachte: Es wäre schön, einen Job zu haben, zu dem man nicht mit dem Gefühl geht: „Verdammt, ich gehe wieder arbeiten“, aber das würde Freude machen. Ich dachte: Was würde ich tun, wenn ich, sagen wir, ein Jahr hätte, in dem ich nicht unbedingt Geld verdienen müsste und tun und lassen könnte, was ich wollte? Die Antwort kam irgendwie von selbst – ich würde zu Hause sitzen und programmieren lernen.

Mit seiner Hilfe können Entwickler ohne die Hilfe anderer Sprachen interaktive Elemente entwickeln und zu ihren Websites hinzufügen, Benutzeroberflächen erstellen und Webanwendungen erstellen. Das Tolle daran ist, dass die Sprache Open Source ist und der Zugriff auf alle Module, die übernommen und konvertiert werden können, völlig kostenlos ist. Entwickler verwenden es zum Erstellen, Ändern, Abrufen und Bearbeiten von Daten. Sie fragen sich wahrscheinlich, warum diese Sprache immer noch so beliebt ist.

Kristina Katsarska, Universität Software. Lernen ist praktisch. Diese Beispiele helfen Ihnen, die Prinzipien der Objekterstellung, Vererbung und andere Probleme im Zusammenhang mit der objektorientierten Programmierung zu erlernen. Es ist eine objektorientierte Sprache mit statischen Typen.

Dann entschied ich, dass es an mir lag. Mir war klar, dass es schwierig sein würde, das Programmieren von Grund auf zu erlernen, und dass dies ein vorübergehender Rückschlag in meiner Karriere sein würde (ich hatte keinen Zweifel daran, dass der Junior-Entwickler in diesem Job weniger verdiente als ich), aber ich betrachtete es als einen Rückschritt um zwei Schritte vorwärts zu machen.

OK. Gesagt, getan. Da ich überhaupt keine Ahnung von Programmiersprachen hatte, war meine erste Idee, die Sprache zu studieren, von der ich am meisten gehört hatte (sie wurde in der Firma, in der ich arbeitete, zur Entwicklung von Software verwendet) – PHP. Okay, das Mädchen hat es mir ausgeredet. Sie schlug vor, dass Androider in ihrem Unternehmen (das mobile Anwendungen entwickelt) in Java schreiben + ihr Gehalt scheint gut zu sein. Ich googelte und googelte, dachte darüber nach und beschloss, Java zu lernen.

Auf vielen Betriebssystemen sowie auf einigen Betriebssystemen selbst ist eine große Anzahl von Anwendungsprogrammen in dieser Sprache geschrieben. Jeder Standardkurs ist in zwei Teile gegliedert – Vorlesungen und Übungen. Alle Vorträge sind ausführlich beschrieben und enthalten viele Beispiele. Während der Vorlesungen finden Vorführungen statt und Sie können jederzeit Fragen stellen.

Die Übungen werden von Ihrem Dozenten geleitet. Neben Vorlesungen und Übungen werden auch Hausaufgaben erteilt. Zusätzliche Übungen, die über die in jeder Lektion angebotenen Übungen hinausgehen, sind der Schlüssel zur erfolgreichen Beherrschung des Lernstoffs. Anforderungen sind Kandidaten für analytisches Denken und Beherrschen Englische Sprache auf mittlerem Niveau.

Mein erster Schritt waren die traditionellen Versuche, etwas Neues zu lernen: Bewaffnen Sie sich mit Büchern, beherrschen Sie die Theorie und gehen Sie! So bin ich an das Buch von Horstmann und Cornell – Java gekommen. Grundlagen. Es war März 2014.

Im Allgemeinen war ich mein ganzes Leben lang äußerst schlecht darin, Dinge aus Büchern zu lernen. Das liegt vermutlich daran, welche Art der Wahrnehmung bei einem Menschen vorherrscht. Ich habe den Stoff immer erst richtig gelernt, nachdem ich ihn praktisch durchgearbeitet, gefestigt und damit gespielt habe. Daher waren meine ersten Versuche, Java aus einem Buch zu lernen, zum Scheitern verurteilt. Das Buch ist aber gut.

Gruppenunterricht – von 4 bis 8 Schülern. Die Schüler können einen persönlichen Laptop oder einen von der Schule bereitgestellten Computer nutzen. Das Zertifikat wird an Studierende verliehen, die alle Lehrveranstaltungen besucht und den Lehrstoff erfolgreich bewältigt haben. Unterrichtstage: Montag und Mittwoch oder Dienstag und Donnerstag von 30 bis 30 Uhr. Kursdauer - Wochen. Rabatte auf Computerschulungen: - 10 % für „Bring a Friend“. Der Rabatt wird von beiden Parteien genutzt. - 10 % für „Abrechnung des nächsten Kurses“.

Das Programmieren oder Schreiben von Computerprogrammen bedeutet, die Anweisungen zu erstellen, denen ein Computer folgen soll, und das darauf basierende Programm auszuführen. Zahlen und Nullen sind die einzigen Sprachen, die der Computer versteht. Sogenannt Binärcode- Eine große Anzahl von Nullen und Nullen kann von Ihrem Computer sehr schnell verarbeitet werden, ist für den Menschen jedoch sehr mühsam und die Anweisungen sind nicht effektiv. Deshalb hat der Mensch geschaffen spezielle Programme, was die Programmierung erleichtert. In diesen Programmen erhalten Computer Anweisungen in einer bestimmten Form – einer sogenannten Programmiersprache –, die leichter zu verstehen und zu erlernen ist.

Irgendwann im April bin ich auf die JavaRush VKontakte-Gruppe gestoßen.
Dann lief alles wie auf Schienen. Lösen Sie Probleme, viele Probleme, die mit ein wenig Theorie einhergehen – klar der beste Weg das Material studieren (zumindest für mich). Ich saß zu Hause, ich saß bei der Arbeit und entschied, entschied, entschied.) Damals war ich noch mehr davon überzeugt, dass Programmieren für mich interessant war. Ich konnte mich nicht erinnern, jemals so festgefahren zu sein.

Der Programmiersprachenbefehl wandelt das Programm dann in Binärcode um, damit der Computer es verarbeiten kann. Beispielsweise muss eine einfache mathematische Operation in Hunderten von Zeichen im Binär- oder Maschinencode geschrieben werden. Mit einer Programmiersprache lässt es sich jedoch in wenigen Worten ausdrücken. Wir können zum Beispiel Programmiersprachen benennen.

Überblick über grundlegende Programmierparadigmen

Programmierparadigmen oder Programmierstile basieren auf bestimmten Merkmalen – algorithmischer Abstraktion von Daten, Anweisungen, Kontrollen – und stellen eine bestimmte Denkweise über ein Programm und seine Erstellung dar. Dieses Paradigma ist für Computer-Laien und Anfänger gedacht. Es ist geprägt von Chaos und Inkongruenz. Programmiersprachen, die dieses Paradigma unterstützen, sind minimal strukturiert und bieten minimale Möglichkeiten zur Datenabstraktion.

Es vergingen drei Monate, in denen ich Level 20 erreichte. Es schien mir, dass das weitere Sprachenlernen viel schneller gehen würde, wenn man bereits einen Job als Programmierer hätte – dann wäre man 8 Stunden am Tag, 5 Tage die Woche in diesem Umfeld und würde sich extrem schnell weiterentwickeln.

Also habe ich im August damit begonnen, Lebensläufe zu verschicken. Ein paar Orte haben mich geschickt Testaufgaben, weshalb ich keine Stellenangebote erhalten habe - rückblickend wundere ich mich kein einziges Mal - ich habe die gestellte Aufgabe vielleicht gelöst, aber was für einen schlechten Codierungsstil ich hatte) Das ist übrigens ein kleines Minus von JavaRush – solange das Problem gelöst ist und die Tests bestanden werden, wird die Aufgabe angenommen, obwohl Ihr Code möglicherweise zu wünschen übrig lässt. Es reicht aus, das gleiche Checkstyle-Plugin in Intellij IDEA zu installieren, und die Situation wird anders sein – es werden „zweifelhafte“ Punkte im Code hervorgehoben, wodurch Sie nicht nur funktionierenden, sondern auch schönen, korrekten Code schreiben können.

Objektorientiertes Paradigma

Dies ist eines der ältesten Paradigmen, weshalb es als klassisch bezeichnet wird. Typisch für ein solches Paradigma ist, dass der Rechenvorgang durch Folgen sequentieller Befehle spezifiziert wird. Auch hier kommen in großem Umfang Schleifen zum Einsatz. Die objektorientierte Programmierung ist das Kernelement sogenannter Objekte. Diese Geräte simulieren hauptsächlich reale Objekte: Personen, Objekte, Ereignisse, Dokumente. Jedes Objekt trägt bestimmte Informationen über sich selbst und kann diesen Zustand auf Wunsch ändern.

Wie dem auch sei, im September wurde ich zum ersten Vorstellungsgespräch eingeladen. Die Stellenausschreibung umfasste ungefähr Folgendes: Als Entwickler jeglichen Niveaus bieten wir ein Gehalt an, das den Fähigkeiten entspricht.
Bei diesem Interview waren die Aufgaben ungefähr wie folgt: Ein Codefragment wurde gegeben. Ist es richtig geschrieben und welche Probleme könnten auftreten?
Ich kann mich nicht erinnern, wie viele davon ich richtig verstanden habe. Im Allgemeinen war es notwendig, sich an Null zu erinnern, fast alle Fragen drehten sich darum – dass Sie nicht auf einen Methodenparameter zugreifen sollten, ohne ihn vorher zu überprüfen (wenn param != null).

Das Programm ist dann nicht nach Prozeduren, sondern nach diesen Objekten strukturiert. Beim funktionalen Paradigma basiert der Berechnungsprozess auf der schrittweisen Anwendung von Funktionen. Funktionen gelten für die Ergebnisse anderer Funktionen. Große Programme können Verwirrung stiften. Nach dem Verfahrensparadigma ist es das zweitälteste.

Im logischen Paradigma wird ein Computerprogramm als eine Reihe von Fakten und Regeln, sogenannte Klauseln, dargestellt. Der Programmierer legt dem Computer eine Aussage vor und dieser versucht, basierend auf den Fakten und Artikeln des Programms, die Aussage zu beweisen. Oft stoßen wir auf paradigmenbasierte Sprachen, die Unterstützung für andere notwendige Aktivitäten bieten. Wenn eine ganze Gruppe solcher Sprachen entsteht und ein Programmierstil entsteht, können wir von der Entstehung eines neuen Paradigmas sprechen. Dazu gehören beispielsweise Webprogrammierung, parallele und verteilte Programmierung, Datenprogrammierung.

Aufgrund der Ergebnisse wurde mir angeboten, den ersten Monat lang kostenlos zu arbeiten (als Praktikum), dann ein Gehalt, das niedriger (wenn auch nicht viel) war als an dem Arbeitsplatz, an dem ich war.

Mir war klar, dass ich keine großartigen Vorschläge erwarten sollte, da ich wenig Theorie kannte, nur in JavaRush übte, keine Erfahrung hatte und so weiter. Deshalb stimmte ich zu, dass ich in zwei Wochen abreisen würde (der richtige Zeitpunkt, um an meinem alten Ort aufzuhören).

Der Kurs, den Sie vor sich haben, wird eine großartige Einführung in die Welt des Programmierens sein. Der Autor erklärt Ihnen alle wichtigen Sprachkonstrukte, wie Variablen, Datentypen, bedingte Anweisungen, Schleifen, Arrays, Objekte oder Methoden. Wir erstellen unser erstes Programm, lernen die Sprachsyntax und den Anwendungsentwicklungsprozess. Nach und nach werden wir weitere Elemente einführen, beginnend mit Grundelementen wie Variablen oder logischen Operatoren, die es uns ermöglichen, Daten zu manipulieren. Wir erfahren auch, welche Arten von Daten wir unterscheiden können und was sie sind.

Gleichzeitig habe ich meinen Lebenslauf bei einem anderen Unternehmen eingereicht. Dieses Unternehmen bot Folgendes an:
- 2 Monate Java EE-Schulung (2 mal pro Woche für 4 Stunden)
- Wenn Sie gute Ergebnisse vorweisen (Sie verteidigen erfolgreich Ihr Projekt, an dem Sie diese zwei Monate geschrieben haben), wird Ihnen eine Stelle angeboten.

Das Unternehmen ist sehr gut, ausländisch, bekannt und die Arbeitsbedingungen sind ausgezeichnet – kurzum, ich wollte dort viel lieber hin als dorthin, wo man mir bereits ein Angebot gemacht hatte.
Die Auswahl für die Ausbildung bei ihr umfasste 3 Phasen:
1. Praktische Aufgaben zu Hause erledigen.
2. Bei Erfolg werden Sie zu einem Computertest ins Büro eingeladen.
3. Bei erfolgreichem Test erfolgt noch am selben Tag das Vorstellungsgespräch.

Mit den gewonnenen Erkenntnissen werden wir in der Lage sein, etwas zu erschaffen ein einfaches Programm, das uns ein Brettspiel zeigt. Wir werden auch Tabellen platzieren, die es uns ermöglichen, Daten zu speichern und so generierte Boards zu speichern. Im nächsten Modul stellen wir Themen im Zusammenhang mit der objektorientierten Programmierung vor. In den folgenden Lektionen beginnen wir hier mit grundlegenden Konstrukten, Methoden, Klassen und Objekten, um uns mit fortgeschritteneren Themen wie Kapselung, Polymorphismus, Vererbung und abstrakten Klassen zu befassen.

Wir informieren Sie auch über die testgetriebene Entwicklungsmethodik, die wir in der Praxis anwenden werden. Dies ist eine neue Sicht auf das Programmieren und eine Fähigkeit, die auf dem Arbeitsmarkt sehr gefragt ist, da das Testen ein sehr wichtiger Teil der Arbeit eines Entwicklers ist. In der nächsten Lektion werden wir Spiellogik einfach mithilfe von Tests schreiben. Wir werden mit den Schiffen abschließen, indem wir eine App erstellen, die es uns ermöglicht, das komplette Spiel zu spielen, bis wir alle Schiffe geladen haben. Abschließend sprechen wir auch über Sammlungen und insbesondere über die drei Haupttypen: Karten, Listen und Sammlungen.

Ich habe die praktischen Aufgaben ohne Probleme erledigt – vielen Dank an JavaRush und ihre Probleme, danach schienen diese Aufgaben recht einfach zu sein. Es gab 3 Aufgaben: zu RegExp (Google hat geholfen, weil ich sie selbst nicht ausstehen konnte und mich nicht erinnern konnte), zu Algorithmen (ganz einfach, eher eine mentale Übung) und zum Schreiben/Lesen aus einer Datei (da gibt es viele davon im JavaRush-Kurs). Ich wurde zu einem Computertest eingeladen.

Abschließend werden im Kurs Themen besprochen wie z

Sammlungen – Briefkarten und Sammlungen Und vieles mehr!

  • Objektorientierte Programmierung, Methoden, Klassen, Objekte.
  • Bedingte Anfragen.
  • Polymorphismus, Kapselung, Vererbung.
  • Testgetriebene Entwicklung.
Dies wird eine hervorragende Wissensquelle für Anfänger sein, die noch nicht mit der Erstellung eigener Programme in Berührung gekommen sind.

Es sind keine Vorkenntnisse erforderlich, da die besprochenen Themen von Grund auf übersetzt werden. Ein Videokurs ist die effektivste und gleichzeitig unterhaltsamste Form des Lernens. Der Start erfolgt so, dass Sie ihn mit Interesse und Engagement verfolgen und Freude am Projekt haben können. Das Wissen, das Sie in diesem Kurs erwerben, ist nicht nur trockene Theorie, sondern auch praktische Erfahrung mit langjähriger Erfahrung, die es Ihnen erleichtert, den Stoff zu beherrschen und Ihre eigenen Programme zu erstellen. Die Technik basiert auf der Praxis und die von uns erstellten Ergänzungen werden im Detail besprochen. Der Kurs, den Sie vor sich haben, ist die Essenz praktischer Kenntnisse und Erfahrungen sowie Abkürzungen, die Ihnen stundenlange Arbeit und Suche ersparen. Sie lernen praktische Beispiele kennen. . Die meisten jungen Leute, die ihr Programmierabenteuer beginnen, beginnen lieber damit grafische Umgebungen Entwicklung, bei der ein Programm unter Verwendung grafischer Elemente erstellt wird.

Ich habe mich mithilfe der Quizful-Website (http://www.quizful.net/job-role/junior-java-developer) auf den Test vorbereitet. Diese Tests haben sehr geholfen, einige Fragen überschnitten sich sogar. Ich habe den Test erfolgreich bestanden und sie begannen mit dem Vorstellungsgespräch.

Ich werde dieses Interview wahrscheinlich nie in meinem Leben vergessen.

Alles, was die Person, die mich interviewte, von mir hören wollte, waren die Grundlagen der Java-Theorie, wie zum Beispiel:
- Was ist der Unterschied zwischen aktivierten und nicht aktivierten Ausnahmen?
- Welche Methoden hat die Object-Klasse und warum werden sie benötigt;
- Welche Arten von Sammlungen gibt es und warum gibt es sie?
- und ein wenig über Multithreading.

Dank der benutzerfreundlichen und intuitiven Benutzeroberfläche können sich Anfänger auf die Planung ihrer ersten Algorithmen konzentrieren, ohne etwas lernen zu müssen neue Sprache gleichzeitig. Dieses Medium war eine Zeit lang sehr nützlich, doch mit der Zeit zeigt es seine Grenzen. Es ist schwierig, darin komplexere Programme zu erstellen, da die Blöcke zu viel Platz auf dem Bildschirm beanspruchen und es schwierig ist, die gesamte Funktion zu betrachten. Das zweite Problem, auf das Sie stoßen können, ist die relativ komplexe Verwendung anderer Bibliotheken oder Fragmente anderer Programme.

JavaRush ist ein ausgezeichneter Kurs, in dem Sie lernen, wie man Probleme löst und programmiert, aber die Theorie (für Interviews) muss separat erlernt werden, da ich davon überzeugt war, dass ich in diesen Themen wie ein Fisch im Aquarium schwamm.

Im Laufe einer Woche habe ich dieses Tutorial gründlich studiert und bin am Vorabend des von mir erwarteten Tages zu einem zweiten Vorstellungsgespräch gegangen neue Arbeit. Anscheinend war die Person, die mich interviewte, am meisten von meiner Zielstrebigkeit beeindruckt (ich wusste, wenn ich dieses Praktikum annahm, hing das, was als nächstes geschah, nur von mir ab – in zwei Monaten hätte ich alles herausgefunden, was ich brauchte). Wie dem auch sei, ich habe dieses Praktikum angenommen und mich geweigert, an dem Ort zu arbeiten, an dem ich zuvor angeboten wurde.

Wenn ein Programmierer etwa ein Dutzend Projekte in der Blockumgebung erstellt, vielleicht ohne es überhaupt zu merken, beginnt ihm die revolutionäre Idee zu dämmern, dass es beim Programmieren wirklich nicht um Blöcke oder Code geht. Dies sind lediglich Werkzeuge, um Ihre Gedanken, Ihren Algorithmus, in den Speicher des Computers zu übertragen. Der Kern der Programmierung besteht darin, Wege zu finden, Probleme zu lösen und Probleme zu lösen. Wenn das passiert, stellt sich heraus, dass Programmcode in Textform ist kein Problem. Im Vergleich zu kürzeren Blöcken liest es sich fast wie eine Geschichte und ist gleichzeitig flexibler.

Im Laufe von 2 Monaten wurden uns viele Themen aus Java EE nähergebracht, wie zum Beispiel: Servlets, JSP, Hibernate JSF, Spring und vieles mehr – durch das Praktikum waren wir vertraut (wir hatten eine grobe Vorstellung). ) über den Hauptstack der Java EE-Technologien. Außerdem haben wir während des Praktikums ein eigenes Projekt geschrieben, das am Ende erfolgreich zur Anstellung vorgelegt werden musste.

Um diese Frage zu beantworten, müssen wir darüber nachdenken, wie unsere Interaktion mit der physischen Welt aussieht. Alle Dinge haben ihren eigenen Typ und haben Eigenschaften und Verhalten. Wenn wir zum Beispiel ein bestimmtes Auto nehmen, können wir sagen, dass es sich um eine Kopie eines bestimmten Automodells handelt, das Farbe, Gewicht, Höchstgeschwindigkeit, 4 Räder und 4 Türen hat. Wir können diese Merkmale beobachten, aber nur einige dieser Merkmale können geändert werden, zum Beispiel können wir ein Auto in einer neuen Farbe lackieren. Darüber hinaus können Sie bestimmte Dinge tun, z. B. die Autotür öffnen, starten, fahren.

Ich erinnere mich nur noch an meine ersten Gefühle, als ich bei der ersten Vorlesung war. Ich habe mir die Aufgabe für dieses Projekt angesehen (sie wurde gleich in der ersten Vorlesung gegeben) und wusste nicht einmal, wo ich anfangen und wie man es macht.

Ich erinnere mich auch daran, was es gekostet hat, es erfolgreich zu machen. In diesen zwei Monaten ging mir fast ausschließlich der Gedanke durch den Kopf, dass eine erfolgreiche Anstellung und die Erfüllung eines Traums in meinen Händen lägen und nichts weiter. Es hing nicht von jemand anderem ab, ob ich es schaffen konnte. Nur von mir. Ich hatte meinen Job bereits gekündigt, hatte fast kein Geld und es war wirklich hart. Ich saß morgens da, tagsüber saß ich da, abends saß ich da, wurde aber nie müde, mich zu freuen – ich kann mich nicht erinnern, wann ich mich so besessen einer Sache gewidmet habe. Diese Zeit hat mir wieder einmal gezeigt, wie sehr mir das Programmieren gefällt und wie gerne ich in diesem Bereich arbeiten möchte.

Bei der Abschlussfeier stellte ich mein Projekt vor. Ich habe es wirklich gut verteidigt, anscheinend viel besser als erwartet, und ausnahmsweise wurde ich nicht für die ursprüngliche Position, sondern sofort für die Position des Middle Java Developer eingestellt. Es war der 9. Dezember 2014. Ich konnte es nicht glauben, aber das Stellenangebot lag vor mir auf meinem Monitor. Softwareentwickler. Das ist passiert.

Am 15. Dezember ging ich wieder zur Arbeit. Ich hatte noch nie den Gedanken „Verdammt, ich will nicht zur Arbeit gehen.“ Jeden Tag, wenn ich morgens das Haus verlasse, weiß ich, warum ich zur Arbeit gehe, was ich tun werde und wie sehr ich es möchte. Das macht mich unglaublich glücklich. Es ist den Preis wert und war es wert, den Sie zahlen mussten, um Ihren Traum zu verwirklichen.

Ich wünsche allen, die wirklich Programmierer werden wollen, dass sie ihr Ziel erreichen. Es ist mehr als echt, es ist sehr nah dran, aber man muss dafür bezahlen. Zahlen Sie mit Ihrer verschwendeten Zeit und Nerven, denn etwas von Grund auf zu lernen ist wirklich nicht der einfachste Schritt. JavaRush hat mir dabei geholfen, diese ersten Schritte mit Leichtigkeit zu meistern, und ich war nicht derjenige, der sich aufgrund der scheinbaren Komplexität und Fülle an Theorie gleich zu Beginn von der Programmierung abgewendet hat. So konnte ich meine eher verrückte Idee einer radikalen Veränderung im Berufsfeld (auch ohne technische Ausbildung) zu Ende bringen.

Und das können Sie auf jeden Fall.

In diesem Abschnitt werden die Grundlagen einer objektorientierten Sprache behandelt. Java-Programmierung. Als Java bezeichnet man nicht nur die Sprache selbst, sondern auch die Plattform zum Erstellen und Ausführen von Anwendungen auf Basis dieser Sprache. Die Sprache hieß ursprünglich Oak und wurde von James Gosling zur Programmierung von Unterhaltungselektronikgeräten entwickelt. Später wurde es in Java umbenannt und zum Schreiben von Clientanwendungen und Serversoftware verwendet.

Diese Sprache ist nach der von einigen Programmierern beliebten Java-Kaffeemarke benannt, weshalb das offizielle Logo der Sprache eine Tasse dampfenden Kaffee darstellt.

In Bezug auf die Aussprache in der russischen Sprache haben sich wie in einer Reihe anderer Sprachen zwei unterschiedliche Normen herausgebildet – die entlehnte englische Sprache („dʒɑːvə“ – „java“) und das traditionelle nationale „Java“, entsprechend der traditionellen Aussprache der Name der Insel Java. Sun hält sich in allen Ländern der Welt an die englische Aussprache. Manchmal wird das umgangssprachliche Wort „Kröte“ auch im Alltag verwendet (z. B. findet sich auf den Kalenderkarten der russischen Java-Benutzergruppe ein Bild einer Kröte).

Objektorientierte Java-Programmiersprache

Die Programmiersprache Java wurde von Sun Microsystems entwickelt und ist objektorientiert. Quelle Java-Anwendungen vom Compiler konvertiert javac in einen speziellen Bytecode zur kontrollierten Ausführung umgewandelt virtuelles Java mit dem Auto.

Virtuell Java-Maschine JVM (Java Virtual Machine) ist ein Programm, das Bytecode verarbeitet und als Interpreter Anweisungen an die Hardware weitergibt. Einer der Hauptvorteile diese Methode Die Programmausführung ist völlig unabhängig davon Betriebssystem und Hardware, sodass Sie Java-Anwendungen auf jedem Gerät ausführen können, für das eine entsprechende virtuelle Maschine vorhanden ist.

Zu den weiteren wichtigen Merkmalen der Java-Technologie gehört ein flexibles Sicherheitssystem, bei dem die Programmausführung vollständig von der virtuellen Maschine gesteuert wird. Alle Aktionen, die gegen die Berechtigungen des Programms verstoßen (z. B. der Versuch, unbefugt auf Daten zuzugreifen oder eine Verbindung zu einem anderen Computer herzustellen), führen zum sofortigen Beenden des Programms.

Zu den Nachteilen des Konzepts der Nutzung einer virtuellen Maschine zählen Leistungseinbußen, denen man auf verschiedene Weise entgegenwirken kann:

  • der Einsatz einer Technologie zur Übersetzung von Bytecode in Maschinencode direkt während der Programmausführung – JIT-Technologie;
  • weit verbreiteter Einsatz von plattformorientiertem Code (Native Code) beispielsweise in Standardbibliotheken S.W.T.;
  • Hardware, die eine beschleunigte Bytecode-Verarbeitung ermöglicht, zum Beispiel die Jazelle-Technologie, die von einigen ARM-Prozessoren unterstützt wird.

Java-Versionen

Java 1.0

Die Java-Entwicklung begann im Jahr 1990. Die erste erschien 1996 offizielle Version- Java 1.0.

Java 1.2

Die aktualisierte Spezifikation JDK 1.2 wurde 1998 entwickelt und unter dem Namen Java 2 veröffentlicht. Die Sprache blieb praktisch unverändert, die Plattform erhielt jedoch eine Reihe von Ergänzungen:
  • Swing-Bibliothek für die Entwicklung von Benutzeroberflächen;
  • Sammlungssatz;
  • Unterstützung für Richtliniendateien und digitale Zertifikate Benutzer;
  • Barrierefreie Bibliothek;
  • Java 2D;
  • Unterstützung für Drag-and-Drop-Technologie;
  • Vollständige Unicode-Unterstützung, einschließlich Japanisch, Chinesisch und Koreanisch;
  • Unterstützung für die Wiedergabe von Audiodateien verschiedener Formate;
  • JIT-Compiler.

Java 5.0

Im Jahr 2004 wurde die Java 5.0-Spezifikation veröffentlicht. Seit der Entwicklung dieser Version wurde die offizielle Indexierung geändert; Anstelle von Java 1.5 ist es korrekter, es Java 5.0 zu nennen. Die interne Indexierung von Sun blieb unverändert – 1.x.

Kleinere Änderungen werden berücksichtigt, ohne die Indizierung zu ändern. Dafür wird das Wort „Update“ verwendet, zum Beispiel Java Development Kit 5.0 Update 25. Es wird davon ausgegangen, dass Updates sowohl Fehlerbehebungen als auch kleine Ergänzungen zur JVM Virtual Machine API umfassen können.

In Version Java 5.0 Es wurden einige grundlegende Ergänzungen vorgenommen:

  • Aufzählungstypen Aufzählung;
  • Anmerkungen – die Möglichkeit, dem Programmtext Metadaten hinzuzufügen, die keinen Einfluss auf die Ausführung des Codes haben, aber verwendet werden können, um verschiedene Informationen über den Code und seine Ausführung zu erhalten;
  • Methoden mit einer unbestimmten Anzahl von Parametern;
  • Der Import statischer Felder und Methoden ist erlaubt;
  • können in der Sammlung verwendet werden Iterator Objekte ( für jede);
  • Verwendung Javadoc Kommentare zur automatischen Dokumentation;
  • verallgemeinerte Programmierwerkzeuge Generika.

Java 6

Eine weitere Veröffentlichung wurde im Dezember 2006 veröffentlicht Java 6. Mit dieser Version wurden Änderungen an der offiziellen Indexierung vorgenommen – anstelle von Java 6.0 wird die Version als Java 6 aufgeführt. Kleinere Änderungen, wie in vorherige Version sind in regelmäßigen Versionsaktualisierungen enthalten, beispielsweise im Java Standard Edition Development Kit 6 Update 25.

In Version Java 6 Die folgenden wesentlichen Änderungen wurden von den Entwicklern „zur Kenntnis genommen“ vorgenommen:

  • Die Leistung von OpenGL und DirectX wurde in Swing verbessert;
  • GifWriter für die Arbeit mit GIF-Dateien hinzugefügt;
  • Stream-Klassen wurden zum Lesen und Übertragen komprimierter Daten mit der Möglichkeit, diese über das Netzwerk zu übertragen, verfügbar;
  • Archivierung – Beschränkungen hinsichtlich der Anzahl der Dateien im Archiv wurden aufgehoben (vorher 64 KB), die Länge des Dateinamens wurde erhöht (vorher 256 Zeichen)
  • Die Beschränkungen für die Anzahl der gleichzeitigen Personen wurden aufgehoben Dateien öffnen(vorher war es 2000).
  • ein Cache-Verwaltungssystem wurde organisiert und Unterstützung für den „no-cache“-Parameter in der HTTP-Anfrage wurde hinzugefügt;
  • neben den bereits existierenden gregorianischen und buddhistischen Kalendern wurde auch die Unterstützung des japanischen Kaiserkalenders hinzugefügt;
  • Sie können Java HTTP Server verwenden, um eine vollständige zu erstellen HTTP-Server mit den minimal notwendigen funktionellen Eigenschaften;
  • Die Berechnungsgeschwindigkeit und die Geschwindigkeit der I/O-Operationen wurden erhöht.

Java 7

Versionsfreigabe Java 7 fand im Juli 2011 statt. Leider in der finalen Version Java Standard Edition 7 Einige zuvor geplante Änderungen wurden nicht berücksichtigt und beschlossen, sie zu ergänzen Java Standard Edition 8.

IN neue Version, angerufen Java Standard Edition 7 Zusätzlich zu Fehlerbehebungen wurden mehrere Neuerungen eingeführt:

  • Es wurde ein neuer Typverifizierer hinzugefügt, der etwas schneller arbeitet, der „Typechecking Verifier“;
  • Den Sammlungen (Datensätzen) wurden Schnittstellen zum Organisieren einer Warteschlange hinzugefügt.
  • Modifikation des Klassenladers (Klassenlader);
  • URLClassLoader – Freigeben der vom Klassenlader gehaltenen Ressourcen mithilfe der Methode close();
  • JDBC wurde auf Version 4.1 aktualisiert, Rowset auf Version 1.1;
  • neues Look-and-Feel der nächsten Generation hinzugefügt;
  • nio.2 – neue Schnittstellen für den Zugriff auf das Dateisystem, skalierbare asynchrone IO-Interaktion, vollständige Arbeit mit Zip/JAR-Archiven als Dateisystem;
  • Unterstützung für Unicode 6.0-Version;
  • generisch – Ändern Sie die Typinferenz beim Erstellen eines Objekts.
  • Gebietsschema – Benutzer- und GUI-Gebietsschemata sind getrennt; Textformatierung und Nachrichtenanzeige auf dem Bildschirm verfügen über unabhängige „Gebietsschemata“.

Java 8

Versionsfreigabe Java 8 fand im März 2014 statt. Liste der Neuerungen:

  • Volle Unterstützung für Lambda-Ausdrücke.
  • Stichwort Standard in Schnittstellen zur Unterstützung der Standardfunktionalität.
  • Links zu Methoden.
  • Funktionale Schnittstellen(Prädikate, Anbieter usw.).
  • Streams zum Arbeiten mit Sammlungen.
  • Neue API zum Arbeiten mit Datumsangaben.

Java-Technologien

Es gibt mehrere Hauptfamilien von Java-Technologien:

TechnologieBeschreibung
Java SE – Java Standard Edition Kern-Java-Technologie einschließlich Compiler, APIs, java Laufzeit Umfeld; Wird zum Erstellen benutzerdefinierter Desktop-Anwendungen verwendet.
Java EE – Java Enterprise Edition Technologie zur Erstellung von Software auf Unternehmensebene. Wird für die Entwicklung von WEB-Anwendungen verwendet.
Java ME – Java Micro Edition Technologie zur Erstellung von Programmen für Geräte mit begrenzter Rechenleistung, beispielsweise Mobiltelefone.
JavaFX Schöpfungstechnologie grafische Oberflächen Unternehmensanwendungen und Business.
Java-Karte Technologie zum Erstellen von Programmen für Anwendungen, die auf Smartcards und anderen Geräten mit sehr begrenzter Kapazität laufen.

Android-Entwicklungstools, Java für Android

Java aktiv zum Schaffen genutzt mobile Anwendungen für die Betriebsumgebung Android. In diesem Fall werden Programme zur Verwendung in nicht standardmäßigen Bytecode kompiliert virtuelle Maschine Dalvik. Für eine solche Zusammenstellung wird es verwendet zusätzliches Werkzeug, entwickelt von Google - Software Development Kit (SDK).

Mithilfe eines Plugins können Sie auch Anwendungen in Android Studio, NetBeans oder Eclipse entwickeln Android-Entwicklungstools (ADT) oder in IntelliJ IDEA. Die JDK-Version muss mindestens 5.0 sein.



Freunden erzählen