Heim Java javaLernprogramm Detaillierte Einführung in den Weg zur Java-Weiterentwicklung

Detaillierte Einführung in den Weg zur Java-Weiterentwicklung

Jul 23, 2017 pm 02:59 PM
java primär 程序员

Wie man lernt, sich von einem Junior-Java-Programmierer zu einem qualifizierten Architekten zu entwickeln, oder welche Art von technischem Wissen ein qualifizierter Architekt haben sollte. Dies ist nicht nur eine Frage für einen Junior-Programmierer, der gerade erst den Arbeitsplatz betreten hat wird oft von erfahrenen Programmierern gefragt, die nach drei bis fünf Jahren Arbeit verwirrt sind. Ich hoffe, dass dieser Artikel die umfassendste und maßgeblichste Antwort ist, die Sie je gesehen haben.

1: Grundlagen der Programmierung

Ob C oder C++, ob Java oder PHP, wenn Sie ein qualifizierter Programmierer werden möchten, grundlegende Datenstrukturen und Algorithmus-Grundlagen müssen noch vorhanden sein. In den folgenden Artikeln werden häufig verwendete Datenstrukturen und klassische Algorithmen für Sie von der Idee bis zur Implementierung erläutert.

1-1 Gemeinsame Datenstrukturen

Array, verknüpfte Liste, Heap, Stapel, Warteschlange, Hash-Tabelle, Binärbaum usw.

1-2 Algorithmusideen

Analyse und Berechnung der zeitlichen und räumlichen Komplexität des Algorithmus

Algorithmusideen: Rekursion, Rekursion, Erschöpfung, Gier, Teile und Herrsche, dynamische Programmierung, Iteration, verzweigt

1- 3 klassische Algorithmen

Klassische Sortierung: Einfügungssortierung, Blasensortierung, schnelle Sortierung (geteilte Austauschsortierung), direkte Auswahlsortierung, Heap-Sortierung, Zusammenführungssortierung

Klassische Suche: sequentielle Suche, binäre Suche, Binäre Sortierbaumsuche

1-4 Erweiterte Datenstrukturen

B+/B-Zahlen, Rot-Schwarz-Bäume, Diagramme usw.

1-5 Erweiterte Algorithmen

Graph-Tiefensuche, Graph-Breitensuche, topologische Sortierung, Dijkstra-Algorithmus (Single-Source-Shortest-Path), Huffman-Codierung, euklidische Division, minimaler Spannbaum usw.

2: Grundlagen der Java-Sprache

Die Java-Sprache, die vor etwas mehr als 20 Jahren geboren wurde, ist weit verbreitet in Web-Websites, in mobilen Geräten und Desktop-Anwendungen Viele Jahre in Folge stand es an der Spitze der TOBIE-Programmiersprachen-Rangliste und hat kürzlich die Meisterschaft angeführt. Was die herausragenden und markanten Merkmale von Java sind, muss zunächst geklärt werden.

2-1 Grundlegende Syntax

Java-Syntaxformat, Konstanten und Variablen, Variablenbereich, Methoden und Methodenüberladung, Operatoren, Programmflusskontrolle, verschiedene grundlegende Datentypen und Verpackungsklasse

2-2 Wichtig: Sammlungsklasse

Sammlung und verschiedene Listen-, Mengen-, Warteschlangen-, Kartenimplementierungs- und Integrationsbeziehungen, Implementierungsprinzipien

Sammlungen und Arrays

2-3 Andere JavaAPI

String und StringBuffer, System- und Runtime-Klassen, Date- und DateFomat-Klassen

java.lang-Paket

java.util-Paket ( Sammlungsklassensystem, reguläre Ausdrücke, zip , sowie Zeit, Zufallszahlen, Eigenschaften, Ressourcen und Timer usw.)

java.math-Paket

java.NET-Paket

java.text-Paket (verschiedene Formatierungsklassen usw.)

java.security-Paket

