An article teaches you how to do "to have a solid Java foundation" resume requirements

origin

This article comes from the ape once and the group Friends of the exchange, the specific circumstances Listen LZ slowly come.

Day, LZ speaker in the group, "recruiting friends."

However, a group of friends said, "the main group, I want to go."

LZ's back, "Are you in geometry?"

Friends group said, "two years."

LZ regret words, "unfortunately, and three to five is better. However, the Ruru have a solid foundation, and is attached skills, the idea is not impossible that way."

Group Friends of confusion, and asked, "What is a skill?"

LZ answer must ask, "can be, technology is the one I wrote."

The group of friends asked, "What is the solid foundation?"

LZ please ask ** answer, "play good JDK!"

Foreword

A lot of people for the company's recruitment requirements in writing, to have "a solid foundation of Java," very confused.

This in the end does it mean? What counts as Java foundation? Learn to what extent be considered a solid?

The answers to these questions, LZ already told you with classical, Keke, the answer is to play good JDK on it.

But things JDK contained in this thing too much, the group of Friends of ape or carry clear in the end what should be learned, so, LZ on the special write an article to talk about how JDK should play.

Play well JDK

Before explaining in detail under the JDK, LZ first to emphasize the contents of this article are personal LZ subjective judgment. Therefore, be sure you ape friends after binding their own judgment before deciding whether to learn, and learn to what extent.

In addition, this just tells you what to learn, learn to what extent, this article does not contain too many technical details to explain.

JDK Java SE Development Kit is actually an abbreviation, to play good this thing is not easy. JDK mainly includes three parts, the first part is the Java Runtime Environment, which is actually JVM. In addition, the second part is the basis of Java class libraries, the number of the library is still very impressive. Finally, the third part is the Java development tools, they are better assist you use Java weapon.

So obviously, you want to play well JDK, JDK is to play well in these three parts. Next, we will look at it one by one, what each part to learn, to learn to what extent.

The first part: Java Runtime Environment

In fact, this part is often said jre, but it's in fact a core thing that is JVM.

JVM this thing, it did not want to emphasize the importance of the LZ, JVM even more important than the book "Thinking in java", which already shows the value LZ how the JVM.

Of course, just LZ value, of course, with no eggs, but just a little bit of Java slightly more advanced position, which is basically part of the interview will ask content, which further illustrates the importance of the JVM.

So, for the JVM, nothing to say, science is Kill, Kill research, to how deep it deep!

The second part: Java foundation class library

Java foundation class library you just started to learn from Java came into contact with, but, until the end of your career throughout Java, you can not necessarily see all of the classes again.

This shows what? Is not that a huge Java foundation class library?

wrong! Wrong! This is actually the real explanation is that there are a lot of them like you totally unnecessary care, because they contact you from Java to give up, do not necessarily have access to.

So, figure out which classes are important and which class is not important, it is very necessary. This allows you the shortest possible time, the most valuable thing to do.

First, let's Java Foundation Classes package what are, in order to make it more representative of this article, we take the package list JDK6.

An article teach you how to do "to have a solid Java foundation" resume requirements

 

how about it? It is not to be scared? So many packages, but also so many strange package name, and some even never seen this special how to play it?

Do not worry, LZ can show you the level of these sub-contracted out, LZ total of these packages are divided into four levels.

The first level: Intensive Source

This level included in the package as follows:

An article teach you how to do "to have a solid Java foundation" resume requirements

 

 

Intensive source, which is the most demanding level. However, you are required Intensive source does not mean that these classes is the most important. But because, LZ think these classes more common, and relatively simple, look at their source code helps to exercise the feeling you look at the source code, but also look great God who write code style.

The purpose of these source code to see, more to increase your ability to read the code. Moreover, LZ must emphasize here, like Exception and Error in this category, do not read the source code, and pro.

In fact, the above three packages have in common is that these three packages, you are basically the most common. lang package Needless to say, you just have to write Diansha use, io package util package and also you usually read and write files and data structures necessary.

Look at the source code from the package to start looking for these common touch, LZ personally feel very appropriate.

The second level: a deep understanding

This level included in the package as follows:

An article teach you how to do "to have a solid Java foundation" resume requirements

 

 

A deep understanding of this seemingly low-intensive than the required level of source code, in fact, it is the most important. This level requirements of the class, are all some of the senior advanced to the need to know.

当然了,这里要强调一点的是,LZ说这些类要深刻理解,而没说要看它们源码,并不是说这些类的源码不能看,或者看了没用。而是这些类的源码往往非常复杂,要了解清楚细节花费的时间是非常多的,因此,花费巨量的时间去研究这么复杂的代码其实没必要的。

不过,如果你在使用这些类的过程中,遇到了问题,这个时候如果看它们源码可以解决的话,那就不要再矜持了,果断看看源码解决你的问题吧,这是最适合的看源码的契机了。

小小的透露一下,LZ看过的JDK源码,基本上全是这么看过来的。遇到了问题不要百度和谷歌,看源码能解决你90%的问题。

此外,看到这四个包的名字,不难看出它们各自代表了什么。reflect代表了反射,net代表了网络IO,nio代表了非阻塞io,concurrent代表了并发。

这四个家伙可以说每一个都够面试官问上半天的,而且,这四个包的内容,如果你要深刻理解的话,其实还牵扯了很多其它的知识。

举个例子,反射你要了解清楚的话,你是不是要搞明白JVM的类加载机制?网络IO要搞清楚的话,你是不是要清楚TCP/IP和HTTP、HTTPS?包括并发包,如果你要搞清楚的话,是不是要了解并发的相关知识?

因此,这四个包要彻底搞清楚,还是需要花费一定时间和精力的。

但是,请相信LZ,这绝对是值得的,甚至可以说,这四个包用的够不够叼,基本决定了一个Java程序员所处的档次。

第三级别:会用即可

该级别包含的包如下:

An article teach you how to do "to have a solid Java foundation" resume requirements

 

 

会用即可,这个级别的要求很显然了,就是会用就可以了。这些包大部分都是在特定的情况下会用到,但却不会时刻用到。

就像sql包和transaction包,就是操作数据库时用到的。而xml、dom和sax这些,都是操作xml时用到的。其它的包也都是类似的,有使用注解时用的,有远程方法调用时用的,也有涉及到加密时用到的等等。

这些包在面试时一般不会问到,所以它们的重要性自然要低很多,而且也不太需要刻意的去学,用到了研究一下,会用即可。

第四级别:请无视它

该级别包含了所有以上没有提到的包。

This level even without explanation, the package still have not mentioned, basically negligible, because basically you are less likely to use them, such as swing, awt these gadgets.

what? You say you often use them?

If this is the case, then LZ can only regret to tell you, and quickly quit it, you stay in the future of this company nothing, 0-0.

Part III: Java development tools

These development tools mainly to assist you in the development, javac should be the most common one, though you almost do not have to manually execute it.

In addition, there are in fact some of the more useful tools that can help you troubleshoot problems. And some interviewer will ask you such questions, such as asking what tools you usually have to troubleshoot the problem.

LZ think of a few more practical tools are jmap, jconsole, jstack, jvisualvm, as to what role these tools, LZ will not mention here, if you want to know the details of these commands, you can go to Google or the official website looking, still very good looking.

Of course, if you are interested, you can go your own JDK bin directory to look at, to see if there is nothing more fun tool.

summary

Well, here basically put "play well JDK" it finished.

Overall, the first level and the second level is the most important.

More simply, can be referred to as a first basic level those packets, those packets are called the second-level advanced. For those packets third and fourth grade level, you have nothing to say.

Of course, the most important thing is that the same years JVM, please remember, you do Java JVM is the foundation, is then regressed class, not the JVM it is a useless class file only.

If you want to have a solid foundation of Java, JDK it would pay close attention to play well. After playing well JDK, do not forget to learn a skill.

The proposed system does not want to learn lack of learning materials, as well as a sound document query, I summed up a set here for the Java programmer for many students .pdf << >> core knowledge points . There is a need to give a small partner!

An article teach you how to do "to have a solid Java foundation" resume requirements

 

An article teach you how to do "to have a solid Java foundation" resume requirements

Guess you like

Origin blog.csdn.net/qq_36860032/article/details/90578648