Heim >Java >javaLernprogramm >Java-Programmierer, welche sind die 20 % der am häufigsten verwendeten Technologien?

Java-Programmierer, welche sind die 20 % der am häufigsten verwendeten Technologien?

大家讲道理
大家讲道理Original
2017-01-24 09:57:24950Durchsuche

Ich habe von Programmiersprachen gehört und 20 % der darin enthaltenen Technologien werden häufig verwendet. Was beinhalten diese 20 % in der Sprache Java? Es ist zwei Monate her, seit ich an der Schulung teilgenommen habe, und es bleiben noch zwei Monate. Wenn ich in zwei Monaten einen Job als Junior-Java-Programmierer finden möchte, welche Dinge muss ich beherrschen und was kann ich? Jetzt lernen und verkaufen? Was sind die spezifischen Module eines vollständigen Javaweb-Projekts und welche Technologien werden in jedem Modul verwendet?

Häufig verwendete APIs (String, StringBuffer/StringBuilder usw.)

1. Servlet (selten verwendet). reines Servlet-Schreiben, aber Sie müssen verstehen, da viele Frameworks auf Servlet-Kapselung basieren)

3.json, XML-Lesen und -Schreiben

4. Datenbankzugriff (CRUD, Transaktionen, Verbindungspool). )

5.http-Anfrage (HttpClient)

6 Andere, einschließlich allgemeiner Frameworks, Entwurfsmuster, objektorientiert


Nachwuchsprogrammierer Kennen Sie diese? Dann können Sie das Projekt schreiben. Später auftretende Probleme werden viel komplizierter sein und von der Anhäufung verschiedener Erfahrungen und Kenntnisse abhängen.

Welche Kenntnisse müssen Sie zusätzlich zu den 20 %, die Sie beherrschen müssen, beherrschen, um es mit Leichtigkeit tun zu können? Lassen Sie mich über die Dinge sprechen, mit denen ich in Kontakt gekommen (gebraucht) bin.


Java ist für sein reichhaltiges Ökosystem verteilter Anwendungen bekannt und kann sich der CAP-Entscheidung in verteilten Systemen nicht entziehen. Machen Sie sich frühzeitig mit einigen verteilten Konsistenzprotokollen wie Paxos, Raft usw. vertraut. Lernen Sie die Prinzipien und Nutzungsszenarien von Zookeeper kennen (Metadaten, verteilte Sperren, LeaderEletion ... usw.)

Das RPC-Framework spielt eine wichtige Rolle in der SOA-Architektur. Ich empfehle Alibaba hier Dubbo-Framework und auch Netzwerkbibliotheken wie Netty und Mina

Hadoop-Serie Storm Spark und andere Offline-Echtzeit-Computing-Frameworks

ElasticSearchSolrCloud verteilte Suche ELK-Protokollbezogene Dinge reagieren empfindlicher auf diese, Natürlich gibt es noch mehr Es gibt viele Szenarien, in denen ES verwendet wird

Nachrichtenwarteschlange kafkaMetaQ RabbitMQ Nun, gestern hat sich der Autor von ZeroMQ (nicht vollständig als MQ gezählt) für die Euthanasie entschieden

Dann gibt es noch diverse Grundlagenkenntnisse, Programmiersprachen, Vernetzungsaspekte, Datenbanken, Datenstrukturen und Algorithmen. Denken Sie nicht, dass Sie irgendetwas davon beherrschen. Ich wage zu behaupten, dass es ein paar Zhihu gibt, die sich damit auskennen.


Programmierer Xiaobai trat dem Unternehmen im Juli 2015 bei. Es ist möglicherweise nicht korrekt, da es wächst. Ich werde nur den aktuellen Wachstumsprozess teilen

Mai 2015 Bai (mit einem C-Hintergrund) beschäftigte sich mehr als einen Monat lang mit dem Erlernen von Java, da er kein Interesse an seinem Universitätsfach hatte. Seitdem er zu JavaWEB Development kam, hat er an zwei großen Projekten gearbeitet und n Funktionen unabhängig voneinander entwickelt (große Jungs). Sie machen Witze), ich habe die vom Fragesteller erwähnte 20-Prozent-Aussage noch nicht gehört.


Erzählen Sie mir von Ihren Gefühlen, wenn Sie zum ersten Mal mit der Arbeit beginnen, sollten Sie nicht die Erlaubnis haben, selbstständig neue Projekte zu starten, sondern die Projekte in der Entwicklung verfolgen dürfen

