Heim >Java >javaLernprogramm >Entwicklungstrends, die Java-Programmierer nicht verpassen sollten
Es gibt viele heiße Themen, wenn es um Code geht, und es liegt immer im Trend, mit der Zeit Schritt zu halten. Wenn Sie sich fragen, wie Sie den Abfall vom Guten trennen können, sind Sie bei uns genau richtig. Alles, was Sie brauchen, ist die Inspiration, weiterzulesen.
Im folgenden Inhalt werfen wir einen Blick auf die Hotspots im Jahr 2016 und darauf, was dieses Jahr heißer sein wird. Natürlich spreche ich von Java. Okay, lass uns die Segel setzen.
Beginnen wir mit einem Fehler in Java 6. Dieser Fehler wird in Java 9 zu einer Funktion: sun.misc.Unsafe. Diese Bibliothek ist eine Sammlung von Methoden zur Durchführung unsicherer Vorgänge auf niedriger Ebene. Wenn Sie beispielsweise die allocateInstance-Methode verwenden, können Sie die Objektinitialisierungsphase überspringen oder Sicherheitsprüfungen im Konstruktor umgehen.
Obwohl Oracle erwog, die Unsafe-Bibliothek ganz zu entfernen, änderte die Community ihre Meinung und machte die Unsafe-Bibliothek schließlich zu einem Feature von Java 9.
Dies ist nicht das einzige Mal, dass die Community über Java 9 oder mögliche Änderungen in zukünftigen Java-Versionen spricht. Anfang des Jahres veröffentlichte Brian Goetz, der Java-Spracharchitekt von Oracle, die Ergebnisse von JEP 286.
Der Vorschlag empfiehlt die Einführung der Inferenz lokaler Variablentypen in zukünftigen Java-Versionen, um das Schreiben von Java-Anwendungen zu vereinfachen. Substanz? 74 % der Entwickler möchten weniger ausführlich sein und Variablen deklarieren können, ohne den zugehörigen Typ angeben zu müssen.
Mit mehr als 200 Tagen bis zur Veröffentlichung von Java 9 (da wir das Veröffentlichungsdatum an unseren Fingern abzählen) haben wir genügend Zeit, uns mit den verschiedenen JEPs auseinanderzusetzen und neue und verbesserte Funktionen zu finden. Hier stoßen wir auf JEP 266: weitere Parallelitätsupdates, einschließlich Updates für CompletableFuture und die aufregende Klasse java.util.concurrent.Flow.
Es besteht kein Zweifel, dass Java 9 im vergangenen Jahr für Schlagzeilen gesorgt hat und auch zu Beginn des Jahres 2017 immer mehr Aufmerksamkeit erregen wird. Jetzt müssen wir nur noch abwarten und hoffen, dass es nicht noch einmal zu einer Verzögerung kommt.
2016 ist ein bedeutungsvolles Jahr für Java Enterprise Edition, auch bekannt als Java EE. Es hat in der globalen Java-Community für Verwirrung gesorgt, da es auf Java SE basiert. Offiziell handelt es sich „nur“ um eine Spezifikation mit tatsächlich verwendbaren Implementierungen von Oracle (wie der Glassfish-Referenzimplementierung) und anderen Anbietern wie Red Hat und IBM.
Es gibt viele Probleme mit Java EE, vor allem dieses: „Hat Oracle die Unternehmenssoftware aufgegeben?“ Der Todesstoß für Java EE kommt aus dem Bericht „Application Platform Market Guide“ von Gartner. In dem Bericht stellte Gartner fest, dass Java EE für „ein Modell entwickelt wurde, das veraltet ist und die Anforderungen moderner Anwendungen nicht mehr erfüllt“. Leider~
Die Java-EE-Community meinte, dass Gartner nicht Recht hatte, was eine Diskussion um diese Version auslöste. Java EE 8 wird voraussichtlich in der ersten Hälfte des Jahres 2017 veröffentlicht, und wir sind der Meinung, dass es jetzt noch zu früh ist, es zu loben. Wir müssen abwarten, wie sich das entwickelt und ob Java EE abstürzt.
Java ist nicht einfach Java 9, es hat viele Trends, über die Sie auf dem Laufenden bleiben müssen. Ein guter Anfang ist es, die 100 besten Java-Bibliotheken des Jahres 2016 durchzustöbern, um zu prüfen, ob Sie im letzten Jahr etwas übersehen haben könnten.
Wenn Bibliotheken nicht Ihr Ding sind, gibt es außerdem einige interessante Java-Bibliotheken von Google (nicht Guava), die einen Blick wert sind.
Auf dem Bildungsweg gibt es einige Schlüsselelemente, die Sie nur mit Erfahrung erlernen können. Seien Sie also auf das Lernen vorbereitet.
Wenn Sie eine Herausforderung suchen, gibt es viele Projekte, die Ihre Zeit wert sind. Sie können versuchen, diese eleganten Probleme zu lösen, Saiten zu manipulieren oder sogar einen Java-Musikplayer zu verwenden und dabei nach und nach zu lernen. Wenn Sie auf Probleme stoßen oder Fragen haben, steht Ihnen natürlich jederzeit der großartige Stackoverflow zur Verfügung. Hier sind sieben der besten Fragen, die wir gefunden haben.
Lustige kleine Anekdote: Können Sie erraten, wie die Top-Java-Projekte von GitHub Protokolle verwenden? Wir haben 779.236 Java-Protokollierungsanweisungen in 1.313 GitHub-Repositorys analysiert, um herauszufinden: FEHLER, WARNUNG oder FATAL?
Container sind im neuen Jahr sehr nützlich geworden und sie sind auch sehr praktisch bei der Verwaltung des Lebenszyklus eines Servlets, der Zuordnung von URLs zu bestimmten Servlets und der Sicherstellung, dass URL-Anforderer über die richtigen Zugriffsrechte verfügen.
Viele Menschen interessieren sich für Java-Container. Nur wenige Monate nachdem wir Interesse an der Kombination von Alpine Linux und Docker geweckt hatten, begannen wir, allein mit dem OverOps-Support zu chatten, und dann sahen wir, dass immer mehr Benutzer es mit ihren Containern ausprobierten.
Aus diesem Grund haben wir uns entschieden, Alpine Linux auszuprobieren, das von Linux unabhängig ist und auf musl libc (ausgesprochen „Muscle“) und Busybox basiert. Es ist nicht nur leichtgewichtig, sondern folgt auch dem sicherheitsorientierten Prinzip und verwendet grsec/Pax, um die Sicherheit des Linux-Kernels zu erhöhen.
Docker bleibt eines der angesagtesten Tools der Branche. Das Unternehmen übernimmt die anspruchsvolle Aufgabe des Versandcodes und macht die Verwendung von Containern schneller und einfacher. Wenn Sie jedoch Java mit Docker verwenden möchten, sollten Sie es sich noch einmal überlegen, da dies dazu führen kann, dass Sie gegen das (Java-)Gebot verstoßen.
Wir wissen, was Sie denken – hier ist ein Blick auf dieses Schlagwort. Eines der häufigsten Themen, denen wir im Jahr 2016 begegneten, war DevOps, das eine große Vielfalt an Bedeutungen und Arbeitsmethoden hat. Der Kernpunkt dabei ist, sich darauf zu konzentrieren, zu wissen, was in einer Echtzeitanwendung passiert, und es steuern zu können.
Wie machen wir das? Durch die Überwachung unserer Produktionsumgebung. Es treten ständig Leistungsprobleme, Fehler und Ausnahmen auf und wir müssen genau wissen, was vor sich geht. Aber woher wissen wir, wann und warum etwas nicht stimmt? Hier kommt das Konzept der Observability ins Spiel, das uns hilft, Einblick in das System zu gewinnen und zu wissen, was vor sich geht.
Es ist Teil des DevOps-Workflows und in der Kontrolltheorie eine Messung, die die Kenntnis ihrer externen Ausgabe nutzt, um auf den internen Zustand des Systems zu schließen. Hier kommt ein weiteres „Schlagwort“: Instrumentierung. Es ist die Instrumentierung, die es uns ermöglicht, Erkenntnisse zu gewinnen, bevor Anwendungen uns und unsere Benutzer verrückt machen.
Nachdem wir diese Bausteine etabliert haben, ist es nun an der Zeit, Tools bereitzustellen, die uns bei der Überwachung der Anwendungsleistung helfen können. Sobald die Anwendung läuft, müssen wir wissen, ob und wann ein Fehler oder eine Ausnahme ausgelöst wird. Aus diesem Grund gibt es viele Bug-Tracking-Tools auf dem Markt, sodass Sie nur noch das richtige auswählen müssen.
Fehler sind nicht das einzige Problem, das unsere Aufmerksamkeit erfordert. Die größte verbleibende Herausforderung im Jahr 2016 ist der Umgang mit Protokolldateien. Jeder nutzt Protokolldateien, um Fehler, Abstürze und Ausnahmen in Anwendungen zu suchen und zu verstehen. Manche Leute verwenden einen direkten Ansatz und durchsuchen Klartext-Protokolldateien, während andere sich auf Protokollverwaltungstools verlassen, um Fehler im Protokoll-Heuhaufen zu finden.
Wenn Sie nach einer neuen Möglichkeit zum Debuggen von Produktionsfehlern und Ausnahmen suchen, bietet Ihnen OverOps (im Jahr 2016 überarbeitet) den vollständigen Quellcode und den Variablenstatus des gesamten Aufrufstapels. Jeder Parameter und jede Variable, die einen Fehler verursacht, wird an die Transaktion oder den Workflow übergeben.
Wir können den Trend zu Microservices nicht ignorieren. Einige werden sagen, es sei nur ein weiteres unerträgliches Schlagwort, während andere die Vorzüge des Abbaus von Monolithen preisen oder einen konträren Ansatz verfolgen und sich auf das Negative konzentrieren.
Egal aus welcher Sicht man es betrachtet, es scheint, als ob heutzutage jeder Microservices betreibt. Jetzt muss man nur noch aufpassen, dass man es in der Produktion beim Einsatz von Microservices nicht berührt.
Auch die Serverless-Computing-Architektur hat in den letzten Jahren Aufmerksamkeit erregt. Das Konzept des Serverless Computing beinhaltet die Bereitstellung von Code, nicht von Servern. Anstatt Server zu kaufen, zu verwalten und zu skalieren, kümmern sich Cloud-Anbieter um Anfragen nach VMs.
Sie benötigen also immer noch den Server, aber dieses neue Modell übernimmt diese Verantwortung. Mit anderen Worten: Die Bereitstellung auf dem Server oder der installierten Software ist problemlos möglich. Im Grunde benötigen Sie lediglich einen verwalteten Cloud-Dienst und einen Computer.
Und das letzte: Auch wenn es künstliche Intelligenz und maschinelles Lernen schon seit einiger Zeit gibt, fühlt es sich immer noch so an, als ob alle noch darüber reden. Sie sind unter Wissenschaftlern und Forschern kein Geheimnis mehr und können in fast jeder neuen Technologie umgesetzt werden.
Die jüngste Begeisterung und die evolutionären Fortschritte auf diesem Gebiet haben es auch für Nichtforscher zugänglicher gemacht. Jetzt haben Sie vollständigen und einfachen Zugriff auf relevante Algorithmen und Tools. Sie müssen wissen, was Sie tun, und es ist viel einfacher, eine Anwendung mit Funktionen für maschinelles Lernen zu erweitern.
Man muss die Java-Community lieben. Denn sie haben nicht nur zukünftige Versionen der Sprache beeinflusst, sondern uns alle auch durch Meetups, Artikel und alles, was mit Java zu tun hat, bereichert. 2016 gab es einige wirklich tolle Konferenzen wie JavaOne, QCon und viele weitere großartige Vorträge, die Sie sich jetzt noch einmal ansehen können.
Eine der wichtigsten Ressourcen zum Erlernen neuer Dinge in der Softwareentwicklung ist das Ansehen von Online-Vorlesungen und -Videos. Es ist eine großartige Plattform, weil Java-Experten ihre Erfahrungen mit uns teilen, ohne dass Sie Ihr Sofa verlassen und herumlaufen müssen.
Wenn das Ansehen von Videos nicht Ihr Ding ist, können Sie sich durch das Durchsuchen von Java-Decks über aktuelle Trends auf dem Laufenden halten.
Die Unterstützung durch Gleichaltrige ist für jeden Aspekt unserer Arbeit relevant und wir können viel von unseren Mitmenschen lernen. Ein Schlüsselmerkmal ist die Produktivität, da es immer Raum für Verbesserungen gibt. Wir müssen lediglich bereit sein, Vorschläge anzunehmen und jedem zuzuhören, der sich zu Wort melden möchte.
Ein weiteres Schlüsselelement der Community ist die Unterstützung und Förderung von Open-Source-Projekten. Tatsächlich haben wir das Befehlszeilentool, auf das Sie gewartet haben (oder vielleicht auch nicht), offiziell gestartet – Bullshifier. Es wurde verwendet, um einige Überwachungsfunktionen auf einer lächerlich großen Codebasis mit Zehntausenden von Aufruftiefen und Tausenden von Klassen zu testen, und endete mit ungewöhnlichen Transaktionen.
Im Jahr 2016 sind wir auf viele Themen und Schlagworte gestoßen. Einige kennen wir bereits, andere neue ermöglichen uns einen völlig anderen Blick auf Java. Jetzt freuen wir uns auf Java 9 im Jahr 2017 und erwarten einige Updates und weitere tolle Funktionen, Vorträge, Projekte und sogar das ein oder andere neue Schlagwort für Java im Jahr 2017.
Was war Ihr Lieblings-Java-Feature, -Vortrag oder -Thema im Jahr 2016? Wir würden uns freuen, von Ihnen in den Kommentaren unten zu hören.
Englischer Originaltext: Wenn Sie 2016 Java geschrieben haben, sind hier die Trends, die Sie nicht verpassen durften
Das obige ist der detaillierte Inhalt vonEntwicklungstrends, die Java-Programmierer nicht verpassen sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!