为什么要学Java?

news2025/2/27 9:47:23

想要自己教会自己java,从小白成长到架构师。实现硬实力就业!

因为Java是全球排名第一的编程语言,Java工程师也是市场需求最大的软件工程师,选择Java,就是选择了高薪。

为什么Java应用最广泛?

从互联网到企业平台,Java是应用最广泛的编程语言,原因在于:

  • Java是基于JVM虚拟机的跨平台语言,一次编写,到处运行;

  • Java程序易于编写,而且有内置垃圾收集,不必考虑内存管理;

  • Java虚拟机拥有工业级的稳定性和高度优化的性能,且经过了长时期的考验;

  • Java拥有最广泛的开源社区支持,各种高质量组件随时可用。

Java语言常年霸占着三大市场:

  • 互联网和企业应用,这是Java EE的长期优势和市场地位;

  • 大数据平台,主要有Hadoop、Spark、Flink等,他们都是Java或Scala(一种运行于JVM的编程语言)开发的;

  • Android移动平台。

这意味着Java拥有最广泛的就业市场。

java快速入门

主要内容是快速掌握Java程序的基础知识,了解并使用变量和各种数据类型,介绍基本的程序流程控制语句。

java历史

最早由SUN公司(被Oracle收购)姆斯·高斯林(Java之父)开发的一种编程语言。随着互联网高速发展,Java逐渐成为最重要的网络编程语言。

Java介于编译型语言和解释型语言之间。C、C++,代码直接便器成机器码执行,但不同平台(x86、ARM等)CPU指令集不同,需编译每一种平台对应机器码。

解释型语言如Python、Ruby,可以由解释器直接加载源代码然后运行,代价是效率太低。

Java是将代码编译成一种“字节码”,类似于抽象的CPU指令。对于开发者,不同平台虚拟机负责加载字节码并执行,实现“一次编写,到处运行”。对于虚拟机,从实践的角度看,JVM的兼容性做的非常好,版本的Java字节码完全可以正常运行在高版本的JVM上。

Java的三个不同版本:

  • Java SE: Standard Edition
  • Java EE: Enterprise EditionSIS
  • Java ME: Micro Edition

三者之间的关系?

Java SE是标准版,包含标准JVM和标准库

Java EE是企业版,Java SE的基础上加了大量的API和库,方便开发Web应用、数据库、消息服务 ,虚拟机是和Java SE完全一样的。

Java ME 是针对嵌入式设备的“瘦身版”,标准库无法在Java ME上使用,Java ME的虚拟机也是“瘦身版"。

Java SE是整个Java平台的核心,而Java EE是进一步学习Web应用所必须的。

推荐的Java学习路线图?

  1. 首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用;

  2. 如果继续学习Java EE,那么Spring框架、数据库开发、分布式架构就是需要学习的;

  3. 如果要学习大数据开发,那么Hadoop、Spark、Flink这些大数据平台就是需要学习的,他们都基于Java或Scala开发;

  4. 如果想要学习移动开发,那么就深入Android平台,掌握Android App开发。

Java版本

时间版本
19951.0
19981.2
20001.3
20021.4
20041.5 / 5.0
20051.6 / 6.0
20111.7 / 7.0
20141.8 / 8.0
2017/91.9 / 9.0
2018/310
2018/911
2019/312
2019/913
2020/314
2020/915
2021/316
2021/917
2022/318
2022/919
2023/320
2023/921

名词解释

初学者学Java,经常听到JDK、JRE这些名词,它们到底是啥?

  • JDK:Java Development Kit
  • JRE:Java Runtime Environment

JRE运行Java字节码虚拟机,要编译Java字节码,需要JDK,JDK包含JRE,提供编译器、调试器等开发工具。

二者关系:

 

JSR、JCP是什么?

  • JSR规范:Java Specification Request
  • JCP组织:Java Community Process

所以JSR是一系列的规范,从JVM的内存模型到Web程序接口,全部都标准化了。而负责审核JSR的组织就是JCP。

一个JSR规范发布时,同时发布一个“参考实现”,以及一个“兼容性测试套件":

  • Rl: Reference Implementation
  • TCK: Technology Compatibility Kit

RI只是一个“能跑”的正确代码,不追求速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1841503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Linux] 文件系统

UNIX操作系统将文件组织成一个有层次的树形结构: 标准目录: 根目录: /tmp目录 主目录: 这就是主目录 一般与系统有关的信息都存放在etc目录下 注意: /etc/passwd存放的是用户账户信息,不是密码信息&#xf…

适用于所有 Android 手机的 8 大 Android 解锁工具

有时您无法解锁手机,因为您忘记了密码或设备停止响应解锁图案。不要惊慌。我们在这里为您列出了最好的 Android 解锁工具。只需选择一个您喜欢的。 为了保护重要数据,许多手机用户倾向于使用图案锁、密码、指纹甚至面部识别来锁定设备。但有时&#xff…

抉择与未来:高考后专业与学校的深度选择思考

引言 随着2024年高考的尘埃落定,数百万考生及其家庭正面临一个至关重要的决策:在有限的分数条件下,是优先选择专业还是学校?这一选择不仅影响着个人的未来职业道路,也关系到大学生活的质量和个人综合素质的培养。本文将…

