Java Technology System Daquan, prepare for the interview can refer to!

Source: Internet
Author: User
Tags html tags soap ibm mq java se



1. Java Technology System 1.1 Java Programmer
• Advanced Features
Reflection, generics, annotation characters, auto-boxing and unpacking, enumeration classes, mutable parameters, variable return types, enhanced loops, static import
• Core programming
IO, multi-threading, entity classes, collection classes, regular expressions, XML, and properties files
• Graphic Programming
AWT (JAVA2D/JAVASOUND/JMF), Swing, SWT, JFace
• Network programming
Applets, SOCKET/TCP/UDP, NIO, RMI, CORBA
· Java Syntax Basics
class, abstract class, interface, Final class, Static class, Anonymous class, Inner class, exception class, encoding specification
· Java Development environment
JDK, JVM, Eclipse, Linux
1.1.1 Java Core Programming technology
Java, a design and very sophisticated language. To learn Java, start with the Java development environment, Java syntax, and Java's core API.
Introduction to 1.Java Development: installation and use of the Java development environment, including JDK commands, eclipseide, development and deployment of Java programs under Linux.
2.Java Syntax Basics: Based on JDK and Eclipse environment, Java core function development, mastering Java Object-oriented grammatical composition, including class, abstract class, interface, Final class, Static class, Anonymous class, Inner class, exception writing.
3.Java Core API: Based on the class library provided by the JDK, master three core functions:
A, Java Core programming: includes two core functions of Java programming--java input/output streams and multithreading, and commonly used auxiliary class libraries-entity classes, collection classes, regular expressions, XML, and attribute files.
B, Java graphics programming: including Sun's GUI library AWT (java2d, Javasound, JMF) and SWING,IBM and GUI library swt and JFace;
C, Java Network programming: Applet component programming, socket programming, NIO non-blocking socket programming, RMI and CORBA distributed development.
4. Java Advanced Features: Master Java advanced Features in JDK1.4, JDK5.0, JDK6.0, including reflection, generics, annotations, and Java advanced Features-auto boxing and unpacking, enumeration classes, mutable parameters, variable return types, enhanced loops, static imports, and more.
1.2 Java EE Junior software engineer
· JSF Framework Development Technology
Configuration file (page navigation, background bean), JSF component library (Jsfel language, HTML tags, event handling,), JSF Core library (format conversion, input validation, internationalization)
· Javaweb Core Development Technology
Development environment (Eclipse, Linux)
Three main components (JSP, JavaBean, Servlet)
Extended Technology (EL, JSTL, Taglib)
• Web Development Technology
HTML, XML, CSS, JavaScript, AJAX
• Database Design Techniques
SQL, MYSQL, Oracle, SQL Server, JDBC
· Web server
Tomcat/jetty/resin/jbossweb
· Javaweb Core Technology:
The whole process of Javaweb project development can be decomposed into:
Web Development + Database design-->javaweb project development, where,
Javaweb consists of 6 basic technologies: Jsp+javabean+servlet+el+jstl+taglib
And JSF is the technical framework that combines these 6 technologies organically.
1.3 Java EE Intermediate software engineer
Four classic architectures SSH1, SSI1, SSH2, SSI2
· STRUTS1 Presentation Layer Framework
Getting Started configuration, core components, tag libraries, internationalization, data validation, database development, Sitemesh integration, integration Hibernate/ibatis
· STRUTS2 Presentation Layer Framework
Getting Started configuration, core components, tag libraries, internationalization, data validation, Sitemesh integrated converters, interceptors, integrated Hibernate/ibatis
· Spring Business Layer Framework
Introductory configuration, IOC container, MVC, tag library, internationalization, data validation, database development
· Hibernate Persistence Layer Framework
MySQL, Oracle, Sqlserveribatis persistence layer Framework
· Web server
Tomcat/jetty/resin/jbossweb
1.4 Java Senior Software engineer
Javaweb Open Source technology and framework
Workflows, rule engines, search engines, cache engines, task scheduling, identity authentication, Reporting Services, system testing, clustering, load balancing, and failover
· Javaweb Distributed Development Technology
JTA (Java things management)
JAAS (Java Authentication and authorization service)
JNDI (Java Naming and directory services)
JavaMail (Java Mail Service)
JMS (Java Information Service), WebService (Web service)
JCA (Java Connectivity System), JMS (Java Management System)
• Application Server
Jbossas/weblogic/websphere
1.5 Java EE system Architect
• Cloud-Oriented architecture (COA)
COA, SaaS, Grid computing, cluster computing, distributed computing, cloud computing
• Resource-oriented architecture (ROA)
ROA, RESI
• For Web service Architectures (SOA)
WebService, SOA, SCA, ESB, OSGI, EAI
· Java Design Patterns
Creation Mode: Abstract Factory/Builder/factory Method/prototype/Singleton
Stereotype mode: Adapter/bridging/combination/decoration/appearance/enjoy Yuan/proxy
Behavioral patterns: Responsibility Chain/Command/interpreter/Diego generation son/Mediator/MEMO/Observer/status/strategy/template Method/Visitor
· Java and UML modeling
Object graph, use case diagram, Component diagram, deployment diagram, sequence diagram, interaction diagram, Activity diagram, forward engineering and reverse engineering
CTO chief Technology officer, 1.6
Development strategy
Technical Director
Team Promotion
Team Building
Project Management
Product Management
2. Java Technology Roadmap
Tip: A framework analysis of Java technology, including Java SE, Java EE, and Java ME, gives the reader an idea of what technologies are made up of Java. In order to learn these technologies systematically, this article will develop a complete set of Java technology learning routes.
As we have learned from the previous article, Java SE contains the basic Java technology, Java EE contains various technologies for Web application development, Java me contains various technologies for mobile device application development, and Java SE is the foundation of Java EE and Java me. So for Java technology Learning, there are two learning routes:
Java Se→java EE: The main network application development, Java Technology Learning is a complete route, is based on Java EE Enterprise application Development, is currently the main direction of Java applications.
Java Se→java ME: Mainly for wireless application development, the technical route is relatively simple.
Java Se→java EE technology from low to high to form a complete system, Java/java EE engineers to grow the necessary technical system, below we based on the Java Seàjava EE technology System to develop a complete set of learning routes.
2.1 Java EE Technology classification
Based on the layering of Java EE technology, we can divide Java EE technology into the following 3 classes.
2.1.1 Web application Technology
JDBC:JDBC (Java database Connectivity) is a standard SQL-based database access interface that is used primarily to connect databases and directly invoke SQL commands to execute various SQL statements and stored procedures. JDBC is quite similar to ODBC in the Microsoft platform.
Servlet:servlet is a CGI technology on the Java platform. It runs on the server side and is used to dynamically generate Web pages. Java servlet is more efficient than traditional CGI and many other CGI-like technologies, and it relies on threading to support concurrent access.
JSP (EL/JSTL): JSP (Java Server page) is a common static HTML and dynamic page output mixed coding technology, similar to Microsoft ASP, PHP and other technologies. It allows web page development to be easily partitioned between page designers and programmers with the separation of content and presentation. In the run tense, the JSP will be converted into a servlet first, with no difference in efficiency and functionality compared to the servlet.
JavaBean: A component that encapsulates business logic that enables the reuse of business components.
JSF:JSF (JavaServer Faces) is a page component technology dedicated to building Java Web applications that integrates a variety of page technologies such as Servlets, JSPs, JavaBean, EL, Jstl, and custom labels to facilitate the rendering of rich page components.
2.1.2 Enterprise-Class application technology
EJB:EJB defines a set of reusable components Enterprise Beans. Developers can use these components to build distributed applications like building blocks. EJB simplifies the development of business logic by hosting its developers with technologies such as security, remote connectivity, life cycle management, and transaction management.
Jndi:jndi (Java naming and Directory Interface) is used to locate various objects in a distributed system, including EJBS, database drivers, JDBC data sources, and message connections, as well as using JNDI to access a variety of specific directory services. Such as LDAP, NDS, and DNS.
The JMS:JMS messaging Service is a set of Java application interfaces that provide services for creating, sending, receiving, and reading messages, enabling Java applications to communicate with various message middleware, including IBM Mq-series, Microsoft SONICMQ for MSMQ and pure java.
JavaMail: Provides a complete set of abstract classes for a mock messaging system. With JavaMail, you can create a mail or messaging application.
Jaf:javamail uses the JavaBeans Activation Framework (JAF) to process mime--encoded message attachments. The MIME byte stream can be converted to a Java object or converted from a Java object.
JTA:JTA provides a standard interface for processing transactions in Java EE, which supports the start, rollback, and commit of transactions. At the same time, a JTS (Java Transaction Service) is provided on the Java EE platform as the standard transaction services, and developers can use JTA to use JTS.
JACC:JACC (Java Authorization Service Provider contract for Containers) defines a connection agreement between the Java EE Application Server and a specific authorized authentication server, In order to insert various authorization authentication servers into the Java EE product.
Jaas:jaas (Java authentication and Authorization Service) implements a Java version of the standard pluggable authentication Module (PAM) framework. It can be used to authenticate the user identity, but also can be authorized by the user to achieve user-based access control.
JCA:JCA (Java EE Connector Architecture) is part of the Java EE architecture that provides a set of architectures that connect various enterprise information systems, including ERP, SCM, CRM, etc. Developers only need to develop a JCA-based connection adapter that can connect to and use it in any Java EE server.
JMX:JMX (Java Management Extensions) is dedicated to solving the problem of distributed system management, which is a collection of application programming interfaces, extensible objects and methods that can span heterogeneous operating system platforms, system architectures, and network transport protocols. Develop applications that are seamlessly integrated for systems, networks, and services.
2.1.3 Web Services Technology
JAX-RPC: By using JAX-RPC (Java API for xml-based RPC), existing Java classes or Java applications can be repackaged and published as Web services. JAX-RPC provides APIs that encode and decode RPC parameters (In/out), which makes it easy for developers to use SOAP messages to complete RPC calls, and EJB applications can also be packaged as Web services using JAX-RPC.
SOA (SAAJ): SAAJ (soap with attachemnts API for Java) is an enhancement of Jax-RPC, providing support for low-level SOAP message manipulation.
JAXR:JAXR (Java API for XML registries) provides APIs to interact with multiple types of registration services. JAXR runs a client to access a Web servcices that is compatible with the JAXR specification, where Web Services is the registration service. In general, registration services are always run as Web services.
2.2 Java Technology Learning Roadmap
In addition to these technologies, Java EE Technologies, from simple to complex, include Web application technologies, enterprise-class applications, and Web services technologies, as well as some open-source framework technologies, including the web framework Struts/webwork/tapstry, the business layer framework spring, The persistence layer framework Hibernate/ibatis, which is also the application of Java EE.
Although these technologies are plentiful, they are also progressive, gradually forming the learning technology route of Java EE engineers. In addition to Java EE technology, there are basic Java technology, Database Foundation, Web development technology needs to be mastered in the early stages. After learning all Java fundamentals, Java EE technology, and then put into practice, you reached the level of the architect, and then embarked on the road of technical management, can reach the peak--cto Technology Road.
In order to learn these techniques on a progressive basis, we provide the following image reference for you.

