Author: Dark out
Link: Beginner Java Programmer’s path
Source: Zhihu
Zhihu always suggests me to change the content, saying THAT I cheat fans.
Forget it. Just send the column.
I’ve talked about this a lot. Say it again. Say it again.
The first. Learning Java syntax. 3 days
You need to know:
1. String, Integer, Long, Array, List, Map are sufficient.
2. It is enough to separate the Interface from the Impl, never use inheritance.
3.Model, also a Bean, remember that the only methods in Model are Get and Set. Anemia model.
4.try-catch,Throwable, Error 5. Function, parameter, return value
You must not read these now:
NIO Thread Extend Abstract GUI GC
2. Various JDK source code, the implementation of various algorithms
In the second. Understanding and learning of object oriented concepts for 3 days
You need to know:
Properties and methods
2.private/public
3.static final
4.ArrayList, Set, Map,Array value, length, traversal. StringBuffer
5. Null object, null pointer
constructors
7.this
8. Generics
You definitely don’t want to read these at this time:
1.protect
2. Overloading
3. The polymorphism
4. The inner classes
5.socket
6.file
7.stream
In the third. Commonly used Util 3 days
You need to know:
1.StringUtils
2.CollectionUtils
3.log4j
4.httpClient
5.calendar
You must not see these:
In the fourth. Database 9 days
You need to know:
1.JDBC
2.Mybatis
3.Hibernate
4. Add, delete, change and check a table, sorting, paging, simple table query
5. Index, think about what kind of table to build index, what is an index
Don’t worry, the above three are all the same
The fifth. Unit test for 3 days
You need to know that
1. Junit @ Test, @ Ignore
2.log4j info,warning,error
3.Eclispe debug,Step,Step in ,Step Out,run
You must not learn these things
6. Spring 3 days
You need to know that
1.Spring Bean, Property, Map, List initialization values
2.Autowired
3.Annonation& Configuration files
4.Spring Version
5.Spring MVC,@Method @Controller
You must not learn these things
7. Maven 5 days
You need to know that
1.clean,install,deploy,assembly
2.snapshot/release
3.module
4.subeclipse
5.jetty:run
= = = = = = = = = = = = = = = = = = = = = = = = = = = = over time to update the following content = = = = = = = = = = = = = = = = = =
Eighth Jsp 3 days
Jsp is mainly used in two aspects, one is the traditional way of background programmer set page, one is to directly generate Json format data. Json doesn’t provide SEO, so you still have to provide page-wrapping when SEO is needed. There are several ways to generate Json, but I prefer Json tag-lib.
What you need to know:
1. The label C
2. Customize the Tag
3.include
4. Add a version number to static resources
5. Touch the Jsp when the WEB container does not update it
You must not learn these:
1. Write any Java code in Jsp, including but not limited to Mysql
9 WEB 10 days
Madan: What do I mean by WEB here? I forget. SpringMVC, right? Here’s what you need to know anyway:
1.web.xml
2. Spring configuration files
3. Set the encoding to UTF8
4.filter
5. The interceptor
6.Controller
7. The HTTP protocol
8.Http-head content-type application/json x-www-form-urlencoded
9. The file upload
10. Uploading pictures
You must not know this:
1.Struts
22.play
3.webService
4.servlet
Tenth Tomcat/Jetty 5 days
Here’s what you need to know:
1. Configure memory and JDK parameters
2. Specify the configuration file for deployment, docBase
Log configuration Acces.log Stdout.log. Catalina. out Stderr.log
4. Write a script, and find out the slow query, cat | awk
5. Understand how to break down response time and find performance bottlenecks after a request is split
You don’t need to know this:
1. Multiple projects are deployed in one Tomcat or Jetty
2.Jetty’s embedded operation
Eleventh Cookie 3 days
About cookies, there are two most commonly used places, one is statistics, one is login.
So here’s what you need to know:
1. The size of the Cookie
2.Cookie transmission mode
3. How to obtain the 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 to mark user login
5.Cookie expiration time
6. Remove cookies
You don’t need to know this:
Twelfth Shell 10 days
Shell is a big concept, so here’s a list of the things you should know best at this stage
Vim encoding mode, command mode, forward lookup, backward lookup, delete line, move to end of line
2. The cat | more this is one of the most sleep see log browsing, cat | grep used to locate the most commonly used when the Bug
3. Grep -a -B, etc., and if Cat+ grep locates multiple files, how to find which folder they are in. 4.ls,cd,mkdir,mv,cp,scp,chown,chmod
5.top,free,vmstat,ps,iostat,netstat
What you don’t need to know:
1. Madan, I don’t know what not to know, Shell as long as you can learn more about practical things
SVN/Git 5 days
For back-end programmers, I still like SVN. Whether Git is used or not is a matter of personal preference. There are many reasons I won’t mention here.
Here’s what you need to know:
1.SVN standard directories: Trunk/Tags/Branches
2.commit,update,revert,history
3.Maven的Release插件 release:prepare release:perform, release:rollback
4.Tag management always Tag /always Trunk development mode
5. How to Tag and merge the code if the Bug is in conflict with the current project
6. How to roll back a release failure?
7. How is the SVN version generated
8.clean
You must not know this:
1. I don’t know what not to know, but I recommend never using clock
2. Merging code is something I don’t think you should ever do. Try to keep your code well structured, not make merging code easier.
Json/Gson/ jsontag-lib 5 days
Json is a marvel, now yamL? It doesn’t matter. It doesn’t matter. Json has ruled the web for almost seven years.
Here’s what you should know:
1. The json string, number, object, array
2. The json escape
3. How to define a reasonable structure? Should we use an array containing an Object, or a large Object where the Key is ID and the Value is an Object? Sex :male or name:sex, value:male?
4.Gson’s basic type conversion fromJSON and tojson in Java and Json
5. Gson how to convert custom objects and nested objects (this is the most annoying part of Java, if it is Groovy or Python would not need such trouble)
6.Json-taglib: how to convert an ID to a Number, how to convert a String
7. The coding
You’re not supposed to know:
1.fastjson? I forgot. Gson is good
2.JSONObject or something? I don’t remember. It’s kind of crazy, because I don’t care what you use, and I don’t know which one is good or which one is bad, but that’s my preference. So what follows me must only be written in Gson. Unless one day I can convince me, boss, there is a XXX better than Gson.
It’s in the nature of engineers to feel that your boss is suppressing your motivation. The excellent engineers I have seen always take the initiative to try all kinds of new and radical technologies in the project, while the Leader often has to weigh N contents.
Ok ~~~300 likes is good, easy to break. Let’s see if we can get 3000 upvotes
= = = = = = = = = = = = = = = = = = = = = = = = = = = = over time to update the following content = = = = = = = = = = = = = = = = = =
The REST 15
The sixteenth Jenkins
17 the nexus
The 18th Tiles
19 Nginx
Memcache 20 / Redis
Refact 21
= = = = = = = = = = = = = = = = = = = = = = = = = = = = over time to update the following content = = = = = = = = = = = = = = = = = = 22 response time analysis
23 memory, CPU, hard disk, IO, network occupancy, Zabbix
Vmstat, Free, iostat
Slow Sql
Cache hit ratio/invalidation policy
Twenty-seventh TPS,Jmeter/ Load Runner
Agile development
The 29th Bug repair process
30 online release process
31 Publishing Center/Ansible
= = = = = = = = = = = = = = = = = = = = = = over time to update the following content = = = = = = = = = = = = = = = = = =
Thirty-two RMI RPC Thrift thirty-three GC thirty-four JMS thirty-five Groovy thirty-six Consistent Hash BigTable, Cassandra 37 MongoDB 38 NIO 39 Socket/WEBSocket 40 Tuscany/Dubbo
= = = = = = = = = = = = = = = = = = = = = = over time to update the following content = = = = = = = = = = = = = = = = = =
Forty-one Madan I can’t go on.
I’m joking, but there is still a lot missing, especially some business knowledge.
For example: classification DB how to design, when should disassemble the table, when to divide the library, how to pay, wechat development process, what is the third party login Auth ghost, mobile phone message verification code how to attack, high concurrent read how to design cache, high concurrent write how to merge write times,
How and when to refactor, and how to anticipate changes in requirements.
More algorithms related content, zookeeper, paxos, md5, HTTPS, and so on and so on.
The steps above are not entirely precise, nor are the classifications entirely careful, HMM. I’m still sorting out more.