Java 入门(完整教程)

Java 入门(完整教程)

文章目录

一、Java 简介

1991 年,美国的 Sun 公司为了开发智能家电等嵌入式设备的控制系统,由詹姆斯・高斯林(James Gosling)领导的 Green 计划 团队开始了一种新语言的研发。最初该语言被命名为 Oak(橡树),它是基于 C++ 开发的,吸收了 C++ 的优点并做出来扩展,同时摒弃了 C++ 中的一些复杂概念,使得 Java 功能强大的同时又易于理解和使用。

然而,Green 项目 并没有取得预期的成功,而作为该项目的产品 Oak 语言也几乎被遗弃,但随着互联网发展的兴起,Sun 公司发现其技术在互联网领域有更大的应用潜力,于是对语言进行了进一步的改进和重构,以适应新环境的需求。

最终,于 1995 年,Oak 正式更名为 Java,并在互联网上发布。凭借其 一次编写,到处运行 的跨平台特性,迅速吸引了开发者的关注,开启了在互联网领域的广泛应用之路。

在 2009 年 04 月,美国 Oracle(甲骨文)公司以 74 亿美元的价格收购了 Sun 公司,Java 也随之成为 Oracle 公司的产品。


二、Java 特点

Java 是一种广泛使用的高级编程语言,具有众多显著特点,以下为你详细介绍:

2.1 面向对象

封装:将数据(属性)和操作数据的方法绑定在一起,形成类。通过访问控制修饰符来隐藏对象的内部实现细节,只对外提供必要的接口。这样可以提高代码的安全性和可维护性。

继承:允许一个类继承另一个类的属性和方法,从而实现代码的复用和扩展。被继承的类称为父类(基类),继承的类称为子类(派生类)。子类可以重写父类的方法,实现自己的特定行为。

多态:同一个方法可以根据对象的不同类型表现出不同的行为。多态通过继承和方法重写实现,使得代码更加灵活和可扩展。


2.2 跨平台

Java 程序编译后生成的是字节码文件,而不是针对特定操作系统的机器码。字节码是一种中间形式的代码,它可以在任何安装了 Java 虚拟机(JVM)的平台上运行。

JVM 是 Java 实现跨平台的关键,负责将字节码解释或编译成特定平台的机器码并执行,不同的操作系统有不同的 JVM 实现,因此同一个 Java 程序可以在不同的操作系统上运行,这也是 Java 著名的 一次编译,到处运行 由来。


2.3 安全性

字节码校验:在 Java 程序运行之前,JVM 会对字节码进行校验,确保字节码的格式正确、不违反访问权限等规则。这可以防止恶意代码通过篡改字节码来破坏系统。

访问控制:Java 提供了严格的访问控制机制,通过访问修饰符来控制类、方法和属性的访问权限。只有具有相应权限的代码才能访问受保护的资源,从而提高了代码的安全性。

安全管理器:Java 的安全管理器可以对程序的各种操作进行细粒度的控制,如文件访问、网络访问等。开发者可以通过配置安全策略来限制程序的权限,防止程序进行不安全的操作。


2.4 多线程

Java 内置了对多线程的支持,如:Thread 类Runnable 接口 可以方便地创建和管理线程。多线程允许程序同时执行多个任务,提高了程序的并发性能和响应速度。

为了保证多线程程序的正确性,Java 提供了同步机制,如:synchronized 关键字Lock 接口。同步机制可以确保在同一时间只有一个线程可以访问共享资源,避免了数据竞争和不一致的问题。


2.5 自动内存管理

Java 的垃圾回收(GC)机制负责自动回收不再使用的对象所占用的内存。当一个对象不再被任何引用指向时,垃圾回收器会在合适的时候将其占用的内存回收,开发者无需手动编写代码来释放内存,减少了内存泄漏的风险。


2.6 高性能

Java 虚拟机中的即时编译器(JIT)可以在运行时将频繁执行的字节码编译成机器码,从而提高程序的执行速度。JIT 编译器会根据程序的运行情况动态地进行编译优化,使得 Java 程序在长期运行过程中的性能接近甚至超过一些静态编译语言。


三、Java 平台

