10 knowledge points that should be paid attention to when learning Java
There are actually a lot of knowledge points in Java, and some knowledge points are more difficult to understand. Sometimes we think we understand some content, but in fact, we may just stay on the surface without understanding the underlying implementation principle.
On paper, I feel shallow at the end, and I absolutely know that this matter has to be done.
When learning the basics of Java, you should try to do as much as possible. Many times, you take things for granted. When you write it out and run it, you will find that this is not the case. If you don’t believe it, try it
For novice programmers and Java development enthusiasts, learning and practicing is king.
Here, the editor summarizes some common knowledge points and beginners' suggestions for everyone, so that everyone can learn and practice. If you have any other questions, you can also leave a message in the comments or private messages to discuss together~
1
Proficiency in object-oriented programming using Java language, good programming habits,
Familiar with common Java APIs, including collection framework, multithreading (concurrent programming), I/O (NIO), Socket, JDBC, XML, reflection, etc.
2
Learn to use the database, mysql is a good choice for entry, and the mainstream relational database in the Java field is mysql.
Familiar with commonly used relational database products (MySQL, Oracle), proficient in database programming using SQL and PL/SQL.
This part is generally encountered when you learn Servlet/Jsp, and the JDBC part is the database-related part.
You not only have to learn to use JDBC to operate the database, but also learn to use database client tools, such as navicat, sqlyog, you can choose one of the two.
3
Have an in-depth understanding of Spring's IoC container and AOP principles, and skillfully use the Spring framework to manage various Web components and their dependencies,
Proficient in using Spring to manage transactions, logs, security, etc.
Have experience in using SpringMVC as the presentation layer technology and using the persistence support provided by Spring for Web project development, familiar with Spring's integration of other frameworks.
4
Proficient in using ORM frameworks such as Hibernate and MyBatis, familiar with the core API of Hibernate and MyBatis,
Have a deep understanding of Hibernate's association mapping, inheritance mapping, component mapping, caching mechanism, transaction management and performance tuning.
5
Proficient in web front-end development using HTML, CSS and JavaScript, familiar with jQuery and Bootstrap,
Have a deep understanding of the application of Ajax technology in web projects, and have experience in project development using front-end MVC framework (AngularJS) and JavaScript template engine (HandleBars).
spring, springmvc, mybatis, you need to learn the construction of these three frameworks, and use them to make a simple web project of adding, deleting, modifying and checking.
You may not understand what those configurations mean and why they are done, which will be left for you to understand later.
6
In the process of building SSM, you may often come into contact with a tool called maven.
This tool is also a tool that you almost must use in your future work, so you can also learn about maven in the process of building SSM.
At your current stage, you only need to understand the basic usage of maven on the Internet. Some high-end usages will gradually come into contact with your work experience.
7
Familiar with object-oriented design principles, have in-depth understanding of GoF design patterns and enterprise application architecture patterns and relevant experience in actual development,
Proficient in using UML for object-oriented analysis and design, with experience in TDD (Test Driven Development) and DDD (Domain Driven Design).
8
Familiar with the use of web servers and application servers such as Apache, NginX, Tomcat, WildFly, Weblogic, etc., and familiar with the configuration of various server integration, clustering and load balancing.
9
Skilled use of product prototyping tool Axure,
Proficient in using design modeling tools PowerDesigner and Enterprise Architect, Eclipse and IntelliJ, WebStorm, SVN and Git,
Proficient in using project build and management tools Maven and Gradle.
10
Some other extended knowledge:
Front-end : html/js/css and jquery, more than one set of ui boxes (easyui or layui) can be familiar with use (small full stack), and have the ability to contact popular js such as vue and react. java zero foundation
Algorithms : Each big factory has very high requirements on the data structure and algorithms of engineers. It is recommended to brush letcode and point to offer (Niu Ke) and pat (Niu Ke). These algorithms are often asked in interviews or appear in written tests.
If you like, you can also brush hdu, poj enhances algorithm thinking and ability.
Crawler : At present, crawler is a relatively popular but not very popular technology.
You can enhance your understanding of the interface through crawlers (both python/java).
Prepare yourself for the anti-climbing of your work and do something fun outside of class
The above is the content shared today, I hope to help you!