1. Core Java sind die Grundlagen von Java und die Klassenbibliothek von JDK, aber es reicht nicht aus, zu verstehen, was passiert Der Quellcode von JDK ist sehr gut geschrieben. Sie sollten ihn häufig überprüfen, z. B. String, Sammlungsklassen (Liste, Karte, Set) und andere Datenstrukturen. Sie müssen deren Implementierung kennen und wissen, welche Unterschiede zwischen ihnen bestehen Nur dann können Sie wissen, wie Sie es in einem bestimmten Fall verwenden können. Schauen Sie sich einfach den Quellcode für diese Inhalte an.
2. Multithreaded Concurrent Programming Heutzutage ist Parallelität fast eine notwendige Technologie zum Schreiben serverseitiger Programme. Für diesen Teil empfehle ich, mit Multithreading vertraut zu sein, einschließlich des Objektsperrmechanismus Sie lesen das Buch „Java Concurrent Programming Practice“, das es ausführlich erklärt
3. Zunächst müssen Sie mit der Socket-Programmierung in Java und I/O-Paketen vertraut sein Gehen Sie dann tiefer auf Java NIO ein und gehen Sie dann tiefer auf die Socket-Implementierung am unteren Rand des Betriebssystems ein. Verstehen Sie, wie sie in Windows- und Linux-Sockets implementiert ist.
4 Einige Kenntnisse über JVM sind nicht vorhanden Sie müssen es kennen, aber es muss verstanden werden. Dies ist die Essenz von Java, die als der Mutterkörper von Java bezeichnet werden kann verstehen) Java-Sperren verstehen, Multithreading ist hilfreich), Bytecode, JVM-Modelle, verschiedene Garbage Collectors und Auswahlmöglichkeiten, JVM-Ausführungsparameter (Optimierung von JVM) usw. Dieses Wissen ist im Buch „Ausführliche Java Virtual Machine“ enthalten Weitere Informationen finden Sie auf der Oracle-Website, um die spezifische Version der JVM-Spezifikation zu überprüfen.
5 Einige häufig verwendete Entwurfsmuster wie Singletons, Vorlagenmethoden, Agenten usw Wie in Core Java und Die Implementierung einiger spezifischer Szenarien im Java-Framework muss möglicherweise zunächst langsam akkumuliert werden. Nachdem Sie mehr gesehen haben, werden Sie sie natürlich verwenden.
6. Häufig verwendete Datenbanken (Oracle, MySQL usw.), SQL-Anweisungen und allgemeine Optimierung
7. Die gleichen Prinzipien gelten für JavaWeb-Entwicklungsframeworks wie Spring, iBatis und andere Am effektivsten ist es wichtig, zumindest ihre allgemeinen Prinzipien zu kennen.
8. Einige andere bekannte Open-Source-Frameworks und -Pakete, die weit verbreitet sind, wie das Netty-Netzwerk-Framework, das N-Multipaket von Apache Common, Guava von Google usw. Sie können auch häufig auf Github nachsehen einige Codes.
Makroskopisch:
1. In Bezug auf die technische Breite
Sie müssen mindestens mehrere Open-Source-Technologien beherrschen und die Quelle studiert haben Code der Federbeine usw.
2. In Bezug auf Projekterfahrung
Ich habe mehrere große Projekte von Anfang bis Ende verfolgt. Der Anfang bezieht sich auf die Nachfragephase, einschließlich der Nachfrageforschung.
Der Schwanz bezieht sich auf die Zeit nach der Online-Lieferung, einschließlich der Wartungsphase.
3. Architekturerfahrung
Erfahrung in verteilter Systemarchitektur und -entwicklung. Er verfügt über umfangreiche Erfahrung in der systemübergreifenden Strukturoptimierung und Datenspeicher-Leistungsindikatoren. Caching, vertikale Segmentierung von Datenbanken, Geschäftsabstraktion und horizontale Aufteilung – all das sollte Ihnen bekannt sein.
4. In Bezug auf die Branchen
Sie müssen mindestens ein oder zwei Branchen beherrschen. Die sogenannte Kompetenz bedeutet, dass Sie mindestens die Hälfte beherrschen müssen ein Finanzanalyst. Wer in der Elektroenergiebranche tätig ist, sollte mindestens die Hälfte eines Elektroenergieingenieurs sein.
5. Persönliche Kultivierung
Haben Sie eigene einzigartige Erkenntnisse und folgen Sie nicht dem, was andere sagen.
1 Sie müssen über Kenntnisse in objektorientierter Analyse und Gestaltung (OOA/OOD) unter Einbeziehung von Mustern (GOF, J2EEDP) und umfassenden Mustern verfügen . Sie sollten über gute UML-Kenntnisse verfügen, insbesondere über Klassen, Objekte, Interaktionen und angegebene Diagramme.
2. Sie müssen die Grundlagen der JAVA-Sprache und ihrer Kernklassenbibliotheken (Sammlungen, Serialisierung, Streams, Vernetzung, Multithreading, Reflexion, Ereignis, Handhabung, NIO, Lokalisierung und andere) erlernen. .
3. Sie sollten JVM, Klassenlader, Klassenreflexion und den grundlegenden Arbeitsmechanismus der Garbage Collection verstehen. Sie sollten in der Lage sein, eine Klassendatei zu dekompilieren und einige grundlegende Montageanweisungen zu verstehen.
4. Wenn Sie Client-Programme schreiben möchten, müssen Sie WEB-Applets erlernen und die Ideen und Methoden des GUI-Designs sowie SWING, AWT und SWT des Desktops beherrschen Programme. Sie sollten auch das JAVABEAN-Komponentenmuster für UI-Widgets verstehen. JAVABEANS wird in JSP auch verwendet, um die Geschäftslogik von der Präsentationsschicht zu trennen.
5. Sie müssen Java-Datenbanktechnologie wie JDBCAPI erlernen und in der Lage sein, mindestens eine Persistenz-/ORM-Architektur wie Hibernate, JDO, CocoBase, TopLink, InsideLiberator (inländisches JDO rot) zu verwenden Werkssoftware) oder iBatis .
6. Sie sollten auch die Bedeutung der Impedanzinkongruenz in Objektbeziehungen verstehen und wissen, wie sie sich auf die Interaktion von Geschäftsobjekten mit relationalen Datenbanken und deren Betriebsergebnisse auswirkt Datenbankprodukte wie: Oracle, MySQL, MSSQLServer.
7. Sie müssen das Sandbox-Sicherheitsmodell von JAVA (Klassenlader, Bytecode-Verifizierung, Manager, Richtlinien und Berechtigungen, Codesign, digitale Signaturen, Kryptografie, Zertifizierung, Kerberos und andere) und verschiedene Sicherheits-/Authentifizierungs-APIs erlernen. wie JAAS (JavaAuthenticationandAuthorizationService), JCE (JavaCryptographyExtension), JSSE (JavaSecureSocketExtension) und JGSS (JavaGeneralSecurityService).
8. Sie müssen Servlets, JSP und JSTL (StandardTagLibraries) und optionale TagLibraries von Drittanbietern erlernen.
9. Sie müssen mit gängigen Web-Frameworks wie JSF, Struts, Tapestry, Cocoon, WebWork und den zugrunde liegenden Mustern wie MVC/MODEL2 vertraut sein.
10. Sie müssen lernen, wie man WEB-Server wie Tomcat, Resin, Jrun verwendet und verwaltet und wie man darauf basierende WEB-Programme erweitert und verwaltet.
11. Sie müssen verteilte Objekte und Remote-APIs wie RMI und RMI/IIOP erlernen.
12. Sie müssen verschiedene gängige Middleware-Technologiestandards und deren Implementierung in Kombination mit Java beherrschen, wie zum Beispiel Tuxedo, CROBA und natürlich JavaEE selbst.
13. Sie müssen mindestens eine XMLAPI erlernen, z. B. JAXP (JavaAPI für XMLProcessing), JDOM (JavaforXMLDocumentObjectModel), DOM4J oder JAXR (JavaAPIforXMLRegistries).
14. Sie sollten lernen, wie Sie die JAVA-API und Tools zum Erstellen von WebService verwenden. Zum Beispiel JAX-RPC (JavaAPI für XML/RPC), SAAJ (SOAPwithAttachmentsAPI für Java), JAXB (JavaArchitectureforXMLBinding), JAXM (JavaAPIforXMLMessaging), JAXR (JavaAPIforXMLRegistries) oder JWSDP (JavaWebServicesDeveloperPack).
15. Sie müssen ein leichtes Anwendungsframework wie Spring, PicoContainer, Avalon und deren IoC/DI-Stile (Setter, Konstruktor, Interfaceinjection) erlernen.
16. Sie müssen mit verschiedenen J2EE-Technologien vertraut sein, wie z. B. JNDI (JavaNamingandDirectoryInterface), JMS (JavaMessageService), JTA/JTS (JavaTransactionAPI/JavaTransactionService), JMX (JavaManagementeXtensions) und JavaMail.
17. Sie müssen Enterprise JavaBeans (EJB) und ihre verschiedenen Komponentenmuster lernen: Stateless/StatefulSessionBeans, EntityBeans (einschließlich Bean-ManagedPersistence [BMP] oder Container-ManagedPersistence [CMP] und seine EJB- QL) oder Message-DrivenBeans (MDB).
18. Sie müssen lernen, wie Sie einen J2EE-Anwendungsserver wie WebLogic, JBoss usw. verwalten und konfigurieren und seine zusätzlichen Dienste wie Clustering, Verbindungspooling usw. nutzen Unterstützung für verteilte Verarbeitung. Sie müssen auch verstehen, wie Anwendungen darauf verpackt und konfiguriert werden, und in der Lage sein, die Leistung zu überwachen und zu optimieren.
19. Sie müssen mit der aspektorientierten Programmierung und der attributorientierten Programmierung (beide werden verwirrenderweise als AOP abgekürzt) sowie deren gängigen JAVA-Spezifikationen und -Implementierungen vertraut sein. Zum Beispiel AspectJ und AspectWerkz.
20. Sie müssen mit verschiedenen nützlichen APIs und Frameworks vertraut sein, die Ihnen dienen. Zum Beispiel Log4J (Protokollierung/Tracing), Quartz (Planung), JGroups (Netzwerkgruppenkommunikation), JCache (verteiltes Caching), Lucene (Volltextsuche), JakartaCommons usw.
21. Wenn Sie eine Verbindung zu einem alten System oder einer lokalen Plattform herstellen möchten, müssen Sie JNI (JavaNativeInterface) und JCA (JavaConnectorArchitecture) erlernen.
22. Sie müssen mit der JINI-Technologie und den damit verbundenen verteilten Systemen vertraut sein, beispielsweise mit der Beherrschung von CROBA.
23. Sie benötigen JavaCommunityProcess (JCP) und seine verschiedenen JavaSpecificationRequests (JSRs), wie Portlets (168), JOLAP (69), DataMiningAPI (73) usw.
24. Sie sollten eine JAVAIDE wie sunOne, netBeans, IntelliJIDEA oder Eclipse beherrschen. (Manche Leute bevorzugen VI oder EMACS zum Schreiben von Dateien. Was auch immer Sie verwenden:)
25. JAVA (einige Konfigurationen, um genau zu sein) ist ausführlich und erfordert viel manuelle Codierung (EJB). Sie müssen mit Codegenerierungstools wie XDoclet vertraut sein.
26. Sie müssen mit einem Unit-Testsystem (JNunit) vertraut sein und verschiedene Generierungs- und Bereitstellungstools (Ant, Maven) erlernen.
27. Sie müssen mit einigen Software-Engineering-Prozessen vertraut sein, die häufig in der JAVA-Entwicklung verwendet werden. Zum Beispiel RUP (Rational Unified Process) und Agile-Methoden.
28. Sie müssen über umfassende Kenntnisse und Kenntnisse in der Bedienung und Konfiguration verschiedener Betriebssysteme wie GNU/Linux, Sunsolaris, macOS usw. verfügen. Entwickler von Plattformsoftware.
29. Sie müssen auch mit dem Tempo der Java-Entwicklung Schritt halten. Sie können jetzt beispielsweise JavaME ausführlich erlernen und die Anwendung verschiedener neuer Java-Spezifikationen und -Technologien erlernen die neue Web-Rich-Client-Technologie.
30. Sie müssen etwas über Open Source wissen, da zumindest viele Java-Technologien direkt von Open Source angetrieben werden, wie beispielsweise die Java3D-Technologie.
Das obige ist der detaillierte Inhalt vonWas sind die Voraussetzungen, um Java-Ingenieur zu werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!