Mysten Labs宣布推出Walrus:一种去中心化存储和数据可用性协议

Walrus是为区块链应用和自主代理提供的创新去中心化存储网络。Walrus存储系统今天以开发者预览版的形式发布,面向Sui开发者征求反馈意见,并预计很快会向其他Web3社区广泛推广。 通过采用纠删编码创新技术,Walrus能够快速且稳健地将非结构化数…

功能测试 之 单模块测试----添加会员

1.需求分析 点击【添加会员】按钮后,页面跳转至添加会员详细页面。 说明: 会员昵称:必填,长度在20个字符(除去空格)以内,(会员昵称)可以重复;登录密码&#x…

Druid未授权访问漏洞修复

前言 安全组针对系统漏扫发现系统存在Druid未授权访问,会引发泄露系统敏感信息,漏洞链接为ip:端口/druid/index.html,可以清楚的查看数据库的相关连接信息,如下图所示: 漏洞修复 1、关闭Druid监控页面 在Druid的配…

【Linux】基础IO_1

文章目录 六、基础IO1. C语言的文件接口2. 系统文件I/O 未完待续 六、基础IO 1. C语言的文件接口 我们知道 文件 文件内容 文件属性 。即使是一个空文件,仍然会在磁盘中占据空间。那打开文件是什么意思呢?其实文件打开的意思就是:将文件从…

LightGBM算法详解

LightGBM算法详解 LightGBM(Light Gradient Boosting Machine)是由微软开发的高效梯度提升决策树(GBDT)实现。它以速度和效率著称,特别适用于大规模数据集和高维特征的场景。本文将详细介绍LightGBM的原理、特点、常用…

研究Redis源码的一些前期准备

一 背景 Redis数据结构讲完后,觉得还是有点不过瘾,想研究一下Redis的底层实现。找了一些相关资料,准备借鉴和学习其他各位大佬钻研Redis底层的方法和经验,掌握Redis实现的基本原理。 二 源码归类 网上有大佬已经总结了…

半导体芯片设计企业最关注的EDA数据安全问题,可以这样落地

半导体芯片设计企业一直以来都面临着两个非常严峻的目标:严格的质量要求和紧迫的上市时间。人工智能(AI)和高性能计算(HPC)等计算密集型应用对芯片的要求更高,但留给芯片设计和验证的周期却不增反降。而且不断增长的成本也在逐渐压缩企业利润。 EDA上云可以很大程度…

前端技术栈二(promise模块化编程)

一、promise 1 Promise 基本介绍 传统的 Ajax 异步调用在需要多个操作的时候,会导致多个回调函数嵌套,导致代码不够直观,就是常说的 Callback Hell 为了解决上述的问题,Promise 对象应运而生,在 EMCAScript 2015 当中…

期望28K,5.14日蚂蚁java社招一面(杭州)

面经哥只做互联网社招面试经历分享,关注我,每日推送精选面经,面试前,先找面经哥 1、线程池的几个参数? 2、一道关于线程池的代码题目,数据库中存任务,通过一个有10个核心线程和无限队列的线程池…

【PyQt5】python可视化开发:PyQt5介绍,开发环境搭建快速入门

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

技术人的业务爱好:第一件手工-官帽椅

榫卯是古典家具的主要结构方式,是两个构件上采用凹凸部位相结合的一种连接方式,其中,凸出部分叫榫(或叫榫头),凹进部分叫卯(或叫榫眼、榫槽)。 一榫一卯之间,一转一折之…

.net 奇葩问题调试经历之1——在红外相机获取温度时异常

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔序言 我们在研发中,经常除了造产品…

深度学习增强的非线性光纤单像素成像系统

1、光子器件的逆向设计:通过机器学习,特别是深度学习,可以高效地进行光子器件的逆向设计,这在传统的多参数优化问题中尤为重要。 2、超构表面和超材料设计:机器学习被用于设计具有特定光学特性的超构表面和超材料&…

管道保温的介绍

通风空调管道及各种水管的保温材料主要有:聚氨酯泡沫塑料保温、高级橡塑保温、酚醛泡沫塑料保温等。现对以上材料的特性、适用范围、施工要点等进行介绍,以供各位借鉴。 01 常用的绝热材料 1、聚氨酯泡沫塑料保温 该材料用于直埋管段的保温。在工程中…

目标检测讲解

环境准备 pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple图片读取&画框 from skimage import io import matplotlib.pyplot as plt import matplotlib.patches as mpss io.imread(dogs.jpg)_, ax plt.subplots(ncols1, nrows1, figsize(6, 6))…

[第五名公共排行榜] LGB 连续学习 + Catboost 集成

大家好, 首先,我想感谢竞赛组织者和所有参与讨论的人。这是@ibazhov和我在Kaggle上的第一次正式比赛,我们学到了很多,并希望未来能参与更多的比赛。 总结: 使用5个LGB模型进行连续更新/学习,通过.train(init_model)和.refit()方法,以及5个基于216个特征的Catboost模型…

装备制造行业数据分析指标体系

数字化飞速发展的时代,多品种、定制化的产品需求、越来越短的产品生命周期、完善的售后服务、极佳的客户体验和快速的交货速度等,使得装备制造行业的经营环境越来越复杂,企业竞争从拼产品、拼价格迈向拼服务,装备制造企业正处于数…