编程知识 cdmana.com

As a qualified Java Architect, what Java technologies should you know and use?

Catalog

Preface

  Suggestions from Xiaobian

 JAVA What techniques should be learned ?

intermediate Java The knowledge that programmers must master

 Java Programmer must book list

Basics

Concurrent

JVM

Recommended video tutorial


Preface

I heard that programming languages , What is often used is 20% Technology . stay Java In this language , this 20% What is included ? I've been training for two months , There are still two months to go , In two months' time , Find one Java The job of a junior programmer , What must be mastered , What can I learn and sell now ? A complete Javaweb project , What are the specific modules , What are the technologies used in each module ?

  Suggestions from Xiaobian

It is suggested that we should not pay attention to these problems which are often not used frequently ! The technology is constantly updated , There is no end to learning , Although each technology stage has corresponding common technology to learn , But learning a few individual technologies is not enough . If you want to find a job, you have to learn to be honest ,

operating system 、 The basic knowledge of computer network , After work, I almost forgot . however , I think I have to learn from myself . Many people say that data structures and algorithms are like the internal skills of a programmer , You may not be able to see it earlier , When you wait until later, you will be dwarfed by those who are good at algorithms and data structures . therefore , Besides looking for a job, I think . Do a good job in basic knowledge . If you have to learn the commonly used , Personally, I think :Spring、Hibernate、Mybatis Other framework 、Dubbo、Zookeeper、 Common message queues ( such as Kafka、RocketMq) Use 、 cache Redis、MySQL It should be everything Java Junior and intermediate programmers must have the necessary skills !

 JAVA What techniques should be learned ?

Many beginners or experienced developers will fall into this quagmire :“ I don't know what I should learn ?”.

I think the easiest way is to go to the recruitment website and see what skills the company requires , For example, elementary Java The recruitment requirements of engineers are affirmative and senior Java The recruitment requirements for engineers are different , Ali's Java The recruitment requirements of engineers are affirmative and Common company Java There are different recruitment requirements for engineers .

intermediate Java The knowledge that programmers must master

  • Master data structure 、 Algorithm 、 operating system 、 Basic knowledge of computer network
  • Have a good command of Java Programming 、 be familiar with Java High concurrency development means 、 Yes JVM virtual machine (Java Memory area 、 Virtual machine garbage algorithm 、 Virtual garbage collector 、JVM memory management ) There's a certain amount of research
  • Have a good command of SOA Distributed system development , With optimized system performance 、 Practical experience in improving system concurrency and system availability
  • Have a good command of Spring、MyBatis、SpringBoot And so on , be familiar with Spring Principles like Spring Bean The creation principle of 、IOC and AOP Principle . in addition , Because now the basic companies are directly using Spring Boot , Therefore, it is suggested to start directly Spring Boot.SSM Even if the! ,Spring You can still have a look at . Of ,《spring actual combat 》 This book will do .
  • Have a good command of Dubbo、Zookeeper、 Common message queues ( such as Kafka、RocketMQ) Use
  • be familiar with Linux Use of the system , stay Linux The system has practical development experience
  • be familiar with MySQL Use of database 、 common SQL Sentence writing and common optimization methods
  • Have a good command of Redis understand Redis Common data structures 、Redis Distributed caching and Redis The practical application of distributed lock
  • master Spring Cloud +Docker+k8s
  • understand Hadoop In ecological related technology HDFS、Storm、MapReduce、Hive、Hbase

Let's take a look at Tencent Java Recruitment requirements for senior development engineers , The annual salary is at least 40w Let's get started ! As can be seen from the recruitment information below , remove Java Basics / aggregate / Multithreading and all that , These capabilities are particularly important :

  • Basic knowledge such as jvm : Not only understand theory, but also practice ;
  • Object oriented programming capabilities : I understand that this includes more than “ object-oriented programming ”, also SOLID Software design principles .
  • Framework capability : It's not just easy to use , We need to understand the principle and mechanism ! Understand the principle and mechanism of the foundation is to learn to see the source code .
  • Distributed system development capability : cache 、 Message queuing and so on , The key is to be able to use these technologies to solve practical problems instead of just talking about them .
  • good sense : Like and try new technology 、 Pursue elegant code and so on .

From the perspective of fresh students :  We still watch Alibaba's official website related new students Java Requirements for Engineer Recruitment .

 

Combined with ALI 、 Tencent and other large companies Java Back end direction / The requirements of the new interns in the back-end direction are as follows to enhance your personal competitiveness :

  1. Participated in the competition ( The gold content is too high ACM );
  2. Proficient in data structure and algorithm ;
  3. Participated in actual projects ( For example, the school website )
  4. be familiar with Python、Shell、Perl One of the scripting languages ;
  5. Familiar with how to optimize Java Code 、 Awareness of writing better quality code ;
  6. be familiar with SOA Distributed knowledge, especially theoretical knowledge ;
  7. Be familiar with the basic knowledge of the framework you use, such as Spring;
  8. High concurrent development experience ;
  9. Big data development experience, etc .

Since I came to University , Many of my experienced teachers often tell us :“ We must have our own specialty , Whether it's technology or other capabilities ” . I think this sentence really makes sense !
I just mentioned a specialty , So here's another point : The company doesn't need you to know everything , But in some way you must have the advantage of being too ordinary . In other words, we don't need to master every technology ( You don't have the energy to master so many skills ), But we need to study a certain technology in depth , We can have a brief understanding of other technologies .

 Java Programmer must book list

Basics

《Head First Java》 It can be said to learn Java Of the enlightenment books , It's especially suitable for beginners to read, of course, it's also suitable for us to use it to review the past Java Knowledge point .

《Java Core technology volume 1+ volume 2》( recommend ): Two great books , The suggestion is a little Java Read after the foundation , The introduction is more in-depth , Very recommended . These two books are generally used to consolidate my knowledge , It's two good books for you .

《JAVA Network programming The first 4 edition 》 You can systematically learn some concepts of network and network programming in Java The use of .

《Java Programming idea ( The first 4 edition )》 Most people call it Java The Bible of the realm , But I don't recommend beginners to read , It's a little dissuasive . It's better to read after a little basic .

Concurrent

《Java The beauty of concurrent programming 》 A very good book , The explanation of each knowledge point is great .

《Java The art of concurrent programming 》 This book is not very suitable for Java Introduction to concurrency , Need to have a certain JVM Basics . I feel that some things are quite in-depth , Recommended reading .

《 actual combat Java High concurrency programming 》 The quality of the book does not say , I recommend you take a good look at .

《Java High concurrent programming details 》 It's very detailed , But it may be a little too verbose

JVM

《 In depth understanding of Java virtual machine ( The first 2 edition ) Zhi-ming zhou 》 As an introduction Java The knowledge of virtual machine is good .

Students who need e-books can Am I Get it for free

Recommended video tutorial

The whole net starts ----Java Complete collection of core technologies

B The most complete spring Whole family barrel Technology

This is the end of the article !

 

Finally, the welfare from Xiaobian

Here's a little made up Java High concurrency must see 【Java The art of concurrent programming 】 Information package , The partner who needs to get it can   Am I Free collection  , The world of programming is always open to all who love programming , It's a freedom , equality , A shared world , I always believe that .

Some data and pictures :

Like the sharing of Xiaobian, you can like to pay attention to it , Xiaobian continues to share the latest articles for you and Welfare claim

 

版权声明
本文为[osc_kd8rd7b3]所创,转载请带上原文链接,感谢

Scroll to Top