Java 是一门跨平台的静态强类型面向对象高级编程语言,由 Sun 公司在 1995 年正式发布,现在归属 Oracle 公司维护,它最大的特点就是一次编写到处运行,同一份代码编译之后生成字节码文件,不需要针对 Windows Linux macOS 单独重新编译,只要设备安装对应的 JVM 虚拟机就可以运行,目前 Java 广泛用在企业级后端开发大数据平台安卓早期开发金融系统电商系统政务系统,是国内后端开发岗位需求量非常大的编程语言,很多新手刚接触编程会混淆 Java 是软件还是框架,要分清 Java 本身是编程语言,Spring SpringBoot 只是基于 Java 语言开发出来的开发框架,Java 的设计初衷就是解决跨平台程序移植麻烦的问题,语言本身自带垃圾回收机制,开发者不用手动释放内存,降低内存泄漏手动管理内存的复杂度,同时 Java 是强类型语言,所有变量必须提前声明类型,编译阶段就会检查类型错误,相比动态语言稳定性更高,适合长期维护的大型业务系统。Java 能流行这么多年,核心原因就是生态非常完善,拥有海量第三方库成熟框架社区资料招聘岗位,企业做大型分布式系统的时候,Java 成熟稳定排错方案多,人才储备充足,所以金融电商这类对稳定性要求高的行业优先选择 Java。
Java 核心运行体系
Java 运行离不开三大组件,很多入门新手最先需要分清 JDK JRE JVM
| 名称 | 全称 | 作用 | 是否包含 JVM |
|---|---|---|---|
| JDK | Java Development Kit | 开发工具包,写 Java 代码编译代码使用,包含编译器 javac 调试工具 | 是 |
| JRE | Java Runtime Environment | Java 运行环境,只用来运行已经编译好的 Java 程序,不能开发代码 | 是 |
| JVM | Java Virtual Machine | Java 虚拟机,负责执行字节码,实现跨平台核心组件 | 本身就是虚拟机 |
工作流程简单理解,开发者写后缀 java 的源代码,使用 javac 编译器把源码编译成 class 字节码文件,字节码不直接交给操作系统执行,而是交给对应操作系统版本的 JVM,JVM 再把字节码翻译成当前系统可以识别的机器指令,这就是跨平台原理。
Java 主要特性
- 跨平台 也就是一次编写到处运行,核心依托 JVM,不同操作系统安装对应版本 JVM 即可运行同一份 class 文件
- 面向对象 以类和对象为核心,支持封装继承多态,所有业务代码都依托类组织,适合大型项目分层开发
- 自动垃圾回收 GC 自动回收不再使用对象占用内存,不需要程序员手动 free 释放内存,但是 GC 也会带来 STW 停顿,属于进阶知识点
- 强类型静态编译 编译期校验类型语法错误,代码稳定性强,大型项目重构维护更安全
- 多线程原生支持 语言内置多线程能力,适合高并发服务端程序
- 安全 自带安全沙箱机制,类加载校验,适合企业金融类业务
- 开源生态 海量开源组件,Maven 仓库托管第三方依赖,框架迭代成熟
Java 主要应用领域
1 企业级后端开发 最主流用途,使用 SpringBoot SpringCloud 开发电商后台管理系统接口服务微服务系统,国内大量互联网公司国企银行后端都是 Java
2 大数据生态 Hadoop Spark Flink 底层核心就是 Java,大数据开发岗位很多要求掌握 Java 基础
3 安卓早期原生开发 早期安卓应用原生开发就是 Java,现在虽然 Kotlin 成为首选,但是很多老项目依旧是 Java 代码
4 中间件开发 Tomcat Kafka Elasticsearch 这些知名中间件底层都是 Java 编写
5 嵌入式政务工业相关系统 很多政务 OA ERP CRM 系统选择 Java 开发
Java 和其他语言简单区分
Java 属于编译型加虚拟机解释执行混合模式,和 C 语言直接编译成机器码不一样,C 语言编译之后只能适配对应平台,移植需要重新编译。和 Python 对比,Python 是动态解释型语言,写代码更快,但是运行性能弱于 Java,Python 适合脚本数据分析,Java 更适合高并发稳定的大型业务系统。
简单总结,Java 本质就是一门面向对象跨平台高级编程语言,配套 JDK 开发工具 JVM 虚拟机,依靠成熟生态成为后端开发主流语言,学习 Java 不只是学语法,还要理解它的运行机制,后续再学习基于 Java 的框架完成业务开发。
【常见问题】
问题 1 Java 是框架吗
回答 1 Java 不是框架,Java 本身是编程语言,SpringBoot 这类属于基于 Java 语言开发的开发框架,学习框架的前提是已经掌握 Java 这门语言基础。
问题 2 Java 为什么可以跨平台
回答 2 Java 跨平台核心是 JVM 虚拟机,Java 源码编译之后是字节码,不同操作系统安装对应版本 JVM,JVM 负责执行字节码,所以 Java 可以实现一次编写到处运行。
问题 3 学习 Java 必须安装 JDK 吗
回答 3 学习 Java 进行代码开发必须安装 JDK,JDK 里面包含编译器和开发工具,如果只是运行别人写好的 Java 程序只需要 JRE,现在新版本 JDK 已经集成 JRE,开发统一安装 JDK 即可。
问题 4 Java 适合零基础入门编程吗
回答 4 Java 非常适合零基础入门编程,Java 语法规范严谨,体系成熟教程资源多,学会 Java 之后理解编程思维,后续转其他编程语言也会更容易。
【免责申明】
本文为 Java 基础概念科普内容,Java 版本迭代官方技术细节会持续更新,相关技术描述仅作为入门参考,不构成职业选择以及技术选型的绝对建议。


