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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 我听说编程语言,经常使用的是其中20%的技术。在Java这门语言中,这20%包括哪些内容?参加培训两个月了,还有两个月的时间,要想在两个月后,找到一份Java初级程序员的工作,有哪些是必须掌握的,有哪些是可以现学现卖的?一个完整的Javaweb项目,有哪些具体模块,每个模块用到的技术是哪些?

前言

我听说编程语言,经常使用的是其中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 后端方向/后端方向的应届实习生的要求下面几点也提升你的个人竞争力:

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

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

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 虚拟机的知识还是不错的。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6天前
|
存储 监控 安全
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
34 11
|
16天前
|
XML Java 编译器
Java注解的底层源码剖析与技术认识
Java注解(Annotation)是Java 5引入的一种新特性,它提供了一种在代码中添加元数据(Metadata)的方式。注解本身并不是代码的一部分,它们不会直接影响代码的执行,但可以在编译、类加载和运行时被读取和处理。注解为开发者提供了一种以非侵入性的方式为代码提供额外信息的手段,这些信息可以用于生成文档、编译时检查、运行时处理等。
51 7
|
16天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
10天前
|
监控 安全 API
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
本文详细介绍了PaliGemma2模型的微调流程及其在目标检测任务中的应用。PaliGemma2通过整合SigLIP-So400m视觉编码器与Gemma 2系列语言模型,实现了多模态数据的高效处理。文章涵盖了开发环境构建、数据集预处理、模型初始化与配置、数据加载系统实现、模型微调、推理与评估系统以及性能分析与优化策略等内容。特别强调了计算资源优化、训练过程监控和自动化优化流程的重要性,为机器学习工程师和研究人员提供了系统化的技术方案。
130 77
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
|
16天前
|
运维 Cloud Native 持续交付
云原生技术深度探索:重塑现代IT架构的无形之力####
本文深入剖析了云原生技术的核心概念、关键技术组件及其对现代IT架构变革的深远影响。通过实例解析,揭示云原生如何促进企业实现敏捷开发、弹性伸缩与成本优化,为数字化转型提供强有力的技术支撑。不同于传统综述,本摘要直接聚焦于云原生技术的价值本质,旨在为读者构建一个宏观且具体的技术蓝图。 ####
|
16天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
23天前
|
Cloud Native 持续交付 云计算
云原生技术在现代IT架构中的转型力量####
本文深入剖析了云原生技术的精髓,探讨其在现代IT架构转型中的关键作用与实践路径。通过具体案例分析,展示了云原生如何赋能企业实现更高效的资源利用、更快的迭代速度以及更强的系统稳定性,为读者提供了一套可借鉴的实施框架与策略。 ####
24 0
|
23天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
45 1
|
29天前
|
监控 Java 微服务
从零构建微服务架构:一次深度技术探索之旅####
本文作为一篇深度技术分享,引领读者踏上自底向上搭建微服务架构的征途,旨在通过实战经验剖析,揭示微服务转型背后的技术挑战与解决方案。不同于常规摘要仅概述内容,本文摘要将直接以故事化手法,简述作者从单体应用困境出发,逐步迈向微服务化的心路历程,涵盖关键决策点、技术选型考量及实践收获,激发读者对微服务架构设计与实现的浓厚兴趣。 ####
|
1月前
|
Cloud Native 持续交付 云计算
深入理解云原生技术及其在现代IT架构中的应用
在数字化浪潮的推动下,云原生技术已成为企业转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者探索云原生的核心概念、优势以及如何在企业中实现云原生架构。我们将一起揭开云原生的神秘面纱,了解它如何助力企业快速适应市场变化,提升业务的灵活性和创新能力。
下一篇
DataWorks