To what extent do I have to learn Java before I can find a job?

Anyone who is new to Java may think about a question, "How much do I have to learn before I can find a job in Java? This question has lingered for a long time in my learning process, and later through my own job hunting experience and after work I am familiar with the answer to this question through many investigations. Today, I will use this article to answer you, the skills you must have in order to successfully find your first Java job.

Java basic grammar

Java syntax is equivalent to the 26 letters in English. You need to learn each keyword thoroughly. For beginners, the most difficult concepts are basic structures, such as loops and branches. There are not too many skills in this part. Do more related exercises. Practice makes perfect. Keywords include:

Classes, variables and methods

type of data

String

Basic operator

Basic structure: loop, branch

 

Object Oriented Programming (OOP)

Strictly speaking, OOP has two modules, one is object-oriented thinking, and the other is object-oriented programming syntax.

Object-oriented thinking is a bit difficult to understand, because when we learn the basic grammar of Java, we are used to programming with process-oriented thinking. When we change to object-oriented, our mind will be very confused. Even if the teacher gives many examples to explain There is a lot of confusion. Don’t worry if you encounter this situation. Object-oriented thinking needs to be cultivated for a long time. Just like basic grammar, thinking also needs a lot of practice to cultivate.

Object-oriented grammars mainly include: class, inheritance, interface, polymorphism, and encapsulation. This is another important part of Java programming. It can be said that in work, no matter which framework or editor is used, it is oriented to Object programming is the top priority. This module is also the focus of the interview, so be sure to master it!

 

Collection frame

Java provides a collection framework for different collections. Collections are based on data structures, such as common ones: lists, arrays, collections, hash maps, etc. Therefore, when studying collections, it is best to understand a little bit of knowledge about data structures.

Main subtopics:

List

Set

Map

ArrayList

LinkedList

Queue

and

HashSet,HashMap,HashTable

TreeSet, TreeMap

The main difficulty in learning collections is the difference between them and when to use the appropriate collection type. In the same way, true knowledge must be gained through practice.

 

Exception handling

Exceptions are abnormal situations that may occur during program execution. Many people can't understand the role of exceptions in the process of learning. I also had the same question when I was a beginner. The editor already has the function of reporting errors. Why do I have to write a code to handle exceptions? Later, as the project used more and more exception handling, I had a deep understanding of exception handling. A simple example: When you download a file, if there is any error, the user hopes the downloader can tell him what is wrong, such as insufficient hard disk, etc. When the user provides enough hard disk space, the download continues automatically. It is not that the downloader crashes as soon as the space is insufficient, this is an abnormal technique.

Keywords for exception handling:

Exception handling mechanism

Try、catch、finally

Throw、throws

Exception hierarchy

Checked/unchecked exception

Difference between error and exception

Manually throw an exception

 

Input/output stream

Java uses streams to perform input and output operations. In the project, you need to frequently read and write operations. For beginners, this is also a difficult knowledge point, and in the learning process of Java, the importance of this point is not very prominent, causing many people to stare at the read and write operations of files after work. .

Main keywords of stream:

Byte stream (FileInputStream, FileOutputStream)

Character stream (FileReader, FileWriter)

Standard stream (http://System.in, System.out)

 

Java multithreading/concurrency

Multithreading and concurrent operations are the core themes of high-level Java programming. Almost all students can't understand this part, but it doesn't matter. This part is not very important for junior developers. You can learn more slowly in the process of work. Why should I put this module in the article? The main reason is that the interviews of some companies in the market will ask about multi-thread concurrency. For the sake of Offer, I recommend you to take a look.

Multithreading/concurrent keywords:

Thread life cycle

system service

Thread synchronization

Thread deadlock

Thread operation

Wait,notify,notifyAll

 

Interrupt

Sleep,yield,join

Lambda expression

Java lambda expressions appeared in Java 8. This is a tool that is often overlooked by developers. Lambda expression is a function that can be created, does not belong to any class, and can be passed or executed as an object.

The main keywords of Lambda:

Single method interface

Anonymous interface

Lambda type inference

Lambda parameters

Lambda function body

Return value from Lambda expression

Lambda as an object

Variable capture

Algorithm and data structure

In the learning process of each programming language, one of the most controversial issues is whether each student should learn standard sorting and search algorithms. Some people think that most of the algorithms have been written in the library and it is very convenient to use. Another part of people believes that the process of learning algorithms is the process of exercising programming thinking and must learn.

I prefer the latter statement, because I have experienced many interviews, whether I go to job search or interview job applicants, I will examine algorithms and data structure related issues during the interview process. If you want to ensure that you will not be unsuccessful, you should learn more about this knowledge.

 

Useful libraries and components

Libraries and components are important indicators of whether a job is competent, and libraries and components can greatly improve development efficiency. Therefore, the company will pay special attention to this when recruiting, and will ask you about the use and learning experience of your libraries and components during the interview. You can learn more about the following common libraries and components:

Servlet

JDBC

log4j

JSON

Guava

Apache Commons

Spring/Hibernate

In the past, the above knowledge is sufficient to become a Java engineer, but with the rapid growth of technology and the rapid growth of developers in recent years, the threshold for developers has gradually increased. For example, Spring/Hibernate, it is difficult to not know these two technologies. Find a job.

 

in conclusion

The above is the knowledge you need to learn to become a Java developer. Some knowledge needs to be proficient, such as basic grammar, OOP, collection framework, exception handling, flow, practical libraries and components, Spring framework, etc.; some only need to understand, can Answer them in the interview and leave a good impression on the interviewer, such as multithreading/concurrency, lambda expressions, algorithms and data structures. I hope it will be helpful to Xiaobai, and I wish everyone a smooth and prosperous Java learning path.

 

At last


If you want to learn Java, I will share some Java learning materials with you. You don’t have to waste time searching everywhere. I have compiled all the materials from Java entry to proficiency. These materials are all made by me. The latest Java learning routes compiled in the year, Java written test questions, Java interview questions, Java zero-based to proficient video courses, Java development tools, Java practice projects, Java e-books, Java study notes, PDF document tutorials, Java programmers’ experience, Java job resume templates, etc. These materials will definitely help you learn Java in the future. It is a must for every Java beginner. Please enter my Java technology qq exchange group to download by yourself . All the materials are in the group. In the file, you need to communicate and learn more with you when you go in.

Guess you like

Origin blog.csdn.net/deqing271/article/details/115183288