About the progress of written Java books

Source: Internet
Author: User

Hello everyone, last year said to write a Java book, the recent rapid publication. Now it's time to print the sample booklet, the fastest in the middle of the month to see the news on the interactive network www.china-pub.com, when the other sites will be released to see the detailed purchase situation.


Last year I expected half a year to write this book, 6 months or so did the manuscript written, but because it is the first time to write a book, so it is not expected that many review cost is very high. In addition, after each review to communicate with the publisher, has been dragged until now ready to publish (and also just out of the register), very many small partners have been waiting for the flowers are thanks. Ha ha! I have a similar feeling, some of the content written last year is now almost out of date, hehe. Just fine the point is not the technology itself.

After several review down. The book changed a lot of questions, but also deleted some content. It must be a lot smoother than the manuscript. It's just certain that there are other places that are not noticed. I hope we can understand.


The more The book was written, the more it was written at the end of last year than the number of words and length of the plan.

Therefore, with the decision of the publishing house is divided into the "register" published, this publication is the register, the register is a complete explanation of the basis, but also fat brother feel the best. This publication is also the register, according to the publishing house, the contents of the booklet part of a total of 490 pages.


This book has been very long since it was written this year. Very many small partners have been very interested in the name of the book, Haha, the name of the book is still a bit domineering. Called "Java Commando." Just what I want to say is that the name is just a chewing head, not to say that the book is a commando, detailed details can read the preface part of the. The cover of the book is basically set down. The following are the references:




There are 2 articles in this book. One is the basic article, one is the source code chapter. There are also a lot of small partners in the near future asking me what to write. Here I'll post the folder:

For example, the following folder:

The 1th chapter of Java Foundation

The 1th Chapter Zama: See how the Foundation

Example of a 1.1 string. To witness our Foundation

1.1.1 about "= ="

1.1.2 about "Equals ()"

1.1.3 Compile-time optimization scheme

1.1.4 Supplement Example

1.1.5 with String.

1.1.6 intern ()/equals ()

1.1.7 Stringbuilder.append () and string "+" PK.

1.2 Some simple algorithms. How would you understand

1.2.1 to find Max and Min from a bunch of data

1.2.2 Find the largest 10 numbers from 1 million numbers

1.2.3 about sorting. Real-world scenarios are very important

How does the 1.2.4 database look for data?

The image concept of 1.2.5 hash algorithm

1.3 Simple number games to play

There are several ways to exchange 1.3.1 variables A and b

1.3.2 Hash of unordered data to a specified plate

1.3.3 A large number of "yes | no" actions

1.3.4 Simple Data Conversion

1.3.5 numbers are too large. Long is not stored

1.4 Overview of the Foundation

1.4.1 What is the foundation

What is the purpose of 1.4.2 Foundation?

1.4.3 How to hone the foundation

1.5 Foundation Supplement

1.5.1 Original Ecological type

1.5.2 Collection Class

1.6 Common folders and toolkits

1.7 Face technology. The things that we're tangled up

1.7.1 Why I use here, where not to use

1.7.2 Your program is not good, you will not use it. Problems with the environment

1.7.3 experience can be eaten as a meal

1.8 Old A is a difficult person to meet in adversity.


2nd Chapter Java Program Ape to know how the computer works

2.1 Java program do apes need to know how computers work?

2.2 CPU stuff.

2.2.1 Connecting to Java from the CPU

2.2.2 Multi-core

2.2.3 Cache Line

2.2.4 Cache Consistency Protocol

2.2.5 Context Switch

2.2.6 Concurrency and expropriation

2.3 Memory

2.4 Disk

2.5 cache

The relativity of the 2.5.1 cache

Uses and scenarios for 2.5.2 caching

2.6 About networks and databases

2.6.1 Java Basic I/O

2.6.2 Java's Network Fundamentals

2.6.3 Java interaction with the database

2.7 Summary


3rd Chapter JVM. Java Program Ape's OS

3.1 What are the advantages of learning a Java virtual machine for us

3.2 Fundamentals of cross-platform and bytecode

3.2.1 JAVAP Command Tool

