Home Java javaTutorial What are the 20% most commonly used technologies among Java programmers?

What are the 20% most commonly used technologies among Java programmers?

Jan 24, 2017 am 09:57 AM

I heard about programming languages, and 20% of the technologies in them are often used. In the language Java, what does this 20% include? It has been two months since I took part in the training, and there are still two months left. If I want to find a job as a junior Java programmer in two months, what are the things that I must master, and what can I learn and sell now? What are the specific modules of a complete Javaweb project, and what technologies are used in each module?

Commonly used APIs (String, StringBuffer/StringBuilder, etc.)

1. Collection class, thread class

2.Servlet (rarely used pure servlet writing, but you have to understand, because many frameworks are based on servlet encapsulation)

3.json, xml reading and writing

4. Database access (CRUD, transaction, connection pool)

5.http request (HttpClient)

6Others, including common frameworks, design patterns, object-oriented


Junior programmers will know these Then you can write the project. The problems encountered later will be much more complicated and will depend on the accumulation of various experiences and knowledge.

In addition to the 20% that must be mastered, what knowledge must be mastered to be able to do it with ease. Let me talk about the things I have come into contact with (used).


#Java is famous for its rich ecosystem of distributed applications, and it cannot escape the decision of CAP in distributed systems. Get to know some distributed consistency protocols paxos, raft, etc. early. Learn the principles and usage scenarios of zookeeper (metadata, distributed locks, leaderEletion... etc)

The RPC framework plays an important role in the SOA architecture. It is always beneficial to study it carefully. Here I recommend Alibaba's dubbo framework, and also netty, mina and other network libraries

Hadoop series Storm Spark and other offline\real-time computing framework

ElasticSearch\SolrCloud distributed search ELK log related things are more sensitive to these, of course There are also many

message queues kafka\MetaQ RabbitMQ using ES in more scenarios. Well, yesterday the author of ZeroMQ (not completely counted as MQ) chose euthanasia. May there be no pain in heaven

Then there are various basic knowledge, programming languages, network aspects, databases, data structures and algorithms. Don’t think that you are proficient in any one of them. I dare say there are a few Zhihu who are proficient in it.


Programmer Xiaobai joined the company in July 2015. He is growing and may not be accurate. He only shares his current growth process.

2015 May Xiaobai Bai (with a C background), because he was not interested in his university major, he crammed into learning Java for more than a month. Since joining JavaWEB development, he has worked on two big projects and independently developed n functions (big guys) You’re kidding me), I haven’t heard the 20% statement mentioned by the questioner yet.


Tell me about your feelings. When you first start working, you should not be allowed to start new projects independently. It should be allowed to work with projects under development


1. Learn to use eclipse, svn and other IDEs and tools (needless to say, it mainly depends on where you work. For example, if you use eclipse, you can use IntelliJ IDEA, but you must not understand a lot when you first start working. Don’t be unconventional just yet. If you have any questions, ask them. Of course, if you are an IDE master, please ignore them)


##2. If you have just joined the job and can’t get into the core work, just let me know. First change the page or something. As a web developer, you don’t need to be proficient in HTML, CSS, and JavaScript. You need to at least understand the usage and syntax. Although there are front-end engineers, you must understand this (my company’s small project team, everyone is forced to It’s a full stack). JavaScript is actually very powerful, but you don’t need to write it very deeply at the beginning. There are many wheels that can be used, such as easyui. As @王大 Fat said, he will check the official documents, know the usage, embed it into the web page, and then format the data in the background Just pass it to the front desk.


3. Then I started to gradually write to the background, and became familiar with the design patterns. If there are too many and difficult to understand, you can first understand the factory pattern, write an interface and then use one or more Each implementation class implements this interface. When needed, determine which implementation class to use based on needs. (I didn’t understand the use of doing this in such a complicated manner at first, but since the database of the last project was changed from Oracle to MySQL, I know that it is actually very useful.) Generally, design patterns are used in project development. If you don’t understand it, you may not be able to figure it out. There is no way to start with the structure of the entire project.


