为什么要学Java?

想要自己教会自己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.rhkb.cn/news/354676.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VMware】VMware虚拟机安装_配置_使用教程

一、准备工作 1、下载VMware软件:访问VMware官方网站,下载适合你操作系统的VMware Workstation Pro安装包。 下载地址:VMware Desktop Hypervisors for Windows, Linux, and Mac 2、准备操作系统镜像文件:根据你想要在虚拟机中安…

全志 Android 11:实现响应全局按键

一、篇头 最近实现热键想功能,简单总结了下全志平台Android 11 的响应全局热键的方法。 二、需求 实现全局热键,响应F-、AF、F三个按键,AF只用于启动调焦界面,F-和F除了可以启动调焦界面外,还用于调整镜头的焦距&…

Spring Boot集成antlr实现词法和语法分析

1.什么是antlr? Antlr4 是一款强大的语法生成器工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件。基本上是当前 Java 语言中使用最为广泛的语法生成器工具。Twitter搜索使用ANTLR进行语法分析,每天处理超过20亿次查询&#xff1…

离线安装zabbix-agent,自制yum源方式安装

文章目录 1,机器准备大致思路 2,在机器A上操作2.1 执行完后会在/etc/yum.repos.d/下面自动生成yum文件(zabbix.repo)2.2 将官方源改为国内源2.3 修改zabbix.repo文件的[zabbix-frontend]的参数项2.4 清除缓存即可2.5 下载所需zabb…

Semantic Kernel 直接调用本地大模型与阿里云灵积 DashScope

本文主要介绍如何在无需网关,无需配置 HttpClient 的情况下,使用 Semantic Kernel 直接调用本地大模型与阿里云灵积 DashScope 等 OpenAI 接口兼容的大模型服务。 1. 背景 一直以来,我们都在探索如何更好地利用大型语言模型(LLM&…

AI 已经在污染互联网了。。赛博喂屎成为现实

大家好,我是程序员鱼皮。这两年 AI 发展势头迅猛,更好的性能、更低的成本、更优的效果,让 AI 这一曾经高高在上的技术也走入大众的视野,能够被我们大多数普通人轻松使用,无需理解复杂的技术和原理。 其中,…

2024: 有效使用OKR的10个技巧

2023年是许多前所未有的一年。从真正意义上讲,这一年让我们为不可预测的事情做好了准备,也为不确定的事情提供了训练。在我们身边发生了这么多事情,而下一步的行动却依然不甚明朗的情况下,领导者们更应该开始制定战略,…

wvp-GB28181-pro 源码分析-查询设备信息和通道流程(二)

文章目录 一、SIP通信方法介绍1.1 核心方法(Core Methods)1.2 扩展方法(Extension Methods)二、源码分析2.1 SIP协议处理过程2.2 查询设备信息的sip过程(CmdType=DeviceInfo)2.2.1 摄像机注册成功后,wvp会发命令查询设备信息2.2.2 查询信令发出2.2.3 处理设备查询返回的XML2…

还在为Android开发找不到图片测试资源发愁吗? DummyImage来助你加速开发

使用 DummyImage 模拟电影应用数据 在开发和测试过程中,模拟数据是不可或缺的工具。它可以帮助我们在没有真实数据的情况下测试应用程序的功能和性能。本文将介绍如何使用 [DummyImage]https://dummyimage.com生成占位符图像来模拟电影应用的数据,并深入…

蓝牙技术|蓝牙耳机将成钥匙,佩戴时靠近设备即解锁

微软公司于今年 6 月 13 日获批一项技术专利,探索耳机验证技术,未来用户不仅可以拿耳机来听歌、通话,而且可以变身钥匙,配合其它计算设备进行身份验证。 微软在专利中概述称用户佩戴这款耳机之后,可以发出超声波信号…

国产数据库也开始堆砌功能了?试图在行业中炫技!

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…

每日一练:攻防世界:ewm

这道题我尝试了使用montagegaps解题,但是没有解出来,图片数量不是很多,可以尝试用PS直接拼图,但是这样学不到东西,我也就没尝试,直接看的官方WP 这段代码应该是改变工作目录到small,并且变量当…

【DevOps】Nginx配置文件详解与实战部署PHP站点

目录 引言 Nginx配置文件概述 基本结构 关键指令 Nginx配置文件实战 全局指令配置 HTTP指令配置 服务器指令配置 位置指令配置 实战部署PHP站点 步骤1:安装Nginx和PHP 步骤2:创建网站目录和文件 步骤3:配置Nginx服务器块 步骤4…

家具市场规模超7660亿美元,赛盈分销这些卧室家具在海外大卖!

今年,全球家具市场似乎表现都十分乐观。 根据海关出口总署的相关数据,我国的家具出口额1-5月份达到了2121.5亿元,同比增长20.5%。国内家具出口增速显著,换句话说,就是老外对家具又有更多的消费能力了。 在Statista的…

阿里云PAI大模型评测最佳实践

作者:施晨、之用、南茵、求伯、一耘、临在 背景信息 内容简介 在大模型时代,随着模型效果的显著提升,模型评测的重要性日益凸显。科学、高效的模型评测,不仅能帮助开发者有效地衡量和对比不同模型的性能,更能指导他…

深入浅出Git原理与Gitflow流程

1 Git原理 版本控制系统在软件开发和团队协作中扮演着至关重要的角色。它们帮助开发人员跟踪和管理代码的变化,协调多人同时编辑同一代码库,回溯历史版本,并解决代码冲突等问题。Git作为当今最流行的分布式版本控制系统,为开发人…

刷代码随想录有感(109):动态规划——01背包问题|一和零

题干&#xff1a; 代码 : class Solution { public:int findMaxForm(vector<string>& strs, int m, int n) {vector<vector<int>>dp(m 1, vector<int>(n 1, 0));dp[0][0] 0;for(string i : strs){int oneNum 0;int zeroNum 0;for(char c : i…

Web渗透:XSS-反射型存储型

跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;XSS&#xff09;是一种常见的网络安全漏洞&#xff0c;它允许攻击者将恶意脚本注入到网页中&#xff0c;其他用户在浏览这些页面时&#xff0c;可能会执行这些恶意脚本&#xff0c;从而导致各种安全问题&#xff0c;如…

innovus:如何设置timing报告格式

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 在flow中添加如下设置即可设置好timing report的格式。 set report_timing_format [list timing_point arc net cell fanout load slew incr_delay delay arrival total_derate…

示例:WPF中应用MarkupExtention自定义IValueConverter

一、目的&#xff1a;应用MarkupExtention定义IValueConverter&#xff0c;使得应用起来更简单和高效 二、实现 public abstract class MarkupValueConverterBase : MarkupExtension, IValueConverter{public abstract object Convert(object value, Type targetType, object …