java下载安装教程(附安装包)JDK超详细图文安装教程

文章目录

本文提供最新JDK完整安装教程,从下载安装包到环境变量配置的详细流程。包含Java开发工具包的完整部署步骤,附带官方安装包下载链接,适合Java开发初学者和编程学习者快速搭建JDK开发环境。

下载JDK安装包

官网下载渠道

Java Downloads |Oracle 中国
https://www.oracle.com/cn/java/technologies/downloads/#jdk17-windows

国内高速下载链接:
如果官网下载速度慢,可以试试这个国内镜像:
https://pan.quark.cn/s/296349c7d9b5

图片

java安装

在当前目录地址栏输入cmd并回车,打开命令提示符,通过命令检查JDK版本信息

图片

找到JDK安装目录下的bin文件夹,确认一下我们的JDK版本

图片

现在我们来检查一下已经安装的JDK版本

图片

等待安装完成,然后关闭安装向导

图片

这一步要特别注意了,看清楚JDK默认安装路径,最好记下来,后面配置环境变量会用到。确认无误后点击【下一步】

图片

点击【下一步】继续安装过程

图片

首先双击你下载的JDK安装包(扩展名为.exe),启动安装向导

图片

配置Java环境变量

想要在任何目录下都能使用Java命令,配置环境变量是必不可少的一步。

输入java -version命令,检查JDK版本信息,如果显示版本号,说明环境变量配置成功

图片

按下Windows键+R组合键,输入cmd并回车,打开命令提示符

图片

再次点击【确定】保存所有环境变量设置

图片

点击【确定】保存Path变量的修改

图片

输入%JAVA_HOME%\bin,点击【确定】

图片

点击【新建】按钮

图片

找到系统变量中的Path变量,双击打开

图片

变量名填写JAVA_HOME,变量值填写你的JDK安装目录,点击【确定】

图片

在系统变量区域,点击【新建】按钮

图片

依次打开:控制面板 -> 编辑系统环境变量 -> 系统属性 -> 高级 -> 环境变量

图片

在Windows搜索栏输入"环境变量"

图片

IntelliJ IDEA开发工具JDK配置

安装好JDK后,还需要在开发工具中进行相应配置。以下是在流行的Java IDE—IntelliJ IDEA中配置JDK的步骤。

新建项目时配置JDK

点击【New Project】创建新项目

图片

已有项目调整JDK版本

调整模块(Module)的JDK版本

图片

调整项目(Project)的JDK版本

图片

创建项目后,如需调整JDK版本,可以通过项目设置进行修改

图片

通过Maven控制JDK版本

如果你的项目使用Maven构建工具,还可以通过Maven配置来控制JDK版本:

图片

安装配置完成,现在你已经成功搭建好Java开发环境了!

Java开发环境常见问题解决

在配置Java环境时,不少新手可能会遇到一些常见问题。这里给大家分享几个解决方案,帮你快速排查和解决问题。

环境变量配置后java命令仍然无法识别

如果你在cmd中输入java命令,却出现"不是内部或外部命令"的错误,可能是以下原因:

  1. 检查Path变量中的%JAVA_HOME%\bin路径是否正确添加
  2. JAVA_HOME变量值是否正确指向JDK安装目录(不是JRE目录)
  3. 环境变量设置后需要重新打开cmd才能生效,试着重启命令提示符
  4. Windows系统可能需要重启才能完全应用新的环境变量

多版本JDK共存技巧

有时候我们需要在同一台电脑上安装多个版本的JDK来满足不同项目需求,这里有几个小技巧:

  1. 为每个JDK版本创建单独的环境变量,如JAVA_HOME_8、JAVA_HOME_11、JAVA_HOME_17等
  2. 创建切换脚本(.bat文件),快速切换当前会话的JAVA_HOME变量
  3. 在IDEA等IDE中,可以为每个项目单独指定JDK版本,不必更改系统环境变量
  4. 考虑使用JDK版本管理工具如jEnv(Mac/Linux)或SDKMAN来简化多版本管理

深入理解Java版本选择策略

为项目选择合适的Java版本是一个重要决策。以下是一些选择JDK版本的考虑因素:

  1. 长期支持(LTS)版本通常更稳定,如Java 8、11、17等是LTS版本
  2. 考虑项目依赖的第三方库兼容性,有些库可能不支持最新Java版本
  3. 生产环境部署限制,某些云服务或服务器可能只支持特定Java版本
  4. 新特性需求,如需使用特定语言特性(如记录类Record、密封类Sealed Class),需选择支持这些特性的JDK版本
  5. 性能考量,新版本JDK通常有更好的性能优化和垃圾回收算法

