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

第1章 Java、IDEA环境部署与配置

JavaEE简介与IDE环境部署

课程目录

  • JavaEE简介
  • JDK环境部署
  • IntelliJ IDEA环境部署

JavaEE简介

1. JavaEE是什么?

Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本。这个版本以前称为 J2EE。能够帮助我们开发和部署可移植、健壮、可伸缩且安全的服务器端 Java应用程序。Java EE 是在 Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 3.0应用程序。

2. Java技术系列的3个版本

  • JavaSE:Java Standard Edition,Java 技术标准版,以界面程序、Java小程序和其它一些典型的应用为目标

  • JavaEE:Java Enterprise Edition,Java技术企业版,以服务器端程序和企业软件的开发为目标

  • JavaME:Jave Micro Edition,Java技术微型版,为小型设备、独立设备、互联移动设备、嵌入式设备程序开发而设计

3. JavaEE知识体系

见Xmind思维导图

JDK环境部署

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

1. JDK的下载

下载网址:www.oracle.com

下载步骤:

  • 登录Oracle公司官网,www.oracle.com,如图所示:在底部选择Developers开发者
    在这里插入图片描述

  • Developers页面中间的技术分类部分,选择Java,单击进入,如图所示:
    在这里插入图片描述

  • 在顶部,找到Downloads,在此选择JavaSE,单击进入,如图所示:

在这里插入图片描述

  • 选择Java downloads选项卡,默认是最新版的Java下载,同时选择安装的系统,点击下载链接即可完成下载,如图所示:
    在这里插入图片描述

  • 如果要下载之前JDK版本,还在上面的页面点击Java archive选择对应的Java版本即可:
    在这里插入图片描述
    windows用户根据自己的电脑位数(64位或者32位)下载exe文件即可。

2. JDK的安装

安装步骤:

  • 双击jdk-21_windows-x64_bin.exe文件,一直单击下一步,如果需要修改安装路径,要保证路径不要含有中文。现在的JDK安装可以不用配置环境变量,安装完成后会自动帮我们配置,但这种配置并不会处处生效,例如安装Tomcat时JDK默认的环境变量配置还是不会生效,所以最好还是手动配置好,我们可以先在JDK安装完毕后可以直接通过win +r快捷键方式打开cmd窗口:
    在这里插入图片描述
    回车确认后执行:java -version验证Java环境是否安装成功
    在这里插入图片描述

3. 配置环境变量

配置步骤:

  • 打开桌面上的计算机,进入后在左侧找到计算机,单击鼠标右键,选择属性,如图所示:
    在这里插入图片描述

  • 选择高级系统设置,如图所示:
    在这里插入图片描述

  • 高级选项卡,单击环境变量,如图所示:
    在这里插入图片描述

  • 系统变量中,单击新建 ,创建新的环境变量,如图所示:
    在这里插入图片描述

  • 变量名输入JAVA_HOME,变量值输入JDK所在路径:例如 D:\develop\Java\jdk1.8.0_202 ,并单击确定,如图所示:

在这里插入图片描述

  • 选中Path 环境变量,双击或者点击编辑 ,如图所示:

在这里插入图片描述

  • 在变量值的最前面,键入%JAVA_HOME%\bin; 分号必须要写,而且还要是英文符号。如图所示:
    在这里插入图片描述

  • 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令,运行成功:
    在这里插入图片描述

IntelliJ IDEA环境部署

1. IntelliJ IDEA介绍

IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS 整合、代码审查、创新 GUI 设计等方面的功能可以说是超常的。

IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。IntelliJ IDEA 是为在各个方面最大化提高开发者生产力的而设计的。同时强大的静态代码分析和人机工程学设计使开发不仅高效,而且令人愉快。IntelliJ IDEA 是为在各个方面最大化提高开发者生产力的而设计的。同时强大的静态代码分析和人机工程学设计使开发不仅高效,而且令人愉快。
在这里插入图片描述

2. IDEA的下载

下载网址: https://www.jetbrains.com/idea/download/#section=windows

IDEA 分为两个版本: 旗舰版(Ultimate)和 社区版(Community)。
在这里插入图片描述

两个不同版本的详细对比,可以参照官网: https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

官网提供的详细使用文档: https://www.jetbrains.com/help/idea/meet-intellij-idea.html

3. IDEA的安装

双击下载好的安装包(ideaIU-Ultimate-2019.2.3.exe)

欢迎安装:

在这里插入图片描述

是否删除电脑上低版本的IDEA:
在这里插入图片描述

选择安装目录:

在这里插入图片描述

确认操作系统类型,确认是否与.java、.groovy、.kt 格式文件进行关联,这里也可以选择不关联:

在这里插入图片描述

在【开始】菜单新建一个文件夹,来管理IDEA的相关内容:

在这里插入图片描述

在这里插入图片描述

完成安装:

在这里插入图片描述

4. IDEA的激活

双击在这里插入图片描述

是否导入之前版本的配置:
在这里插入图片描述