2-4 Objektorientiert, schnittstellenorientiert

Die drei Hauptmerkmale von Objekten: Kapselung und Vererbung Und Polymorphismus , Vor- und Nachteile

Wie man eine Klasse entwirft, Gestaltungsprinzipien einer Klasse

dieses Schlüsselwort, letztes Schlüsselwort, statisches Schlüsselwort

Der Instanziierungsprozess eines Objekts

Umschreiben und Überladen von Methoden; der Parameterübergabeprozess von Methoden und Methoden

Konstruktor

Innere Klassen, abstrakte Klassen, Schnittstellen

Polymorphismus von Objekten (Konvertierung zwischen Unterklassen). und übergeordnete Klassen, Verweise auf übergeordnete Kartonklassen), Anwendung abstrakter Klassen und Schnittstellen im Polymorphismus

2-5 JVM-Speichermodell, Garbage Collection

2-6 Über Ausnahmen

Auslösbar/Fehler/Ausnahme, geprüfte Ausnahme vs. ungeprüfte Ausnahme, Abfangen und Auslösen von Ausnahmen, Prinzipien zum Abfangen von Ausnahmen, Verwendung von „finally“

2-7 Multithreading

Konzepte von Threads und Prozessen

So erstellen Sie Multithreading in einem Programm, Thread-Sicherheitsprobleme, Kommunikation zwischen Threads

Thread-Synchronisierung

Analyse des Deadlock-Problems

Thread-Pool

2-8 IO

java.io-Paket, verstehen Sie die Designideen des IO-Systems basierend auf dem Pipeline-Modell und den allgemeinen IO-Klasseneigenschaften und Nutzungssituationen.

Datei- und verwandte Klassen, Byte-Streams InputStream und OutputStream, Zeichen-Streams Reader und Writer sowie entsprechende Puffer-Streams und Pipe-Streams, Byte- und Zeichenkonvertierungs-Streams, Verpackungs-Streams und häufig verwendete Verpackungsklassen

Analysieren Sie die E/A-Leistung

2-9XML

Seien Sie mit den Vor- und Nachteilen von SAX, DOM und JDOM vertraut und können Sie eines davon verwenden, um die XML-Analyse und Inhaltsverarbeitung abzuschließen des Parsens Methodenprinzipien

2-10 Einige erweiterte Funktionen

Reflexion, Proxys, Generika, Aufzählungen, reguläre Java-Ausdrücke

2-11 Netzwerkprogrammierung

Grundsätze und anwendbare Szenarien von Netzwerkkommunikationsprotokollen, Socket-Programmierung und Arbeitsprinzipien von WEB-Servern

2-11 Jede Version von JDK1.5, JDK1.6, JDK1.7 und JDK1.8 ist besser als zur Vorgängerversion Welche neuen Funktionen hinzugefügt und welche Verbesserungen vorgenommen wurden

3: Datenbankbezogen

Wie bereits erwähnt, die Datenstruktur ist einfach wie ein elektronischer Aktenschrank und ein Lager, das Daten gemäß einer bestimmten Datenstruktur organisiert, speichert und verwaltet.

3-1 Theoretische Basis

Prinzipien und Paradigmen des Datenbankdesigns

Transaktionen (ACID, Arbeitsprinzip, Transaktionsisolationsstufe, Sperren, Transaktionsweitergabemechanismus)

3-2 Analyse der Vor- und Nachteile und Nutzungsszenarien verschiedener Datenbanken

MySQL/SQLServer/Oracle und verschiedener NoSQL (Redis, MongoDB, Memcached, Hbase, CouchDB, etc.)

3 - 2 SQL-Anweisungen

Datenbankerstellung, Berechtigungszuweisung, Tabellenerstellung, Hinzufügung, Löschung, Änderung, Abfrage, Verbindung, Unterabfrage

Trigger, gespeicherte Prozeduren, Transaktionssteuerung

3 -3 Optimierung