为了满足不同场景的需要,Java 技术体系衍生出了三个不同的平台:Java SE、Java EE 和 Java ME。

3.1 Java SE

Java 标准版是 Java 技术体系的核心和基础,它主要用于桌面应用程序的开发,由于历史和定位原因,Java 在桌面应用开发领域的表现不佳,现在已经很少有人使用 Java 进行桌面应用程序的开发了,但是学习 Java SE 仍然是开发 Java 技术的必备基础。


3.2 Java EE

Java 企业版是 Java 技术体系中应用最广泛的部分,它为开发企业级应用程序提供了一整套完整的解决方案,该技术体系中包含的技术诸如 Servlet 、JSP 等,主要针对的是 Web 应用程序(网站)的开发。


3.3 Java ME

Java 微型版是在 Java SE 的基础上进行了一定的精简,并增加了对移动终端的支持,主要用于开发移动端或嵌入式系统中的应用程序。


三、JDK 下载

JDK(Java Development Kit) 指的是 Java 开发工具包,JDK 中包含了 Java 开发所需要的 Java 编译器、JRE(Java 运行时环境)、核心类库以及其他开发工具,所以必须先安装 JDK 才能使用 Java。

3.1 安装 JDK

首先去 Oracle 官网,然后根据自己电脑的操作系统和学习需要选择下载的 JDK 版本,这边我推荐下载 JDK 21(LTS),方便后续的学习。

JDK 21 下载

这里为了防止网络问题导致下载不了,我把 JDK 21 的安装包放在了阿里云盘,下载速度会快很多。

提取码: d3o0

在这里插入图片描述

下载完后,双击打开安装包,跟着下面的步骤,完成 JDK 的安装:

  • 安装引导
在这里插入图片描述
  • 安装位置
在这里插入图片描述

建议:安装的位置不要有中文和空格,可以参考我的安装路径。

  • 安装完成
在这里插入图片描述

3.2 配置环境变量

安装完 JDK 后,由于其包含了许多开发工具,所以好配置环境变量后,就可以在任意目录下直接使用这些工具,而无需每次都指定工具所在的完整路径。

很多第三方的 Java 开发工具和框架在安装和运行时需要依赖 JDK 的环境变量,如果没有正确配置环境变量,会提示找不到 Java 命令的错误信息。

  • 打开设置,点击系统,点击系统信息
在这里插入图片描述
  • 点击高级系统设置
在这里插入图片描述
  • 点击环境变量
在这里插入图片描述
  • 点击新建
在这里插入图片描述
  • 输入下面信息,点击确定
在这里插入图片描述
  • 双击 Path 变量,按照下图操作,点击确定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 测试是否成功

在系统的搜索栏中输入 CMD,点击以管理员身份运行。

在这里插入图片描述

在黑窗口输入 java --version,然后回车,出现下面配置信息,代表成功。

在这里插入图片描述

四、第一个 Java 程序

下面为你详细介绍如何编写、编译和运行第一个 Java 程序,这个经典的程序就是输出 Hello,World!

4.1 编写 Java 代码

  • 新建一个文本文件,取名为 HelloWorld
在这里插入图片描述
  • 输入下面内代码(建议手敲)。
publicclassHelloWorld{publicstaticvoidmain(String[] args){System.out.println("Hello,World!");}}
  • 完成后,记得保存,再将扩展名改为 .java
在这里插入图片描述

4.2 编译 Java 代码

  • 在系统的搜索栏中输入 CMD,点击以管理员身份运行,找到 Java 文件的所在目录。
在这里插入图片描述
  • 输入 javac HelloWorld.java,编译 Java 源代码。
在这里插入图片描述

如果成功,就会在 Java 文件所在的目录生成一个字节码文件。

在这里插入图片描述

4.3 运行 Java 代码

在 CMD 中,输入 java HelloWorld,运行 Java 程序,如果成功,就会在黑窗口中打印 Hello,World!

在这里插入图片描述

五、结语

这篇文章大概 5200字,在配置环境变量和编写程序的那一块需要细心一点,我是把自己的 Java 删除后,跟着文章重新配置了的,如果有什么问题,欢迎在评论区中留言评论。

至此,本文结束,如果这篇文章对您有所帮助,希望可以点赞、收藏加关注,感谢。


