How to get started with Java?

First. Learning Java syntax. You need these in 3 days: 1 String, integer, long, array, list and map are enough. 2. It's enough to distinguish interface from impl. Never use inheritance. 3. Model is also a bean. Remember that there are only get and set methods in model. Anemia model. 4.try-catch,Throwable,Error 5. Function, parameter, return value 1 NIO,Thread,Extend,Abstract,GUI,GC 2. Various JDK source codes and the implementation of various algorithms

Second. Understanding and learning of object-oriented concepts for 3 days

You need these: 1 Properties and methods 2 private/public 3. static final 4. Value, length and traversal of ArrayList, set, map and array. StringBuffer 5. Null object, null pointer 6 Constructor 7 this 8. generic paradigm

You must not look at these at this time: 1 protect 2. Heavy load 3 Polymorphism 4 Internal class 5 socket 6. file 7. stream

Third. Common util 3 days

You need these: 1 StringUtils 2. CollectionUtils 3. log4j 4. httpClient 5. calendar

Fourth. You need these databases in 9 days: 1 JDBC 2. Mybatis 3. Hibernate 4. Add, delete, modify, query a table, sort, page, simple joint table query 5 Index, think about what kind of table to build an index and what is an index

Don't worry, the above three are all one and all

Fifth. Unit test 3 days

You need to know these 1 Junit @Test,@Ignore 2. log4j info,warning,error 3. Eclispe debug,Step,Step in,Step Out,run

Sixth. Spring 3 days

You need to know these 1 Spring bean, property, map, list initialization value 2 Autowired 3. Announcement & profile 4 Spring Version 5. Spring MVC,@Method @Controller

Seventh. Maven 5 days

You need to know these 1 clean,install,deploy,assembly 2. snapshot/release 3. module 4. subeclipse 5. jetty:run

There are two main ways to use JSP in the eighth day. One is the traditional way of setting pages by background programmers, and the other is to directly generate data in JSON format. Limited by Jason's inability to provide SEO, you still have to provide a set of pages when you need SEO. There are many ways to generate JSON. I prefer to use JSON tag lib

What you need to know is: 1 C label 2 Custom tag 3 include 4. Add version number 5 to static resources When the web container does not update the JSP, touch it

You must not learn these: 1 Write any Java code in JSP, including but not limited to MySQL

9th web day 10

Madan, what do I mean by the web here? I forgot. What does spring MVC mean? Anyway, you need to know this: 1 web. xml 2. Spring configuration file 3 Uniformly set to utf8 code 4 filter 5. Interceptor 6 Controller 7. HTTP protocol 8 Http-head content-type application/json x-www-form-urlencoded 9. File upload 10 Picture upload 1 Struts 2 2. play 3. webService 4. servlet

Day 10 Tomcat / jetty 5

You need to know these: 1 Configuration of memory and JDK parameters 2 Specify how to deploy the configuration file, docbase 3 Log configuration access log stdout. log. catalina. Out, stderr log 4. Write a script to find out the slow query, cat|awk 5 Understand how to decompose response time and find performance bottlenecks after a request is divided. 1 Deploy multiple projects under a Tomcat or jetty 2 Jetty's embedded operation mode

Day 11 cookie 3 about cookies, there are two places most commonly used, one is statistics and the other is login. So what you need to know is this: 1 Cookie size 2 Cookie transmission method 3 How to get a cookie and what will be received if there is a parameter with the same name in the cookie. 4. Why use cookies instead of session as the user's login mark 5 Expiration time of cookie 6 Clear cookies

Day 12 shell 10

The concept of shell is very big, so only the things you should know most at this stage are listed here. What you need to know is: 1 VIM encoding mode, command mode, forward query, backward query, delete a line and move to the end of line 2 Cat | more is the most perceptive log browsing method. Cat | grep is the most commonly used 3.0 to locate bugs Grep - A - B, etc., and how to find out which folder they are in if cat + grep locates multiple files. 4.ls,cd,mkdir,mv,cp,scp,chown,chmod 5. top,free,vmstat,ps,iostat,netstat1. Madan, I don't know what I shouldn't know. You can learn more about shell as long as it's practical

