Maison  >  Article  >  Java  >  Quelles sont les conditions requises pour devenir ingénieur Java ?

Quelles sont les conditions requises pour devenir ingénieur Java ?

零下一度
零下一度original
2017-07-26 16:48:471267parcourir

1.Core Java est les bases de Java et de la bibliothèque de classes du JDK. Beaucoup d'enfants diront : je comprends le JDK, mais pour savoir ce qui se passe, il faut aussi savoir pourquoi. Le code source du JDK est écrit très bien. Vous devez le vérifier fréquemment. Pour les classes fréquemment utilisées, telles que String, classe de collection (List, Map, Set) et autres structures de données, vous devez connaître leur implémentation et quelles sont les différences entre les différentes. Classes de collection. Ce n'est qu'alors que vous pourrez savoir comment l'utiliser dans une situation spécifique. Quelle classe de collection est la plus appropriée et la plus efficace à utiliser ? Il suffit de regarder le code source de ces contenus

2. Programmation simultanée multithread ? De nos jours, la concurrence est presque une technologie nécessaire pour écrire des programmes côté serveur. Donc pour Java, vous devez être familier avec le multithreading, y compris le mécanisme de verrouillage d'objet, le mot clé synchronisé et le package simultané. Pour cette partie, je recommande. vous avez lu le livre "Java Concurrent Programming Practice", qui l'explique en détail

3 E/S, programmation Socket Tout d'abord, vous devez être familier avec la programmation Socket en Java et les packages d'E/S. La prochaine étape est Java NIO. La prochaine étape est l'implémentation de Socket au bas du système d'exploitation. Comprendre comment il est implémenté dans Windows et Linux

4. Une certaine connaissance de JVM n'est pas nécessaire. familier, mais il faut le comprendre. C'est l'essence de Java, qui peut être considérée comme le corps mère de Java. Après l'avoir compris, vos horizons seront plus larges, comme le modèle de mémoire Java (vous comprendrez Comprendre Java). verrous, le multi-threading est utile), le bytecode, les modèles JVM, divers ramasse-miettes et choix, les paramètres d'exécution de la JVM (optimisation de la JVM), etc. Cette connaissance se trouve dans le livre "Machine virtuelle Java approfondie" Il y a des explications détaillées, ou accédez au site Web d'Oracle pour vérifier la version spécifique de la spécification JVM

5. Certains modèles de conception couramment utilisés, tels que les singletons, les méthodes de modèle, les agents, les adaptateurs, etc., ainsi que dans Core Java et. La mise en œuvre de certains scénarios spécifiques dans le framework Java devra peut-être être accumulée lentement. Comprenez d'abord quels sont les scénarios d'utilisation. Après en avoir vu plus, vous les utiliserez naturellement.

6. Bases de données couramment utilisées (Oracle, MySQL, etc.), instructions SQL et optimisation générale

7. Les frameworks de développement JavaWeb, tels que Spring, iBatis et autres frameworks, sont les mêmes principes. le plus efficace Il est important de connaître au moins leurs principes généraux.

8. Certains autres frameworks et packages open source bien connus et largement utilisés, tels que le framework réseau Netty, le multi-package N d'Apache common, Guava de Google, etc. Vous pouvez également souvent aller sur Github pour trouver quelques codes.

Macroscopiquement :

1. Étendue technique
Vous devez au moins maîtriser plusieurs technologies open source et avoir étudié le code source de strutsspring. , etc.

2. En termes d'expérience de projet
J'ai suivi plusieurs grands projets du début à la fin. Le début fait référence à l'étape de la demande, y compris la recherche de la demande.
La queue fait référence à l'après la livraison en ligne, y compris la phase de maintenance.

3. Expérience en architecture
Avoir une expérience en architecture et développement de systèmes distribués. Il possède une vaste expérience dans l’optimisation structurelle inter-systèmes et les indicateurs de performance du stockage de données. La mise en cache, la segmentation verticale des bases de données, l'abstraction métier et le fractionnement horizontal, tout cela devrait vous être familier.