选择合适的JDK版本,可以让你的开发更顺畅,也能避免未来迁移时的麻烦。希望这篇教程对你有所帮助!

Read more

掌控消息全链路(4)——RabbitMQ/Spring-AMQP高级特性详解之事务与消息分发

掌控消息全链路(4)——RabbitMQ/Spring-AMQP高级特性详解之事务与消息分发

🔥我的主页:九转苍翎⭐️个人专栏:《Java SE》《Java集合框架系统精讲》《MySQL高手之路:从基础到高阶》《计算机网络》《Java工程师核心能力体系构建》《RabbitMQ理论与实践》天行健,君子以自强不息。 1.事务 AMQP(高级消息队列协议)实现了事务机制,主要用于确保消息的原子性发布和确认。换言之,它允许你将多个操作(如发送消息、确认消息)绑定在一起,要么全部成功,要么全部失败 发送消息 @RestController@RequestMapping("/producer")publicclassProducerController{@Resource(name ="transRabbitTemplate")privateRabbitTemplate transRabbitTemplate;@Transactional@RequestMapping("/trans")publicStringtrans(){ transRabbitTemplate.convertAndSend(""

By Ne0inhk
C语言程序调试常用方法与技巧

C语言程序调试常用方法与技巧

C语言程序调试常用方法与技巧 一、学习目标与重点 学习目标 * 理解程序调试的基本概念 * 掌握常用调试工具的基本使用方法 * 学会使用调试技巧定位程序中的错误 * 提高程序调试的效率和准确率 学习重点 * 调试工具的安装与配置 * 断点设置与单步调试 * 变量值查看与内存分析 * 错误定位与修复技巧 二、程序调试的基本概念 2.1 调试的定义与意义 调试是指在程序运行过程中,通过观察和分析程序的行为,定位并修复错误的过程。程序调试的主要目的是提高程序的正确性和可靠性,确保程序能够按照预期的方式运行。 2.2 调试的主要步骤 1. 发现问题:通过测试或用户反馈,发现程序中的错误。 2. 定位问题:通过调试工具和技术,确定错误所在的位置和原因。 3. 修复问题:修改代码,修复错误。 4. 验证修复:重新测试程序,确保错误已经修复,并且没有引入新的错误。 2.3 调试的常见方法 * 输出调试:在程序中插入打印语句,输出变量值和程序执行路径。 * 单步调试:

By Ne0inhk
构建基于 Rust 与 GLM-5 的高性能 AI 翻译 CLI 工具:从环境搭建到核心实现全解析

构建基于 Rust 与 GLM-5 的高性能 AI 翻译 CLI 工具:从环境搭建到核心实现全解析

前言 随着大语言模型(LLM)能力的飞速提升,将 AI 能力集成到终端命令行工具(CLI)中已成为提升开发效率的重要手段。Rust 语言凭借其内存安全、零成本抽象以及极其高效的异步运行时,成为构建此类高性能网络 IO 密集型应用的首选。本文将深度剖析如何使用 Rust 语言,结合智谱 AI 的 GLM-5 模型,从零构建一个支持流式输出、多语言切换及文件批处理的 AI 翻译引擎。 本文将涵盖环境配置、依赖管理、异步网络编程、流式数据处理(SSE)、命令行参数解析以及最终的二进制发布优化。 第一部分:Rust 开发环境的系统级构建 在涉足 Rust 编程之前,必须确保底层操作系统具备必要的构建工具链。Rust 虽然拥有独立的包管理器,但在链接阶段依赖于系统的 C 语言编译器和链接器,尤其是在涉及网络库(如 reqwest 依赖的 OpenSSL)

By Ne0inhk
PostgreSQL - 连接数配置:max_connections 优化与连接池

PostgreSQL - 连接数配置:max_connections 优化与连接池

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕PostgreSQL这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * PostgreSQL - 连接数配置:max_connections 优化与连接池 * 理解 PostgreSQL 连接机制 💡 * 连接的内存开销 📊 * 默认配置分析 🔍 * max_connections 参数详解 ⚙️ * 参数位置和修改方式 * 相关依赖参数 * 1. shared_buffers * 2. max_locks_per_transaction * 3. autovacuum_max_workers * 计算合理的 max_connections 值 🧮 * 连接池的重要性 🏊‍♂️ * 为什么需要连接池? * 连接池的

By Ne0inhk