Read more

TRAE vs Qoder vs Cursor vs GitHub Copilot:谁才是真正的“AI 工程师”?

引言:工具选择 = 成本 + 效率 + 风险 的综合权衡 2026 年,AI 编程工具已从“玩具”走向“生产主力”。但面对 TRAE、Qoder、Cursor、GitHub Copilot 等选项,开发者不仅要问: * 它能写 Rust 吗?支持中文需求吗? * 更要问:一个月多少钱?团队用得起吗?代码安全有保障吗? 本文将从 五大核心维度 深度剖析四大主流 AI IDE: 1. 核心理念与自主性 2. 多语言与跨生态支持能力 3. 工程化与交付闭环能力 4. 中文本地化与业务适配 5. 收费模式、定价策略与企业成本 帮你做出技术可行、经济合理、风险可控的决策。 一、核心理念:

By Ne0inhk

Cogito-v1-preview-llama-3B应用场景:工业设备故障日志分析与维修建议生成

Cogito-v1-preview-llama-3B应用场景:工业设备故障日志分析与维修建议生成 1. 工业设备运维的痛点与机遇 在工业制造领域,设备故障是每个工厂管理者最头疼的问题。一台关键设备的突然停机,可能导致整条生产线瘫痪,每小时损失数以万计。传统的故障排查方式往往依赖经验丰富的老师傅,通过查看设备日志、听声音、摸温度来判断问题所在。 但这种传统方式面临三大挑战:人才断层(老师傅越来越少)、响应延迟(排查需要时间)、经验局限(个人经验有限)。现在,借助Cogito-v1-preview-llama-3B这样的智能模型,我们可以让设备运维进入智能化时代。 Cogito v1预览版是Deep Cogito推出的混合推理模型,在标准基准测试中超越了同等规模的其他开源模型。它不仅能直接回答问题,还能进行自我反思和推理,特别适合处理工业设备故障日志这类复杂的技术问题。 2. Cogito模型的独特优势 2.1 混合推理能力 Cogito模型最大的特点是混合推理能力。当面对设备故障日志时,它不会简单地匹配关键词,而是会: * 先理解:分析日志中的技术术语和上下文关系

By Ne0inhk
GitHub 热榜项目 - 日榜(2026-1-10)

GitHub 热榜项目 - 日榜(2026-1-10)

GitHub 热榜项目 - 日榜(2026-1-10) 生成于:2026-1-10 统计摘要 共发现热门项目: 12 个 榜单类型:日榜 本期热点趋势总结 本期GitHub热榜显示AI智能体开发工具正席卷开发者社区,Claude Code、opencode等项目通过自然语言交互极大提升编码效率,Chrome DevTools MCP和UI-TARS-desktop则推动多模态智能体与开发工具深度集成,同时TailwindCSS持续领跑前端工具链,NetBird提供现代化安全网络方案,反映出开发者正积极采用AI助手优化工作流,并重点关注智能体工具链集成、实用型开发工具及基础设施安全三大趋势,这些高质量开源方案切实提升了开发体验与工程效率。 1. ChromeDevTools/chrome-devtools-mcp * 🏷️ 项目名称:ChromeDevTools/chrome-devtools-mcp * 🔗 项目地址: https://github.com/ChromeDevTools/chrome-devtools-mcp * ⭐ 当前 Star 数:

By Ne0inhk
AtomGit首发模型深度评测:多模态能力与场景适配性实战分析

AtomGit首发模型深度评测:多模态能力与场景适配性实战分析

文章目录 * 每日一句正能量 * 前言 * 一、评测背景与方法论 * 1.1 评测动机 * 1.2 评测环境 * 1.3 评测框架 * 二、核心能力深度测试 * 2.1 文本生成质量评测 * 2.2 代码能力实测 * 2.3 逻辑推理能力 * 三、性能表现实测数据 * 3.1 响应延迟测试 * 3.2 长上下文处理能力 * 3.3 输出稳定性 * 四、场景适配性分析 * 4.1 中文场景优化 * 4.2 垂直领域表现 * 4.3 API易用性 * 五、综合评估与优化建议 * 5.

By Ne0inhk