4. En termes de domaines industriels
Vous devez au moins maîtriser un ou deux métiers. La soi-disant compétence signifie que si vous êtes dans le secteur des titres financiers, vous devez en être au moins la moitié. un analyste financier. Ceux qui sont engagés dans le secteur de l’énergie électrique devraient être au moins à moitié ingénieur en énergie électrique.

5. Cultivation personnelle
Ayez vos propres idées uniques et ne suivez pas ce que disent les autres.

Au microscope :

1. Vous devez maîtriser l'analyse et la conception orientées objet (OOA/OOD), impliquant des modèles (GOF, J2EEDP) et des modèles complets. . Vous devez avoir une bonne compréhension d'UML, en particulier des classes, des objets, des interactions et des diagrammes énoncés.


2. Vous devez apprendre les bases du langage JAVA et de ses bibliothèques de classes de base (collections, sérialisation, flux, mise en réseau, multithreading, réflexion, événement, gestion, NIO, localisation et autres) .


3. Vous devez comprendre la JVM, les chargeurs de classe, classreflect et le mécanisme de fonctionnement de base du garbage collection. Vous devriez être capable de décompiler un fichier de classe et de comprendre quelques instructions d'assemblage de base.


4. Si vous souhaitez écrire des programmes clients, vous devez apprendre les applets WEB et maîtriser les idées et les méthodes de conception d'interface graphique, ainsi que SWING, AWT et SWT des programmes de bureau. Vous devez également comprendre le modèle de composant JAVABEAN pour les widgets de l'interface utilisateur. JAVABEANS est également utilisé dans JSP pour séparer la logique métier de la couche de présentation.


5. Vous devez apprendre la technologie de base de données Java, telle que JDBCAPI et être capable d'utiliser au moins une architecture de persistance/ORM, telle que Hibernate, JDO, CocoBase, TopLink, InsideLiberator (JDO rouge domestique logiciel d'usine) ou iBatis.


6. Vous devez également comprendre la signification de l'inadéquation d'impédance dans les relations d'objet et comment elle affecte l'interaction des objets métier avec les bases de données relationnelles, ainsi que ses résultats de fonctionnement. Vous devez également maîtriser différentes applications. produits de base de données, tels que : oracle, mysql, mssqlserver.


7. Vous devez apprendre le modèle de sécurité sandbox de JAVA (chargeurs de classes, vérification du bytecode, gestionnaires, politiques et autorisations, conception de code, signatures numériques, cryptographie, certification, Kerberos et autres) et différentes API de sécurité/authentification. tels que JAAS (JavaAuthenticationandAuthorizationService), JCE (JavaCryptographyExtension), JSSE (JavaSecureSocketExtension) et JGSS (JavaGeneralSecurityService).


8. Vous devez apprendre les Servlets, JSP et JSTL (StandardTagLibraries) et les TagLibraries tierces facultatives.


9. Vous devez être familier avec les frameworks Web traditionnels, tels que JSF, Struts, Tapestry, Cocoon, WebWork, et leurs modèles sous-jacents, tels que MVC/MODEL2.


10. Vous devez apprendre à utiliser et gérer des serveurs WEB, tels que Tomcat, Resin, Jrun, et savoir comment développer et maintenir des programmes WEB basés sur ceux-ci.


11. Vous devez apprendre les objets distribués et les API distantes, telles que RMI et RMI/IIOP.


12. Vous devez maîtriser diverses normes technologiques middleware populaires et leur mise en œuvre en combinaison avec Java, telles que Tuxedo, CROBA et bien sûr JavaEE lui-même.


13. Vous devez apprendre au moins une XMLAPI, telle que JAXP (JavaAPI for XMLProcessing), JDOM (JavaforXMLDocumentObjectModel), DOM4J ou JAXR (JavaAPIforXMLRegistries).