Day 13 SVN / git 5

For back-end programmers, I still like SVN. Whether Git is used or not depends entirely on personal preferences. There are many reasons, not here.

You need to know these: 1 Standard directory of SVN: trunk / tags / branches 2 commit,update,revert,history 3. Maven's release plug-in release: prepare, release: perform, release: rollback 4 Tag management and development mode of always tag / always trunk 5 After a bug occurs, if it conflicts with the current development project, how to tag and merge code 6 How to roll back after publishing failure. 7. How to generate SVN version number 8 clean

1. I don't know what I shouldn't know, but I suggest never use 2. Clock There is also the merging code. I also think it should never be used. Try to ensure that your code structure is good, rather than trying to make the merging code simpler.

Day 14: JSON / gson / jsontag lib 5

Finally, we arrived at Jason. After 300 likes, the updated content was completed ~ ~ Jason is an artifact. Now there is yaml? It doesn't matter. It doesn't matter much. Jason has ruled the Internet for almost seven years. You should know these: 1 JSON string, number, object, array 2 Escape of JSON 3 How to define a reasonable structure, whether to use an object in the array or a large object, where the key is an ID and the value is an object? Whether to use sex: male directly or name: sex, value: male? 4. Basic type conversion of gson in Java and JSON fromjson and tojson 5 How does gson convert custom objects and nested objects (this is the most annoying part of Java. If it's groovy or python, it's so troublesome) 6. Common tags in Jason taglib, how to convert an ID into number and string 7. Coding

You should not understand: 1 fastjson? i forgot. It's good to use gson 2 Jsonobject or something? I don't remember. In fact, this paragraph is a bit lame, because I can't control what you like to use, and I can't tell which is good or bad, but this is my own preference. So what follows me must only be written in gson. Unless one day I can be persuaded to say, boss, there is a XXX who is better than gson.

This is actually the nature of engineers. There is no need to feel that your leaders are suppressing your enthusiasm. The excellent engineers I have met have always taken the initiative to try various new and radical technologies in the project, and leaders often have to weigh n-many contents.

Article 15 rest

Sixteenth Jenkins

17th nexus

Eighteenth tiles

19th nginx

Chapter 20 Memcache / redis

Article 21 refact

Chapter 22 response time analysis

23rd memory, CPU, hard disk, IO, network occupation, ZABBIX

The 24th top, vmstat, free, iostat

Article 25 slow SQL

Twenty sixth cache hit rate / invalidation strategy

Chapter 27: JMeter / load runner

Chapter 28 agile development

Chapter 29 bug repair process

Article 30 launch process

31st release center / ansible

Thirty second RMI, RPC,

Thrift 33rd GC

Article 34 JMS

Article 35 groovy

The 361st consistency hash, BigTable, Cassandra

Chapter 37 mongodb

Article 38 NiO

Chapter 39 socket / websocket

Fortieth Tuscany / Dubbo

I can't make it up anymore.

I'm kidding, but there's still a lot less content, especially some business knowledge.

For example, how to design classified dB, when to split tables, when to divide databases, how to pay, how to develop wechat, what is the auth of third-party login, how to prevent attacks on SMS verification code, how to design cache for high concurrent read, how to merge write times for high concurrent write,

And how to refactor, when to refactor, and how to pre judge the change of requirements.

There are more algorithm related content, zookeeper, Paxos, MD5, HTTPS and so on.

The above steps are not completely accurate, and the classification is not completely detailed, huh. I'm still sorting out more content.

"We believe that everyone can become an engineer. From now on, find a senior brother to introduce you and stop being confused on the way to learning. Here is the skill tree. It Academy: http://www.jnshu.com , beginners switch to the gathering place of the Internet industry. "Welcome to add it exchange group 565734203 to discuss and exchange with you

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>