当前位置: 首页 > news >正文

为什么要学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只是一个“能跑”的正确代码,不追求速度。

相关文章:

  • Linux驱动开发(二)--字符设备驱动开发提升 LED驱动开发实验
  • 18个机器学习核心算法模型总结
  • 2025计算机毕业设计选题题目推荐-毕设题目汇总大全
  • 智慧校园综合管理系统:打造高效智慧的学校管理平台
  • 契约锁电子签章平台 add 远程命令执行漏洞复现(XVE-2023-23720)
  • 关于面试被面试官暴怼:“几年研究生白读” 的前因后果
  • React获取DOM节点
  • 【Android】基于webView打造富文本编辑器(H5)
  • 网络故障排查-TCP标志位
  • VB.net调用VC DLL(二)
  • AD域离线破解新思路:Trustroasting和TimeRoasting
  • HTML(13)——显示模式
  • 渗透测试基础(四) MS08-067 漏洞攻击
  • InPixio Photo Cutter v10 解锁版安装教程 (懒人抠图工具)
  • KEYSIGHT是德E5063A网络分析仪
  • @angular/forms 源码解析之双向绑定
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • JavaScript的使用你知道几种?(上)
  • JAVA并发编程--1.基础概念
  • Java方法详解
  • leetcode386. Lexicographical Numbers
  • leetcode388. Longest Absolute File Path
  • Linux gpio口使用方法
  • Making An Indicator With Pure CSS
  • Map集合、散列表、红黑树介绍
  • node入门
  • React系列之 Redux 架构模式
  • Redis 中的布隆过滤器
  • underscore源码剖析之整体架构
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 初探 Vue 生命周期和钩子函数
  • 看域名解析域名安全对SEO的影响
  • 利用DataURL技术在网页上显示图片
  • 前端面试题总结
  • 手写一个CommonJS打包工具(一)
  • 项目管理碎碎念系列之一:干系人管理
  • 移动端唤起键盘时取消position:fixed定位
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​iOS实时查看App运行日志
  • # Maven错误Error executing Maven
  • # SpringBoot 如何让指定的Bean先加载
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #1014 : Trie树
  • #WEB前端(HTML属性)
  • (1)Android开发优化---------UI优化
  • (6)添加vue-cookie
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (LeetCode C++)盛最多水的容器
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (一) springboot详细介绍
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)