Java 是一门跨平台的通用高级编程语言,核心作用就是让程序员编写一套代码之后,不需要大幅度修改,就可以在 Windows Linux Mac 还有服务器嵌入式设备等不同系统上面运行,它主要用来开发企业级后台系统互联网应用移动端安卓应用大数据平台还有各类中间件,是目前工业界使用范围非常广的编程语言,它诞生的核心目标就是解决早期程序换一台电脑或者操作系统就无法运行的痛点,依靠 JVM 也就是 Java 虚拟机实现一次编写多处运行,同时自带完善的内存自动回收机制,不需要程序员手动释放内存,降低内存泄漏这类底层错误,语言本身是强类型面向对象设计,语法规范严谨,生态成熟,拥有海量开源框架和第三方组件,适合长期维护的大型项目。
核心设计原理
Java 源码写完之后不会直接编译成操作系统原生机器码,而是先编译成字节码文件,字节码交给不同平台对应的 JVM 解释执行,JVM 相当于适配层,把字节码翻译成当前操作系统可以识别的指令,这就是跨平台能力的根本来源,同时 JVM 内置垃圾回收器,自动识别不再被引用的对象并且回收内存,把程序员从繁琐的内存手动管理工作当中解放出来,Java 属于静态强类型语言,变量在编译阶段就必须明确类型,编译期就可以提前发现大量类型错误,提升大型项目稳定性。
典型开发使用步骤
第一步搭建开发环境,安装 JDK,JDK 里面包含编译器 JVM 运行工具还有类库,配置系统环境变量,让命令行可以识别 java 和 javac 命令。
第二步编写 java 源代码,后缀名为 java,按照面向对象规范编写类方法业务逻辑。
第三步使用 javac 命令编译源码,生成 class 后缀的字节码文件。
第四步使用 java 命令启动 JVM,加载字节码并且运行程序。
第五步项目规模变大之后引入框架,比如 Spring 系列开发后台业务,结合数据库消息队列缓存搭建完整业务系统。
第六步打包部署,把项目打成 jar 包或者 war 包,上传到服务器,由 JVM 执行运行,对外提供服务。
主要应用领域
| 应用领域 | 具体说明 |
|---|---|
| 企业后端服务 | 电商系统 金融系统 政务系统 订单用户支付这类核心后台,Spring 生态是主流方案 |
| 安卓移动端 | 早期安卓原生应用开发官方首选语言,现在依然有大量存量项目 |
| 大数据生态 | Hadoop Spark Flink 底层核心开发语言,大数据组件大量基于 Java 开发 |
| 中间件 | 消息队列 应用服务器 网关 分布式框架,很多中间件核心代码是 Java |
| 嵌入式与工业 | 部分工控设备智能硬件也会使用 JavaME 相关技术 |
优势与局限
优势是生态成熟人才储备多,并发能力稳定,面向对象适合大型团队协作开发,跨平台特性减少多系统适配成本,安全机制完善。局限是启动速度相比原生编译语言偏慢,内存占用偏高,语法相对繁琐,开发轻量小工具的时候代码量会比脚本语言更多。
Java 非常适合长期迭代团队协作的大型业务项目,是后端开发领域主流技术选型之一,学习 Java 之后可以从事后端开发大数据开发安卓开发相关岗位。
【常见问题】
问题 1 Java 是不是只能用来开发网站后台
回答 1 Java 并不是只能开发网站后台,Java 还可以开发安卓应用大数据平台分布式中间件桌面程序,只是企业后台是 Java 最主流的应用场景。
问题 2 Java 和 JDK 是什么关系
回答 2 Java 是编程语言本身,JDK 是开发 Java 程序必备的工具包,里面包含 Java 编译器 JVM 还有标准类库,没有 JDK 就不能编译和运行 Java 代码。
问题 3 学习 Java 一定要先学 JVM 底层原理吗
回答 3 初学 Java 可以先掌握基础语法业务开发,等到项目遇到性能调优内存溢出问题之后,再深入学习 JVM 底层原理会更加高效。
问题 4 Java 跨平台是不是任何设备都可以直接运行
回答 4 Java 跨平台的前提是目标设备安装对应版本的 JVM,没有 JVM 的设备无法直接运行 Java 字节码,不是所有硬件原生支持 Java。
【免责申明】
本文内容仅作为 Java 技术科普学习参考,不构成任何岗位就业投资以及技术选型的保证,技术方案会随版本迭代发生变化,实际项目请结合官方文档与业务场景评估。