1. Lernen Sie, Eclipse, SVN und andere IDEs und Tools zu verwenden (es hängt natürlich hauptsächlich davon ab, wo Sie arbeiten. Wenn Sie beispielsweise Eclipse verwenden, können Sie IntelliJ IDEA verwenden, müssen es aber tun Wenn Sie zum ersten Mal mit der Arbeit beginnen, verstehen Sie nicht viel. Wenn Sie Fragen haben, stellen Sie diese bitte.


2. Wenn Sie gerade erst in den Job eingestiegen sind und nicht in die Kernarbeit einsteigen können, lassen Sie es mich einfach wissen. Als Webentwickler müssen Sie nicht über Kenntnisse verfügen in HTML, CSS und JavaScript müssen Sie zumindest die Verwendung und Syntax verstehen, aber Sie müssen dies verstehen (das kleine Projektteam meines Unternehmens ist dazu gezwungen). JavaScript ist eigentlich sehr leistungsfähig, aber am Anfang muss man nicht sehr tief schreiben. Es gibt viele Räder, die verwendet werden können, wie zum Beispiel easyui, er wird die offiziellen Dokumente überprüfen Nutzung, betten Sie es in die Webseite ein und formatieren Sie die Daten dann im Hintergrund. Geben Sie es einfach an die Rezeption weiter.


3 Dann begann ich, nach und nach in den Hintergrund zu schreiben und mich mit den Designmustern vertraut zu machen Factory-Muster, schreiben Sie eine Schnittstelle und verwenden Sie dann eine oder mehrere. Jede Implementierungsklasse implementiert diese Schnittstelle. Bestimmen Sie bei Bedarf, welche Implementierungsklasse je nach Bedarf verwendet werden soll. (Ich verstand zunächst nicht, welchen Sinn es hat, dies auf so komplizierte Weise zu tun, aber seit die Datenbank des letzten Projekts von Oracle auf MySQL umgestellt wurde, weiß ich, dass es tatsächlich sehr nützlich ist.) Im Allgemeinen werden Entwurfsmuster verwendet Wenn Sie es nicht verstehen, können Sie es möglicherweise nicht verstehen. Es gibt keine Möglichkeit, mit der Struktur des gesamten Projekts zu beginnen.


4. Verschiedene Unternehmen verwenden unterschiedliche Rahmen, aber Streben und Federn werden immer noch häufiger verwendet, daher ist es besser, mit diesen beiden Dingen vertraut zu sein, sonst kann ich es nicht tun Ich kenne nicht einmal die Struktur des gesamten Projekts, geschweige denn, es selbst zu schreiben, es ist schwierig, es überhaupt zu ändern. Beispielsweise, wie man Projektsprünge konfiguriert und welche Konfigurationsdatei was darstellt. (Nachdem ich angefangen hatte, das Projekt lokal auszuführen, wusste ich nicht einmal, wo die Homepage war und welche Datei eingegeben wurde. Ich suchte weiter nach index.jsp und stellte dann fest, dass das Projekt mit Freemarker erstellt wurde und eine FTL-Datei war)

5. Das Projekt, an dem ich arbeite, verwendet hauptsächlich StringBuffer, um SQL zu verbinden. SQL muss noch verglichen werden. Der kleine Bruder, der mich angeleitet hat, sagte, dass SQL so leistungsfähig ist, dass es nichts gibt, was SQL nicht erreichen kann.

? , je mehr ich es verwende, desto mehr finde ich, dass SQL wirklich scharf ist) –>


6. Ich habe das Gefühl, dass diejenigen, die fortgeschrittene Algorithmen machen Das Design von Webprojekten kann nur dann auftreten, wenn sie fortgeschrittener sind. Es geht eher um Operationen mit Zeichenfolgen und numerischen Formaten, z. B. darum, wie Daten aus der Datenbank im Hintergrund extrahiert und angezeigt werden und wie sie gespeichert werden Vom Benutzer in die Datenbank eingegebene Daten, daher ist es am besten, mit den Vorgängen von Zeichenfolgen, Aufteilung und Zusammenführung, Zeichenfolge in Float, Int usw., Datumsformat usw. vertraut zu sein.


Wenn das Unternehmen über professionellen Betrieb und Wartung verfügt, überlassen Sie ihm einfach die Serverbereitstellung. Wenn nicht, ist es am besten, sich über Remote-Verbindungen und einige einfache Dinge über Linux zu informieren. Befehle, Kater usw.


Zuallererst weiß ich nicht, wie ich die vom Fragesteller genannten 20 % verstehen soll. Als nächstes werde ich die Techniken auflisten, die ich im Laufe der Jahre häufig in meiner Arbeit verwendet habe.


1.html, CSS

2.Java-Arbeitsprinzip (JVM)

3.Java-Syntax, Datenstruktur und Algorithmus

4.Java-Sprachfunktionen (Kapselung, Vererbung, Polymorphismus, Abstraktion)

5.Java-Entwurfsmuster (häufig in der Entwicklung verwendet)

6.Java-Reflexionsmechanismus (Reflexionsmechanismus). wird in gängigen Frameworks verwendet)

http://7.io (Lesen und Schreiben von Dateien)

8. Netzwerkprogrammierung

10.javascript

11.jquery

12. Datenbank (Oracle, MySQL usw.)

13.servlet

14.JDBC

15.javabean

16. WEB-Projekt-Schichtarchitektur

17. Front-End- und Back-End-Interaktion

18.ajax

19. Filter und Filterprinzipien

20. Häufig verwendete Frameworks (Struts, Hibernate, Spring, SpringMVC, i/mybatis)

22 (Arbeitsmechanismus der Prozess-Engine)

23.xml, Eigenschaften, JSON

24. Gemeinsame Seiten und Hintergrund-Plug-Ins (Baum, Zeit, POI usw.)

25.nosql-Datenbank und Anwendungsszenarien (mongoDB)

26. Cache-Datenbank und Mechanismus (Redis, Memcached)

28. Schnittstellenaufruf von Drittanbietern

28 🎜>

29. Webanwendungsserver (Tomcat, Weblogic)

30.linux

31. Datenbankverbindungspool

33.maven

34.svn

35. Verwendung von Modellierungstools (Powerdesiner, Axure)

36.TCP/IP

Stellungnahme:
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