为什么要学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.mzph.cn/pingmian/35322.shtml

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

相关文章

软件测试:实验一 黑盒测试技术

一、实验目的 掌握黑盒测试的基本概念和原理,基本方法和技术。学会运用边界值、等价类划分方法对应用程序进行测试。学会使用测试用例对应用程序进行实际测试,并记录测试结果。 二、实验要求 分析被测应用程序,选定合适的黑盒测试方法。根…

基于FreeRTOS+STM32CubeMX+LCD1602+MCP4141(SPI接口)的数字电位器Proteus仿真

一、仿真原理图: 二、运行效果: 三、软件部分: 1)、SPI读写: 2)、初始化部分: void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Initializes the CPU, AHB and APB busses clocks …

基于python爬虫对豆瓣影评分析系统的设计与实现

基于python爬虫对豆瓣影评分析系统的设计与实现 Design and Implementation of a Python-based Web Crawler for Analyzing Douban Movie Reviews 完整下载链接:基于python爬虫对豆瓣影评分析系统的设计与实现 文章目录 基于python爬虫对豆瓣影评分析系统的设计与实现摘要第一…

SQL连接与筛选:解析left join on和where的区别及典型案例分析

文章目录 前言数据库在运行时的执行顺序一、left join on和where条件的定义和作用left join on条件where条件 二、left join on和where条件的区别原理不同left join原理:where原理: 应用场景不同执行顺序不同(作用阶段不同)结果集…

Netty学习(二)——黏包半包、协议设计解析、聊天室

一、粘包与半包 1.1 粘包和半包复现 1、粘包复现: Server代码: public class ProblemServer {public static void main(String[] args) throws InterruptedException {new ServerBootstrap()//若是指定接收缓冲区大小:就会出现黏包、半包…

测试零一万物大模型

听闻李开复先生创业的零一大模型很牛逼,一大早测试了一下。 代码 (python) from openai import OpenAI API_BASE "https://api.lingyiwanwu.com/v1" API_KEY "61310vvvvvvc975" client OpenAI(api_keyAPI_KEY,base_urlAPI_BASE…

搜维尔科技:CyberGlove Systems 是数据手套技术的全球领导者,提供市场上最先进的以手为中心的 3D 动作捕捉解决方案

CyberGlove Systems 是数据手套技术的全球领导者,提供市场上最先进的以手为中心的 3D 动作捕捉解决方案 搜维尔科技:快速了解 SenseGlove 的 Nova VR 触觉力反馈手套

Python3 学习笔记——基本知识入门 | 菜鸟教程

Python3 学习笔记——基本知识入门 | 菜鸟教程 目录 Python3 学习笔记——基本知识入门 | 菜鸟教程基础知识标识符python保留字注释行与缩进多行语句数字(Number)类型字符串(String)空行等待用户输入同一行显示多条语句多个语句构成代码组print 输出import 与 from...import命令…

DDR3控制器(一)DDR3 IP调用

目录 一、DDR3 IP核简介 二、DDR3 IP核调用 在千兆以太网通信中用到了DDR3控制器,但是并没有对其做相关介绍。这次准备重新整理一下DDR3控制相关知识,复习巩固一下。 一、DDR3 IP核简介 MIG IP核(Memory Interface Generator)是…

String buffer和String builder区别

在Java中,StringBuffer和StringBuilder都是用于创建可变的字符序列的类,但它们之间有一些重要的区别,主要体现在线程安全性和性能方面。 StringBuffer 线程安全:StringBuffer中的方法是同步的(synchronized&#xff0…

【人工智能】python之人工智能应用篇--数字人生成技术

数字人生成技术概述 数字人生成技术是基于人工智能技术和计算机图形学技术创建的虚拟人物形象的技术。该技术能够模拟人类的外貌、声音、动作和交流能力,为多个领域带来创新的应用可能性。数字人的本质是将所有信息(数字和文字)通过数字处理…

LeetCode 100346. 使二进制数组全部等于 1 的最少操作次数 II

更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡,更多解法等你一起来参与哦! LeetCode 100346. 使二进制数组全部等于 1 的最少操作次数 II,难度中等。 遍历 解题思路:参考 100344. 使二进制数组全部等…

Loss和Reward分析和改善DQN的训练

Loss 分布分析 初期阶段的高 loss: 在训练开始时,loss 值非常高。这是正常现象,因为神经网络刚开始随机初始化,策略还没有学到有用的信息。随着训练进行,loss 快速下降,表明模型开始从经验中学习&#xff0…

气膜游泳馆建造成本要多少—轻空间

随着人们对健康生活的追求和游泳运动的普及,游泳馆的需求不断增加。传统游泳馆的建设周期长、成本高,而气膜游泳馆以其独特的优势成为一种新的选择。轻空间将详细分析气膜游泳馆的建造成本及其优势。 气膜游泳馆的基本结构 气膜游泳馆主要由以下几个部分…

静电场的基本方程

目录 场积分方程 通量(高斯定理) 环量 场微分方程 散度 旋度 小结 补充知识 立体角 场积分方程 通量(高斯定理) 环量 场微分方程 散度 旋度 小结 补充知识 立体角

Open3D 删除点云中重复的点

目录 一、算法原理1、重叠点2、主要函数二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、重叠点 原始点云克隆一份   构造重叠区域   合并点云获得重叠点 2、主要…

玄子Share-本地部署 AI 大模型与构建知识库

玄子Share-本地部署 AI 大模型与构建知识库 部署环境概述 警告!OpenAI 宣布全面封锁中国 API 接入 昨天,许多开发者从 OpenAI 那收到了一份警告信 您好, 据我们的数据监测,贵组织正从 OpenAl 当前未支持的区域产生 API 访问流量…

通过Spring-Data-Redis操作Redis

目录 一、搭建环境 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;自定义模板序列器 &#xff08;3&#xff09;编写配置文件 &#xff08;4&#xff09;操作方法 二、测试 一、搭建环境 &#xff08;1&#xff09;引入依赖 <dependencies><dep…

ai智能写作助手有哪些?3款AI工具推荐

ai智能写作助手有哪些&#xff1f;在数字化时代的浪潮中&#xff0c;AI智能写作助手如同智慧的灯塔&#xff0c;照亮了创作者们的道路。它们不仅极大地提升了写作效率&#xff0c;让文字流淌更加顺畅&#xff0c;更能够深入挖掘和激发创作者的内在灵感&#xff0c;将创意的火花…

大数据学习之 各种启动命令汇总

各种启动命令汇总&#xff1a; 可以将命令写入到一个可执行文件中&#xff0c;执行更加方便&#xff08;但是要赋予其权限&#xff0c;使其成为可执行文件&#xff1a;chmod x starthive.sh&#xff09; mysql 的启动与停止 # 启动 mysql -uroot -p123456 # 停止 ctrlzredis的启…