身为一个合格的Java架构师,应该了解并且常用的Java技术有哪些?

osc_kd8rd7b3 2020-11-11 08:33:32
java mybatis linux spring Mysql


目录

前言

 来自小编的建议

 JAVA 该学习的哪些技术?

初中级 Java 程序员必须掌握的知识

 Java 程序员必备书单

基础

并发

JVM

推荐的视频教程


前言

我听说编程语言,经常使用的是其中20%的技术。在Java这门语言中,这20%包括哪些内容?参加培训两个月了,还有两个月的时间,要想在两个月后,找到一份Java初级程序员的工作,有哪些是必须掌握的,有哪些是可以现学现卖的?一个完整的Javaweb项目,有哪些具体模块,每个模块用到的技术是哪些?

 来自小编的建议

建议不要管那个常不常用的这些问题!技术一直在不断更新,学习是永不止境的,每个技术阶段虽然都有对应的常用技术需要学习,但是单单学习几个单个的技术是远远不够的。如果你想找工作就要老老实实的学,

操作系统、计算机网络这些基础知识,工作之后基本都忘的差不多了。但是,我个人觉得也还是要学的。很多人都说数据结构和算法就像一个程序员的内功,前期可能你看不出来,等到后面你再和那些算法和数据结构厉害的人比可能就会相形见绌。所以,我觉得除了应付找工作之外。搞好基础知识。如果非要学那些常用,我个人觉得:Spring、Hibernate、Mybatis 等框架、Dubbo、Zookeeper、常见的消息队列(比如Kafka、RocketMq)的使用、缓存Redis、MySQL等等这些东西都应该是每个Java初中级程序员必备的技能了吧!

 JAVA 该学习的哪些技术?

很多初学者或者有经验的开发者都会陷入这个泥潭:“不知道自己该学什么?”。

我觉得最简单的方法就是你去招聘官网上看看公司要求什么技能,比如初级 Java 工程师的招聘要求肯定和高级 Java 工程师的招聘要求不一样,阿里的 Java 工程师的招聘要求肯定和 普通公司的Java 工程师招聘要求不一样。

初中级 Java 程序员必须掌握的知识

  • 熟练掌握数据结构、算法、操作系统、计算机网络等基础知识
  • 熟练掌握Java编程、熟悉Java高并发开发手段、对JVM 虚拟机(Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理)有一定研究
  • 熟练掌握SOA分布式系统开发,具有优化系统性能、提高系统并发量以及系统可用性的实际经验
  • 熟练掌握Spring、MyBatis、SpringBoot等框架的使用,熟悉 Spring 原理比如 Spring Bean 的创建原理、IOC和AOP的原理。另外,由于现在基本公司都是直接用 Spring Boot ,所以实战建议直接上手Spring Boot。SSM就算了吧,Spring 还是可以看一下。的,《spring 实战》这本书就行。
  • 熟练掌握Dubbo、Zookeeper、常见的消息队列(比如Kafka、RocketMQ)的使用
  • 熟悉Linux 系统的使用,在Linux系统下具有实际的开发经验
  • 熟悉MySQL数据库的使用、常见SQL语句的书写以及常见的优化手段
  • 熟练掌握 Redis 了解Redis 常见的数据结构、Redis分布式缓存以及Redis分布式锁的实际应用
  • 掌握 Spring Cloud +Docker+k8s
  • 了解Hadoop 生态相关技术中的 HDFS、Storm、MapReduce、Hive、Hbase

我们再来看一下腾讯Java高级开发工程师的招聘要求,年薪至少40w起步了吧!从下面的招聘信息可以看出,除去Java基础/集合/多线程这些,这些能力格外重要:

  • 底层知识比如jvm :不只是懂理论更会实操;
  • 面向对象编程能力 :我理解这个不仅包括“面向对象编程”,还有SOLID软件设计原则。
  • 框架能力 :不只是使用那么简单,更要搞懂原理和机制!搞懂原理和机制的基础是要学会看源码。
  • 分布式系统开发能力 :缓存、消息队列等等都要掌握,关键是还要能使用这些技术解决实际问题而不是纸上谈兵。
  • 不错的sense :喜欢和尝试新技术、追求编写优雅的代码等等。

再从应届生的角度来看: 我们还是看阿里巴巴的官网相关应届生 Java 工程师招聘岗位的相关要求。

 

结合阿里、腾讯等大厂招聘官网对于 Java 后端方向/后端方向的应届实习生的要求下面几点也提升你的个人竞争力:

  1. 参加过竞赛( 含金量超高的是 ACM );
  2. 对数据结构与算法非常熟练;
  3. 参与过实际项目(比如学校网站)
  4. 熟悉 Python、Shell、Perl 其中一门脚本语言;
  5. 熟悉如何优化 Java 代码、有写出质量更高的代码的意识;
  6. 熟悉 SOA 分布式相关的知识尤其是理论知识;
  7. 熟悉自己所用框架的底层知识比如 Spring;
  8. 有高并发开发经验;
  9. 有大数据开发经验等等。

从来到大学之后,我的好多阅历非常深的老师经常就会告诫我们:“ 一定要有一门自己的特长,不管是技术还好还是其他能力 ” 。我觉得这句话真的非常有道理!
刚刚也提到了要有一门特长,所以在这里再强调一点:公司不需要你什么都会,但是在某一方面你一定要有过于常人的优点。换言之就是我们不需要去掌握每一门技术(你也没精力去掌握这么多技术),而是需要去深入研究某一门技术,对于其他技术我们可以简单了解一下。

 Java 程序员必备书单

基础

《Head First Java》可以说是学Java的启蒙书籍了,特别适合新手读当然也适合我们用来温故 Java 知识点。

《Java 核心技术卷 1+卷 2》(推荐): 很棒的两本书,建议有点 Java 基础之后再读,介绍的还是比较深入的,非常推荐。这两本书我一般也会用来巩固知识点,是两本适合放在自己身边的好书。

《JAVA 网络编程 第 4 版》可以系统的学习一下网络的一些概念以及网络编程在 Java 中的使用。

《Java 编程思想 (第 4 版)》大部分人称之为Java领域的圣经,但我不推荐初学者阅读,有点劝退的味道。稍微有点基础后阅读更好。

并发

《Java 并发编程之美》非常不错的一本书籍,对每个知识点的讲解都很棒。

《Java 并发编程的艺术》这本书不是很适合作为 Java 并发入门书籍,需要具备一定的 JVM 基础。我感觉有些东西讲的还是挺深入的,推荐阅读。

《实战 Java 高并发程序设计》书的质量没的说,推荐大家好好看一下。

《Java 高并发编程详解》内容很详细,但可能又有点过于啰嗦

JVM

《深入理解 Java 虚拟机(第 2 版)周志明》作为入门的了解 Java 虚拟机的知识还是不错的。

需要电子书的同学可以 点我 免费领取哦

推荐的视频教程

全网首发----Java核心技术全集

B站最全的spring全家桶技术

文章到此就结束了!

 

最后来自小编的福利

以下是小编整理的Java高并发必看的【Java并发编程的艺术】资料大礼包,需要领取的小伙伴可以 点我 免费领取 ,编程的世界永远向所有热爱编程的人开放,这是一个自由,平等,共享的世界,我始终是这样坚信的。

部分资料图片:

喜欢小编的分享可以点赞关注哦,小编持续为你分享最新文章 和 福利领取哦

 

版权声明
本文为[osc_kd8rd7b3]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4416268/blog/4712018

  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课程百度云