4. Different companies use different frameworks, but struts and spring are still used more often, so it is better to be familiar with these two things, otherwise you may I don’t even know the structure of the entire project. Let alone writing it myself, it is difficult to even modify it. For example, how to configure project jumps and which configuration file represents what. (After I started running the project locally, I didn’t even know where the home page was and which file was entered. I kept looking for index.jsp and then I realized that the project was made with freemarker and was an ftl file)


5. Database operations are indispensable in web projects. The project I worked on did not use hibernate, but mainly used StringBuffer to splice SQL. If you are engaged in web development, SQL still needs to be compared. Cooked. The little brother who guided me said that SQL is so powerful, there is nothing that SQL cannot accomplish.



#6. I feel that those who are doing advanced algorithms for web project design may only encounter them if they are more advanced. , it is more about operations on strings and numerical formats, such as how to extract data from the database to the front desk in the background and display it, and how to save the data entered by the user into the database, so it is best to be familiar with the operations of strings, splitting and merging. , String to float, int, etc., date format and so on.


If the company has professional operation and maintenance, just leave server deployment to them. If not, it is best to learn about remote connections and some simple things about Linux. Commands, tomcat, etc.


First of all, I don’t know how to understand the 20% mentioned by the questioner. Next, I will list the techniques that I have often used in my work over the years.


1.html, css

2.java working principle (jvm)

3.java syntax, data structure and algorithm

4.java language features (encapsulation, inheritance, polymorphism, abstraction)

5.java design pattern (often used in development)

6.java reflection Mechanism (reflection mechanism is used in common frameworks)

http://7.io (file reading and writing)

8. Multi-threading

9. Network programming

10.javascript

11.jquery

12.Database (oracle, mysql, etc.)

13.servlet

14.JDBC

15.javabean

16.WEB project layered architecture

17. Front and backend interaction

18.ajax

19. Filters and filter principles

20. Commonly used frameworks (Struts, hibernate, spring, springMVC, i/mybatis)

21. Framework integration

22. Workflow ( Process engine working mechanism)

23.xml, properties, json

24. Commonly used pages and background plug-ins (tree, time, poi, etc.)

25.nosql database And application scenarios (mongoDB)

26. Cache database and mechanism (redis, memcached)

27. Third-party interface call

28.SDK

29. Web application server (tomcat, weblogic)

30.linux

31. Log

32. Database connection pool

33.maven

34.svn

35. Use of modeling tools (powerdesiner, axure)

36.TCP/IP

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Is the company's security software causing the application to fail to run? How to troubleshoot and solve it? Is the company's security software causing the application to fail to run? How to troubleshoot and solve it? Apr 19, 2025 pm 04:51 PM

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

How to elegantly obtain entity class variable names to build database query conditions? How to elegantly obtain entity class variable names to build database query conditions? Apr 19, 2025 pm 11:42 PM

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

How to simplify field mapping issues in system docking using MapStruct? How to simplify field mapping issues in system docking using MapStruct? Apr 19, 2025 pm 06:21 PM

Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

How do I convert names to numbers to implement sorting and maintain consistency in groups? How do I convert names to numbers to implement sorting and maintain consistency in groups? Apr 19, 2025 pm 11:30 PM

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log? How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log? Apr 19, 2025 pm 11:45 PM

Start Spring using IntelliJIDEAUltimate version...

How to elegantly get entity class variable name building query conditions when using TKMyBatis for database query? How to elegantly get entity class variable name building query conditions when using TKMyBatis for database query? Apr 19, 2025 pm 09:51 PM

When using TKMyBatis for database queries, how to gracefully get entity class variable names to build query conditions is a common problem. This article will pin...

How to safely convert Java objects to arrays? How to safely convert Java objects to arrays? Apr 19, 2025 pm 11:33 PM

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

How to use the Redis cache solution to efficiently realize the requirements of product ranking list? How to use the Redis cache solution to efficiently realize the requirements of product ranking list? Apr 19, 2025 pm 11:36 PM

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...

See all articles