Java programmers the most commonly used technology 20%

Here Insert Picture Description
I heard programming language often used is 20% of the technology. In Java the language, which includes 20% of what? To find a junior Java programmers work, which must be mastered, which can be sold off now? A complete Javaweb project, what specific modules, each module use the technology is what?
Common api (String, StringBuffer / StringBuilder etc.)
1. collection class, the thread class.
2.Servlet (rarely used pure servlet write, but you have to understand, because a lot of the framework are based on servlet package).
3.json, xml reader
4. database access (the CRUD, transactions, connection pool)
5.http request (HttpClient)
. 6 Other, commonly comprising a frame, design, object-oriented
Here Insert Picture Description

These junior programmers can write project. Late problems encountered will be more complex, rely on accumulated experiences and knowledge.
In addition to the 20% to master even grasp what knowledge to ease. Here to talk about my contacts (use) before, things right.
1.java a distributed application rich ecological well-known, can not escape the choice of the CAP in a distributed system. Distributed early to know some coherence protocols paxos, raft and so on. Zookeeper learning principles and usage scenarios (metadata, distributed lock, leaderEletion ... etc)
2.RPC SOA architecture framework plays in important role in exploring good end is good, we recommended here Alibaba dubbo framework, will netty, mina and other network library
3.Hadoop series Storm Spark and other offline \ real-time computing framework
4.ElasticSearch \ SolrCloud distributed search ELK log things related to these more sensitive, of course, in more scenarios using the ES is also a lot of
5 message Queuing kafka \ MetaQ RabbitMQ Well, the author ZeroMQ (not fully counted as MQ) of euthanasia, and is willing to heaven without pain
6. then is basic knowledge, programming languages, networking, databases, data structures and algorithms. I do not think any one have proficient, proficient know almost say can have a few.
Talk about their feelings right, it should work just will not let you independently start a new project, you should make now under development project
using eclipse 1. Society, svn such as IDE and tools (do not say it, mainly to see you work place, such as we use eclipse you want to use IntelliJ IDEA can be, but certainly a lot of work just do not understand, this time not yet unconventional good, a good question to ask. of course, you are the great God ide please ignore)
2. The core of the reach of the newly recruited staff also work, let me first change what change pages as web development html, css, and javascript do not proficient, at least need to understand the usage and syntax, even though there are front-end engineers, but this certainly to understand the (company's own small project group, all are forced to fulfill the stack). javascript but it is still very strong, but do not write the beginning of a deep, a lot of wheels can be used, such as easyui, will refer to the official documentation, to know usage in embedded page, and then transmit the data to the format the background like the front desk.
3. Then gradually wrote later stage, become familiar with design patterns, too hard to understand if you can first understand the factory model, write an interface and then implement one or several class implements this interface, the time needed in as needed to determine which implementation class with. (Initially do not understand what use such a cumbersome, but since the last project from the database into mysql oracle to know it in fact of great use) general project will be used to develop design patterns, might not understand the clear touch the entire project of architecture, no start.
4. frame with different companies is not the same, but the struts, spring is used more, so these two things is quite familiar with the good, or you may even architecture of the project are not clear, not to say that they write, even change is very difficult to start. For example, the jump of the project is how the distribution, which represents what the configuration file. (I later began a project I could not even run up a local home where documents which are not clear how to go TT, has been looking for before you know index.jsp freemarker to do with the project, is a ftl file)
5.web project to operate the database work is indispensable, and his project with useless hibernate, mainly using a StringBuffer splicing sql, if engaged in web development, sql or to Jiaoshu.
6. he felt to do web design project may do more advanced algorithm will encounter deep, more operations on string and numeric formats, such as back-end database drawn from the front desk how to display the data entered by the user how how to keep the database, it is best to be familiar with the operating string, split it merged Yeah, string turn float, int what, ah what date format.
If the company has a professional operation and maintenance, server deployment to them what is good, if not better at understanding, remote connectivity Yeah, a few simple commands linux Yeah, tomcat ah what
Here Insert Picture Description
20% I do not know where aspect to understand, then I would work myself over the years will often use the technique listed.
1.html, CSS
2.java works (the JVM)
3.java syntax, data structures and algorithms
4.java language features (encapsulation, inheritance, polymorphism, abstract)
5.java design patterns (often used in development )
6.java reflection (reflection common frame will be used)
7.io (document reader)
8. multithreaded
9. network programming
10.javascript
11.jquery
12. The database (oracle, mysql etc.)
13.servlet
14.JDBC
15.javabean
16.WEB layered architecture project
stage before and after interaction 17. The
18.ajax
19. The filters and filter principle
20. A common frame (the Struts, Hibernate, Spring, springMVC, I / MyBatis)
21. A frame integrated
22. workflow (flow engine mechanism)
23.xml, Properties, JSON
24. A common page and the background plug (Tree, time, poi, etc.)
25.nosql database and application scenarios (mongoDB)
26. The cache database and mechanisms (Redis, memcached)
27. The third-party interface call
28.SDK
29.web application server (Tomcat, WebLogic)
30.linux
31. The log
32. the database connection pool
33.maven
34.svn
35. the modeling tool (powerdesiner, axure) using
36.TCP / IP
Xiao Bian sort out a number of advanced learning materials and BAT java interview questions, need information, please add QQ group : 731 611 386 2019 will be able to receive advanced learning materials and BAT java interview questions and "Effective java" (3rd edition) electronic version of books.

Published 15 original articles · won praise 2 · Views 2043

Guess you like

Origin blog.csdn.net/qq_44545083/article/details/104325209