3.2.2 Java byte code structure

3.2.3 Class byte-code loading

3.2.4-byte Code enhancement

3.3 Start from the virtual machine's Plate

3.3.1 Hotspot VM Plate Partitioning

3.3.2 "Object storage Location" Small summary

3.3.3 About Permanent generation

3.4 Common virtual machine recovery algorithms

3.4.1 Serial GC

3.4.2 PARALLELGC and PARALLELOLDGC

3.4.3 CMS GC and the future of G1

3.4.4 Simple Summary

3.4.5 Small Supplement

3.5 Analysis of the memory structure of Java objects

3.5.1 The original type with the object's own active unboxing

3.5.2 Object Memory Structure

3.5.3 Object Nesting

3.5.4 the memory structure of common types & collection classes

3.5.5 memory copy and garbage in the program

3.5.6 How to calculate object size

3.5.7 Easy Play INT[2][100]PK int[100][2]

3.6 Common Oom phenomena

3.6.1 HeapSize OOM

3.6.2 PermGen OOM

3.6.3 Directbuffer OOM

3.6.4 Stackoverflowerror

3.6.5 Other Memory Overflow phenomena

3.7 Common Java Tools

3.7.1 JPS.

3.7.2 Jstat

3.7.3 Jmap.

3.7.4 Jstack.

3.7.5 Jinfo.

3.7.6 JConsole.

3.7.7 Visual VMs ...

3.7.8 MAT (Memoryanalyzer Tool) ...

3.7.9 BTrace.

3.7.10 Hsdb.

3.7.11 Tool Summary ...

3.8 Summary ....

3.8.1 Write code ...

3.8.2 psychologically overcome the fear of virtual machines


4th Chapter Java Communication. Communication is required for interaction

4.1 Communication Overview ....

4.1.1 Basic process of Java communication ...

4.1.2 Protocol wrapper for Java communication ...

4.1.3 write its own definition communication protocol ...

4.1.4 java I/O flow is not very difficult to learn ...

4.2 Java I/O with memory of those things ....

4.2.1 Routine I/O operations ...

The use of 4.2.2 Directbuffer ...

4.2.3 About Buffer

4.2.4 FileChannel Lock ...

4.3 Communication scheduling mode ....

4.3.1 synchronous vs. Asynchronous ...

4.3.2 clogging and non-clogging ...

4.3.3 Linux os scheduling IO model ...

4.3.4 bio, NIO in Java.

4.3.5 Java AIO.

4.4 Tomcat Request processing for I/o ....

4.4.1 Tomcat Configuration & response of a request ...

4.4.2 Request, Response object generation ...

4.4.3 Pull and push ...

The 5th chapter is Java concurrency. Are you going to come across it .....

5.1 Basic Introduction ....

5.1.1 Threading Basics ...

5.1.2 Multi-Threading ...

5.1.3 Thread State ...

5.1.4 negative suspend (), resume (), stop ()

5.1.5 Scheduling Priority ...

5.1.6 thread Merge (Join) ...

5.1.7 Thread Supplemental Trivia ...

5.2 Thread-safe ....

5.2.1 Concurrency Memory Model Overview ...

5.2.2 Some descriptive narratives of concurrency problems ...

5.2.3 volatile.

5.2.4 Final

5.2.5 Stack closed ...

5.2.6 ThreadLocal

5.3 atomicity with lock ....

5.3.1 synchronized.

5.3.2 What is optimistic lock ...

5.3.3 Concurrency with lock ...

5.3.4 Atomic.

5.3.5 Lock.

5.3.6 Concurrent Programming Core AQS principle ...

Self-optimizing method of 5.3.7 Lock ...

5.4 JDK 1.6 Concurrent programming some of the collection classes ....

5.5 Common concurrency programming tools ....

5.5.1 Countdownlatch.

5.5.2 Cyclicbarrier

5.5.3 Semaphor

5.5.4 Other tools Simple introduction ...

5.6 Thread pool & Schedule Pool ....

5.6.1 Block Queue model ...

5.6.2 Threadpoolexecutor

5.6.3 Scheduler Schedulethreadpoolexecutor

