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

osc_kd8rd7b3 2020-11-11 08:33:32
qualified java architect java technologies


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]所创,转载请带上原文链接,感谢

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云