2.3 About "Java Master canon"
Introduction: In order to help the development of Java engineers, we have authored a "Java Master Canon" series of books, the series and Java Technology Learning route layer corresponding to the "rapid prototyping Method" (rapid implementation of reusable prototype system) for technical explanations, let the reader learn while practicing, gradually improve.
1. Technical System Course
Based on the Java Technology Learning Roadmap, we have set up a thematic course for each step of the technology, as shown in the following table.

2, learning objectives: To understand the popular technology, real-business enterprise development process
College students (or programmers with little development experience) after graduation to the IT company interview and employment, faced with a problem, is that the knowledge of the university and IT company's knowledge structure is disjointed.
At present, the university usually offers the following basic courses: Database principle, data structure, operating system, discrete mathematics, software engineering, C language, Java language. These courses are the most basic courses, and by studying these courses, college students can master the basic theoretical knowledge of IT development, which is clearly the most basic theoretical knowledge in IT companies.
IT companies either conduct product development or project development, but are based on project practice and require skills that are application-oriented, such as struts, Hibernate, Spring, and Eclipse in Java. NET aspects of Visual Studio, ASP, ASP, and database for Oracle, SQL Server, MySQL, and so on.
Because the knowledge that the university learns and the knowledge structure that the IT company requires is at two different level, in the university student participates in the job interview, often appears the interviewer because is not familiar with IT company's knowledge structure, but can not be able to reflect very well the ability.
As a result, we have designed this series to bridge the gap between college graduates and IT companies, allowing university graduates to study the application knowledge of IT companies and conduct pre-interview training on technology and experience on the basis of theoretical knowledge.
3.30 goals for Java learning
1. You need to be proficient in object-oriented analysis and Design (ooa/ood), design mode (GOF,J2EEDP), and integrated mode. You should have a great understanding of UML, especially Class,object,interaction and Statediagrams.
2. You need to learn the basics of the Java language and its core class library (Collections,serialization,streams,networking,multithreading,reflection,event, Handling,nio,localization, and others).
3. You should understand jvm,classloaders,classreflect, and the basic working mechanism of garbage collection. You should have the ability to decompile a class file and understand some basic assembly instructions.
4. If you are going to write a client program, you need to learn the Web applet (applet), must master the idea and method of GUI design, and the SWING,AWT,SWT of desktop program. You should also be aware of the JavaBean component pattern of the UI widget. JavaBeans is also used in JSPs to separate business logic from the presentation layer.
5. You need to learn Java database technology such as JDBCAPI and use at least one persistence/orm architecture, such as Hibernate,jdo,cocobase,toplink,insideliberator ( Domestic JDO Red Factory software) or Ibatis.
6. You should also understand the meaning of the impedance mismatch of the object relationship, how it affects the interaction of the business object with the relational database, and the results of its operation, as well as the application of different database products, such as: Oracle,mysql,mssqlserver.
7. You need to learn Java Sandbox security mode (Classloaders,bytecodeverification,managers,policyandpermissions,
Codesigning,digitalsignatures,cryptography,certification,kerberos, and others) also have different security/authentication APIs, such as JAAS ( Javaauthenticationandauthorizationservice), JCE (javacryptographyextension), JSSE (javasecuresocketextension), and JGSS (Javageneralsecurityservice).
8. You need to learn servlets,jsp, as well as Jstl (standardtaglibraries) and optional third-party taglibraries.
9. You need to familiarize yourself with the mainstream web frameworks, such as Jsf,struts,tapestry,cocoon,webwork, and the following patterns of their involvement, such as Mvc/model2.
10. You need to learn how to use and manage Web servers, such as Tomcat,resin,jrun, and know how to extend and maintain web programs on top of them.
11. You need to learn about distributed objects and remote APIs such as RMI and RMI/IIOP.
12. You need to master a variety of popular middleware technical standards and implemented in conjunction with Java, such as Tuxedo, Croba, and of course, Java EE itself.
13. You need to learn at least one of the XMLAPI, such as JAXP (javaapiforxmlprocessing), JDOM (Javaforxmldocumentobjectmodel), dom4j, or JAXR ( javaapiforxmlregistries).
14. You should learn how to use JAVAAPI and tools to build webservice. For example Jax-RPC (JAVAAPIFORXML/RPC), SAAJ (Soapwithattachmentsapiforjava), JAXB (javaarchitectureforxmlbinding), JAXM ( javaapiforxmlmessaging), JAXR (javaapiforxmlregistries), or JWSDP (Javawebservicesdeveloperpack).
15. You need to learn a lightweight application framework, such as Spring,picocontainer,avalon, and their ioc/di style (setter,constructor,interfaceinjection).
16. You need to be familiar with different EE technologies, such as JNDI (Javanaminganddirectoryinterface), JMS (Javamessageservice), Jta/jts (Javatransactionapi/ Javatransactionservice), JMX (Javamanagementextensions), and JavaMail.
17. You need to learn about Enterprise JavaBeans (EJB) and their different component modes: Stateless/statefulsessionbeans,entitybeans (contains bean-managedpersistence[bmp] or container-managedpersistence[cmp] and its ejb-ql), or Message-drivenbeans (MDB).
18. You need to learn how to manage and configure a Java EE application server, such as Weblogic,jboss, and take advantage of its additional services, such as cluster classes, connection pooling, and distributed processing support. You also need to know how to encapsulate and configure applications on top of it and be able to monitor and tune its performance.
19. You need to be familiar with aspect-oriented programming and attribute-oriented programming (both of which are easily confusingly abbreviated as AOP), as well as their mainstream Java specifications and execution. such as AspectJ and Aspectwerkz.
20. You need to be familiar with different useful APIs and frameworks to serve you. For example log4j (logging/tracing), Quartz (scheduling), JGroups (networkgroupcommunication), Jcache (distributedcaching), Lucene (Full-textsearch), jakartacommons and so on.
21. If you are going to be docking or working with an old system or local platform, you need to learn JNI (javanativeinterface) andjca (javaconnectorarchitecture).
22. You need to be familiar with Jini technology and the distributed systems associated with it, such as mastering Croba.
23. You need Javacommunityprocess (JCP) and his different javaspecificationrequests (JSRs), such as Portlets (168), JOLAP (), Dataminingapi ( 73), and so on.
24. You should be proficient in a javaide such as Sunone,netbeans,intellijidea or Eclipse. (Some people prefer VI or Emacs to write files.) Whatever you use.

Java Technology System Daquan, prepare for the interview can refer to!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.