5.7 Summary: What to note when writing concurrent programs ....

5.7.1 Lock Granularity ...

5.7.2 deadlock ...

5.7.3 "pit" very much ...

5.7.4 concurrency efficiency must be high ...

5.8 Other knowledge of concurrent programming ....

5.8.1 shutdownhook (Hook thread)

5.8.2 future. 332

5.8.3 Async is not equivalent to multithreading ...

The 6th Chapter Good program apes should know the basic principles of the database ..... ..... ..... .................

6.1 Why developers need to know how the database works ....

6.2 From the developer point of view of the database principle ....

6.2.1 Instances with storage ...

6.2.2 Database Fundamentals ...

6.2.3 Index Fundamentals ...

6.2.4 Database Master-Slave fundamentals ...

6.2.5 the experience that we often believe ...

6.3 The database optimization method from the point of view of the program ape ....

6.3.1 different fields of SQL difference ...

6.3.2 Run plan ...

6.3.3 examples of SQL logic ...

Optimization of 6.3.4 model structure design ...

6.3.5 Temporary table ...

6.3.6 Pagination Knowledge supplement ...

6.3.7 calculate the Count value ...

6.3.8 Distributed Transaction Discussion ...

6.3.9 other ...

6.4 Learn the most important performance diagnosis ....

6.4.1 into the Cloud database era ...

6.4.2 Database diagnostic information from the point of view of the program ape ...

6.5 Number of merry storage, also see today ....


2nd Article source code


7th Chapter Source Code Foundation

7.1 Why the framework is appearing ....

7.2 Technical Reserve before reading the framework ....

7.2.1 Reflection Basics ...

7.2.2 AOP Basics ...

7.2.3 Orm Foundation ...

7.2.4 annotation with config file ...

The 8th part of the JDBC Source code explanation:

8.1 JDBC Universal Interface Specification ....

8.2 JDBC Driver Brochure ....

8.3 Create connection.

8.4 SQL operation and processing ....

8.4.1 Creating statement

8.4.2 Batch setup batching ...

8.4.3 Fetchsize and MaxRows.

8.4.4 SetQueryTimeout () and Cancel ()

9th Chapter Spring Source Code explanation

9.1 Spring MVC

9.1.1 Spring Loading

9.1.2 Spring MVC handles a simple request

9.2 Spring transaction Manager

The basic idea of 9.2.1 JDBC transaction

9.2.2 Basic schema for spring transaction manager

9.2.3 Spring How to save connection

9.2.4 Spring How to ensure that the connection that is obtained in the program is the same

9.3 Thinking: Do you have a frame for yourself?


The 10th chapter looks at some summary of source code.

10.1 Ability to see the API

10.2 Ability to quantify performance and stability through source code

10.3 Thinking about the pros and cons of similar scenarios and technologies

10.4 Understand the scene and business, do not do technical control

10.4.1 Talk about technical control of those things.

10.4.2 understand the example of business background:

10.5 Fat Brother's analysis of the framework ...

A supplement to the origin of the 10.5.1 framework.

10.5.2 Open source framework with extensions:

10.5.3 framework to solve this problem.

10.6 The boundless, boundless mind.



The manuscript of the booklet has also been written. But the details of the folder and content will be modified, but there will not be a very big change, in order to satisfy everyone's curiosity, I write a booklet about what to write (also in the preface of the booklet):

1, the design of the article. Design will refer to design patterns and ideas, but fat brother will come up with some ideas and ideas in life, and then we use some examples to design something (chapter 2-3).

2. Realization of the article. Main commentary in the project you and I he. Fat brother will talk about the strange things in some of the projects that he has been through. The way to do things. People-to-people cooperation, some technical pits.

3, expand the chapter, the more miscellaneous. Have a quick discussion of some clustering, distributed technical knowledge. There are also methods of thinking. Look at the angle of the problem, do it people's mentality and so on.


That's about it, that's about it next time. The booklet assumes that everyone likes it. I will do my best to review as soon as possible. All right, that's all.

When the book is published, I send a post again, haha!








About the progress of written Java books

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.