启动界面:

在这里插入图片描述

选择UI界面的主题:

在这里插入图片描述

激活:
在这里插入图片描述
在这里插入图片描述

6. 新建HelloWorld项目

创建项目:
在这里插入图片描述

创建Java项目:
在这里插入图片描述
在这里插入图片描述

指定项目名称和代码存储目录:
在这里插入图片描述

关闭提示:
在这里插入图片描述

完成项目创建:

在这里插入图片描述

新建Java类:
在这里插入图片描述

在这里插入图片描述

编写代码:

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!");}
}

运行:
在这里插入图片描述
在这里插入图片描述

7. IDEA基本配置

显示工具栏:
在这里插入图片描述

选择详细配置菜单和按钮:
在这里插入图片描述
在这里插入图片描述

动提示功能设置:

IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 system,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入System 就可以进行代码提示和补充。 如果想不区分大小写的话,就把这个对勾去掉。
在这里插入图片描述

取消自动更新:
在这里插入图片描述

8. 配置目录

8.1. 配置目录介绍

启动后会在C盘的用户目录下生成如下两个目录,例如:C:\Users\Irene.IntelliJIdea2019.2
在这里插入图片描述

这是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。

config 目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。此目录可看成是最重要的目录,没有之一,如果你还记得安装篇的介绍的时候,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置。

system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但也是最不可或缺的目录之一。

8.2. 运行内存大小配置

找到IDEA安装目录的bin目录例如:D:\ProgramFiles\JetBrains\IntelliJ_IDEA_2019.2.3\bin,找到idea64.exe.vmoptions文件,用文本编辑器打开:
在这里插入图片描述

* 大家根据电脑系统的位数,选择 32 位的 VM 配置文件或者 64 位的 VM 配置文件
* 32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
* 64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
* 64 位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目,建议进行修改,常修改的就是下面 3 个参数:

在这里插入图片描述

*Xms128m如果16 G 内存的机器可尝试设置为 -Xms512m(设置初始的内存数,增加该值可以提高 Java 程序的启动速度。)
*Xmx750m如果16 G 内存的机器可尝试设置为 -Xmx1500m(设置最大内存数,提高该值,可以减少内存 Garage 收集的频率,提高程序性能)
*XX:ReservedCodeCacheSize=240m如果16G 内存的机器可尝试设置为-XX:ReservedCodeCacheSize=500m(保留代码占用的内存容量)

相关文章:

第1章 Java、IDEA环境部署与配置

JavaEE简介与IDE环境部署 课程目录 JavaEE简介JDK环境部署IntelliJ IDEA环境部署 JavaEE简介 1. JavaEE是什么? Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推…...

如何进行二进制文件的读写操作?

在C语言中,进行二进制文件的读写操作是非常常见的任务,尤其在处理文件、图像、音频和视频等二进制数据时。本文将详细介绍如何进行二进制文件的读写操作,包括如何打开文件、读取文件、写入文件以及关闭文件。我们将使用标准C库中的函数来执行…...

python实现PDF表格与文本分别导出EXCEL

现需将pdf 转换至Excel , 目前实现方式:将PDF的TABLE部分与 非 TABLE部分分别导出至Excel两个sheet中 1)、识别PDF中的表格块 2)、将PDF转换为Word格式 3)、提取Word中非表格的文本数据 4)、对文本与表格重…...

Java开发-WebSocket

WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信-浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c;并实现 双向数据传输。 使用 导入maven坐标 <dependency><groupId>org.springframework.bo…...

SpringDoc API文档工具集成SpringBoot - Swagger3

1、引言 之前在Spring Boot项目中一直使用的是SpringFox提供的Swagger库&#xff0c;发现已经超过3年没出新版本了&#xff01;SpringDoc是一款可以结合Spring Boot使用的API文档生成工具&#xff0c;基于OpenAPI 3&#xff0c;是一款更好用的Swagger库&#xff01;值得一提的是…...

Java将djvu文件转成pdf

需求来源 迫于有部分资源是djvu格式的文件&#xff0c;需要预览这部分文件&#xff0c;web端无法直接预览djvu&#xff0c;所以需要将djvu转成pdf。 转换方法 简单来说就是先把djvu文件转换成tiff文件&#xff0c;再将tiff文件转换成pdf文件。 Ubuntu服务器 如果服务器是U…...

【机器学习合集】激活函数合集 ->(个人学习记录笔记)

文章目录 综述1. S激活函数(sigmoid&Tanh)2. ReLU激活函数3. ReLU激活函数的改进4. 近似ReLU激活函数5. Maxout激活函数6. 自动搜索的激活函数Swish 综述 这些都是神经网络中常用的激活函数&#xff0c;它们在非线性变换方面有不同的特点。以下是这些激活函数的主要区别&am…...

【从0到1设计一个网关】什么是网关?以及为什么需要自研网关?