14. Vous devez apprendre à utiliser l'API et les outils JAVA pour créer WebService. Par exemple, JAX-RPC (JavaAPI pour XML/RPC), SAAJ (SOAPwithAttachmentsAPIforJava), JAXB (JavaArchitectureforXMLBinding), JAXM (JavaAPIforXMLMessaging), JAXR (JavaAPIforXMLRegistries) ou JWSDP (JavaWebServicesDeveloperPack).


15. Vous devez apprendre un framework d'application léger, tel que Spring, PicoContainer, Avalon et leurs styles IoC/DI (setter, constructeur, interfaceinjection).


16. Vous devez être familier avec différentes technologies J2EE, telles que JNDI (JavaNamingandDirectoryInterface), JMS (JavaMessageService), JTA/JTS (JavaTransactionAPI/JavaTransactionService), JMX (JavaManagementeXtensions) et JavaMail.


17. Vous devez apprendre les Enterprise JavaBeans (EJB) et leurs différents modèles de composants : Stateless/StatefulSessionBeans, EntityBeans (y compris Bean-ManagedPersistence [BMP] ou Container-ManagedPersistence [CMP] et ses EJB- QL) ou Message-DrivenBeans (MDB).


18. Vous devez apprendre à gérer et configurer un serveur d'applications J2EE, tel que WebLogic, JBoss, etc., et profiter de ses services supplémentaires, tels que le clustering, le pooling de connexions et prise en charge du traitement distribué. Vous devez également comprendre comment empaqueter et configurer des applications et être capable de surveiller et d'ajuster ses performances.


19. Vous devez être familier avec la programmation orientée aspects et la programmation orientée attributs (qui sont toutes deux abrégées en AOP), ainsi que leurs spécifications et implémentations JAVA traditionnelles. Par exemple AspectJ et AspectWerkz.


20. Vous devez être familier avec différentes API et cadres utiles pour vous servir. Par exemple, Log4J (journalisation/traçage), Quartz (planification), JGroups (communication de groupe réseau), JCache (mise en cache distribuée), Lucene (recherche en texte intégral), JakartaCommons, etc.


21. Si vous comptez vous connecter ou vous interfacer avec un ancien système ou une plateforme locale, vous devez apprendre JNI (JavaNativeInterface) et JCA (JavaConnectorArchitecture).

22. Vous devez être familier avec la technologie JINI et ses systèmes distribués associés, comme la maîtrise de CROBA.


23. Vous avez besoin de JavaCommunityProcess (JCP) et de ses différentes JavaSpecificationRequests (JSR), telles que Portlets (168), JOLAP (69), DataMiningAPI (73), etc.


24. Vous devez maîtriser un JAVAIDE tel que sunOne, netBeans, IntelliJIDEA ou Eclipse. (Certaines personnes préfèrent VI ou EMACS pour écrire des fichiers. Quoi que vous utilisiez :)


25. JAVA (certaines configurations pour être précis) est verbeux et nécessite beaucoup de codage manuel (EJB), donc vous devez être familier avec les outils de génération de code tels que XDoclet.


26. Vous devez être familier avec un système de tests unitaires (JNunit) et apprendre différents outils de génération et de déploiement (Ant, Maven).


27. Vous devez être familier avec certains processus de génie logiciel souvent utilisés dans le développement JAVA. Par exemple, les méthodes RUP (Rational Unified Process) et Agile.


28. Vous devez être capable d'avoir une compréhension et une maîtrise approfondies de l'exploitation et de la configuration de différents systèmes d'exploitation, tels que GNU/linux, sunsolaris, macOS, etc., en tant que cross- développeur de logiciels de plateforme.


29. Vous devez également suivre le rythme du développement Java. Par exemple, vous pouvez désormais apprendre JavaME en profondeur, ainsi que l'application de diverses nouvelles spécifications et technologies Java, telles que. la nouvelle technologie de client riche Web.


30. Vous devez connaître quelque chose sur l'open source, car au moins de nombreuses technologies Java sont directement pilotées par l'open source, comme la technologie java3D.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn