To learn java from zero basis, start with basic books

       The popularity of the Java industry has attracted a large number of beginners to join, most of them are zero-based and inexperienced, and want to open up another life path through Java learning. For java learning, the editor has compiled some books on the basics of Java for everyone to learn.

1. "In-depth understanding of computer systems"

        The famous CSAPP, from c language to assembly language to hardware to operating system, is very well written. It is a book that can help in-depth understanding of computer systems. Basically, it is not a problem to understand most of the problems of interviewing operating systems in this book. .

2. "Introduction to Algorithms (Third Edition)"

        It is regarded as a classic work by many acmercoders to learn algorithms, but it is not suitable for beginners, because many of the contents of this book only provide pseudo-code without specific implementation. But it is best to learn data structures and algorithms from this book. , because the future programming language does not actually have a particularly big obstacle to the implementation, it is just a choice of suitable and unsuitable, and converting an idea into a programming language is a test of algorithm knowledge. If you don't want to go too deep, you can Ignore Part 4 (Advanced Design and Analysis Techniques), Part 5 (Advanced Data Structures) and Part 7 (Selected Algorithmic Problems), and you will find that the book is actually much thinner than you think!

3. "Computer Networking: A Top-Down Approach"

        The computer network textbook of the School of Software is very suitable for beginners. It analyzes the computer network chapter by chapter from the top to the bottom. It is best to combine some experiments to assist understanding. The explanation inside is relatively abstract.

4. "Analysis of STL Source Code"

        If you are a student who often uses C++ to brush algorithm problems, then you must often use STL's various sets, vector, set, stack, queue, etc.. Their implementation principles have no secrets in front of the source code.

5. "Linux Command Line and Shell Script Programming Encyclopedia"

        It probably describes the use of a lot of Linux systems and command lines. Linux is a must-know operating system for Java background developers, and the command line is something that must be faced when using a Linux system. For students who don't want to install a Linux system, you can actually consider it. Using Tencent Cloud to learn some linux-related command line knowledge (yes, no graphical interface is required), the student price is only one yuan a month, which is too cost-effective compared with ten yuan a month for a moon cake factory! Cool.

6. "Graphic HTTP"

         The book that introduced the HTTP protocol written by a Japanese is very helpful for understanding some details of the HTTP protocol. There are also many illustrations (Japanese style of writing, it feels like reading a comic), and it is easy to understand.

7. "TCP/IP Detailed Explanation Volume 1"

       This book can explain the boring knowledge in great detail. I highly recommend this book. After reading the corresponding chapters, you can probably understand why TCP/IP is designed this way. During interviews, you are often asked about three-way handshake and four-time wave, and The transition of various states, why is the time of TIME_WAIT 2*MSL...

8. "UNIX Network Programming Volume 1: Socket Networking API (Third Edition)"

        The Chinese version is almost 800 pages, but I only read some chapters. This book also covers the details of TCP/IP in depth and in depth. In addition, there are very important basic socket programming, which is when writing network programs. bind, accept, listen, send, receive functions and so on, there is a lot of content, but these are what you need to know to understand the multiplexing model... What problem do these system calls select/poll/epoll solve? The event mechanism can Can't understand? Just read the first six chapters of this book.

9. "Database Management System (Principle and Design)"

        This is also an inseparable thing in web development. What must be learned is ER diagram/SQL statement/stored data (disk|file|RAID|buffer pool, etc.)/three paradigms/index and the corresponding data structure/transaction related All concepts of mysql, especially focus on learning SQL, and attach a learning link. After learning to use mysql workbench for database modeling/reverse engineering to generate table statements/generating JAVA entity classes according to SQL, I will not go into details. Baidu Google during the development process You know, and if you are used to developing under Windows, you recommend using navicat, a good thing. Of course, if you want to train your ability to write SQL statements, it doesn't matter if you use the command line.

        Java learning does not happen overnight. It requires unremitting efforts. I wish everyone who is striving on the road of dreams can learn something. More technical knowledge is welcome to join the group to communicate.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325930039&siteId=291194637