Indexprinzip und -anwendung, Optimierung großer Tabellenabfragen, Optimierung von Mehrtabellenverbindungsabfragen, Unterabfrageoptimierung usw.

3-4 Unterdatenbank, Untertabelle, Sicherung, Migration

Importieren, Exportieren, Unterdatenbank, Untertabelle, Cold-Standby und Hot-Standby, Master-Slave-Backup, Dual-Machine-Hot-Standby, vertikale Erweiterung, horizontale Erweiterung

3-5 JDBC

JDBC-Verbindung, Anweisung, PreparedStatement, CallableStatement, ResultSet und andere verschiedene Verwendungsarten

Verbindungspool (Konfigurationsnutzung, Implementierungsprinzip)

ORM, DAO

Viertens: JavaWeb Core-Technologie (einschließlich einiger Frontends)

HTML5/Css/js native/jQuery

Ajax (domänenübergreifend usw.)

JSP/JavaBean/Servlet/EL/JSTL /TabLib

JSF

JSON

EJB

Serialisierung und Deserialisierung

Regelmaschine

Suchmaschine

Vorlagenmaschine

Cache

Authentifizierung

Testen

Cluster

Persistenz

Generierung statischer Seitentechnologie

Hohe Leistung

Sicherheit

Transaktions-JTA

Andere Dinge, die Sie tun müssen wissen, wie zum Beispiel: Management JMX, Sicherheit JCCA/JAAS, integrierte JCA, Kommunikation JNDI/JMS/JavaMain/JAF, SSI-Technologie

5. Mainstream-Frameworks und Tools

Struts1/Struts2

Spring (IoC, AOP usw.), SpringMVC

Persistenz: Ruhezustand/MyBatis

Log: Log4j

Unit-Test: JUnit

Nachrichtenwarteschlange: ActiveMQ, RabbitMQ usw.

Lastausgleich: Nginx/HaProxy

Webserver: Tomcat, JBoss, Jetty, Resin , WebLogic, WebSphere usw.

Kommunikation: WebService (cxf Soap, Restful Protocol)

Cache: Redis, Memcached

Workflow: Aktivität, JBPM

Suchmaschine: Lucene, Solr basierend auf Lucene-Kapselung

Vorlagen-Engines: Velocity, FreeMaker

Big Data: Hadoop (HDFS und MapReduce)

Build-Tools: Ant/Maven

6, JavaWeb-Systemdesign und -Architektur

Java-Entwurfsmuster

JAVA- und UML-Modellierung

Serviceorientierte Architektur: SOA/SCA/ESB/OSGI/EAI, Micro Service

Ressourcenorientierte Architektur: ROA/REST

Cloud-orientierte Architektur: COA/Saas/Cloud Computing

Große Website-Lastverteilung, Systemoptimierung usw.

Mehr

Fähigkeit zur Fehlerbehebung:

Anhand der Ausnahmeinformationen und des ungefähren Standorts sollte es möglich sein, die Ursache des Problems schnell zu lokalisieren

Optimierungsfunktionen

Codespezifikation und Codeverwaltung:

verfügt über ein eigenes Codespezifikationssystem und der Code kann gut lesbar sein

Breites Wissen:

Verstehen verschiedene Netzwerkprodukte und -funktionen verstehen, verschiedene Middleware verstehen, wissen, wo die Fallstricke liegen, und mit verschiedenen Technologien vertraut sein, die Vor- und Nachteile der Lösung kennen, wissen, wie man verschiedene Ressourcen integriert und optimale Ergebnisse erzielt.... verschiedene Technologien verstehen und Anwendungsszenarien und verfügen über genügend Berufserfahrung, um verschiedene seltsame Probleme bei der Integration zu lösen

Technisches Management/technischer Direktor:

Produktmanagement, Projektmanagement, Teambildung, Teamverbesserung

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den Weg zur Java-Weiterentwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Oct 13, 2024 pm 01:32 PM

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

See all articles