文章目录 什么是网关&#xff1f;网关类型网关的优缺点目前的网关解决方案有哪些&#xff1f;为什么要自研Gateway网关&#xff1f;自研网关需要注意什么&#xff1f; 注&#xff1a; 这篇文章作为我的网关的第一篇文章&#xff0c;并不涉及任何代码&#xff0c;只是提及了网关…...

Tp框架如何使用事务和锁,还有查询缓存

1.事务 在ThinkPHP框架中&#xff0c;可以使用think\db\Transaction类来实现事务。 use think\Db; use think\db\Transaction;// 开始事务 Db::startTrans();try {// 执行数据库操作Db::table(user)->where(id, 1)->update([name > John]);// 提交事务Db::commit(); }…...

Java IDEA feign调用上传文件MultipartFile以及实体对象亲测可行

Java IDEA feign调用上传文件MultipartFile以及实体对象亲测可行 1. 报错 java.lang.IllegalStateException: Body parameter cannot be used with form parameters2. 解决参考 1. 报错 java.lang.IllegalStateException: Body parameter cannot be used with form parameters …...

【产品经理】APP备案(阿里云)

工信部《关于开展移动互联网应用程序备案工作的通知》 工业和信息化部印发了《关于开展移动互联网应用程序备案工作的通知》&#xff0c;“在中华人民共和国境内从事互联网信息服务的App主办者&#xff0c;应当依照相关法律法规等规定履行备案手续&#xff0c;未履行备案手续的…...

Overmind VS Redux

Overmind Overmind 是一个状态管理库&#xff0c;它可以帮助你管理应用程序的状态和副作用。下面是一个使用 Overmind 的简单示例&#xff1a; 首先&#xff0c;我们需要安装 Overmind 和它的 React 绑定&#xff1a; npm install overmind overmind-react然后&#xff0c;我…...

0基础学习PyFlink——流批模式在主键上的对比

假如我们将《0基础学习PyFlink——使用PyFlink的Sink将结果输出到外部系统》中的模式从批处理&#xff08;batch&#xff09;改成流处理&#xff08;stream&#xff09;&#xff0c;则其在print连接器上产生的输出是不一样。 批处理 env_settings EnvironmentSettings \.new_…...

Java学习笔记(五)——数组、排序和查找

一、数组 &#xff08;一&#xff09;数组的使用 1、使用方式1——动态初始化 2、使用方式2——动态初始化 3、使用方式3——静态初始化 &#xff08;二&#xff09;数组使用注意事项和细节 &#xff08;三&#xff09;数组赋值机制 &#xff08;四&#xff09;数组拷贝…...

python输出与数据类型

目标 1、使用print输出内容 2、熟悉字符串类型 3、熟悉数字类型 4、熟悉数字与字符串操作 输出 print可控制输出内容也可配合、-、*、/进行运算&#xff0c;和整数型配合可进行运算和字符型配合有不同效果&#xff0c;如为拼接&#xff0c;*为多次输出注&#xff1a;整数型如&…...

React-Redux总结含购物车案例

React-Redux总结含购物车案例 reduc简介 redux是react全家桶的一员&#xff0c;它为react给i共可预测化的状态管理机制。redux是将整个应用状态存储到一个地方&#xff0c;成为store,里面存放着一颗树状态(state,tree),组件可以派发dispatch行为action给store,而不是直接通知其…...

攻克组合优化问题!美国DARPA选中全栈量子经典计算公司Rigetti

&#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;美国量子计算公司Rigetti宣布&#xff0c;它被美国国防高级研究计划局 (DARPA) 选中&#xff0c;加入想象未来量子实际应用 (IMPAQT) 计划&#xff0c;推进先进量子算法的研发&#xff0c;去解决组合优化问…...

Kafka - 深入了解Kafka基础架构:Kafka的基本概念

文章目录 Kafka的基本概念 Kafka的基本概念 我们首先了解一些Kafka的基本概念。 1&#xff09;Producer &#xff1a;消息生产者&#xff0c;就是向kafka broker发消息的客户端2&#xff09;Consumer &#xff1a;消息消费者&#xff0c;向kafka broker获取消息的客户端3&…...

[Docker]二.Docker 镜像,仓库,容器介绍以及详解

一.Docker 镜像,容器,仓库的简单介绍 通俗来讲:镜像相当于VM虚拟机中的ios文件,容器相当于虚拟机系统,仓库相当于系统中的进程或者执行文件,容器是通过镜像创建的 1.镜像 Docker 镜像就是一个 Linux 的文件系统&#xff08; Root FileSystem &#xff09;&#xff0c;这个文…...

软考高级系统架构设计师系列之:案例分析典型试题一

软考高级系统架构设计师系列之:案例分析典型试题一 一、案例分析考试大纲二、结构化软件系统建模1.案例试题2.案例试题分析3.案例试题参考答案三、联合需求分析会议1.案例试题2.案例试题分析3.案例试题参考答案四、电子政务1.案例试题2.案例试题分析3.案例试题参考答案五、软件…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...