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

[Java基础]开发工具Idea

安装工具

IDE: 称为集成开发环境, 把代码编写,编译,执行等功能综合在一起的工具

卸载

控制面板->卸载程序->卸载->勾选清空配置->确认卸载

下载/安装

官网下载: IntelliJ IDEA – the Leading Java and Kotlin IDE

默认安装: 旗舰版安装无需任何勾选, 傻瓜安装即可 (安装目录不要有空格或中文)

个性化

主题设置

字体设置

插件安装

AI出现后,IDEA可以集成很多辅助编程的AI编程插件

  • Github copilot
  • 阿里巴巴 通义灵码
  • 科大讯飞 星斗AI

安装插件

激活插件

使用插件

快捷键

  • main: 生成代码架子
  • sout: 打印语句
  • ctrl + d: 复制到下一行
  • Ctrl + x: 剪切所在行代码
  • ctr l+/ ctrl+shift+/ 注释代码
  • 代码提示: ALT +Enter
  • Ctrl + Q: 显示注释文档
  • Ctrl+P: 使用方法参数提示
  • Ctrl+空格: 代码提示
  • 包装代码: ctrl + alt + T
  • 快速循环: 数组名.fori + Enter
  • 快速生成: 右键Generate ->快速生成构造器/get/set函数
  • 方法重写: eq + enter / toS + enter
  • 智能提示: ctrl +alt + 空格
  • 标准注释: /** + enter
  • 格式代码: ctrl + alt + L
  • 计算返回结果: 右键代码 -> Evaluate Expression -> Evaluate
  • 快捷创建测试类: 接口 -> alt+enter -> Create Test -> ok
  • 复制文件全类名: 右键代码 -> Copy/Paste Special -> Copy Reference
  • 提取代码: CTRL + ALT + M
  • 同步修改: Shift + F6

管理项目

项目结构

这些结构的划分,是为了方便管理项目技术和代码文件的

  • project项目
  • module模块
  • package包
  • class类

入门程序

  1. 创建空项目: file->new Project
  • 自己新建一个目录, 作为工程目录

  • 创建空工程时, Project location选到刚创建的目录, 点击 Finish

  • 工程创建成功

  1. 创建模块: file -> new Module
  • 创建模块时, 要选择JDK, 配置了JAVA_HOME, 工具可以自己找到JDK, 如果找不到要手动添加并选中

  • 填写模块名称

  • 模块创建成功, src就是源文件目录, 所有的包和类文件都放在这里面

  1. 创建包: 右键src -> package

  1. 创建类: 右键包->new->java Class

  1. 编写代码

  1. 运行代码

  1. 编译后的class文件存在out文件夹中

管理类文件

删除: 类文件 ->右键 ->delete

修改类名称: 类文件 ->右键- >Refactor/Rename

管理模块文件

修改模块名: 模块->右键->Refactor/Rename

导入模块

方法1:

  1. 把模块复制到项目中

  1. 加载模块文件: 文件 ->新建->从现有源代码导入模块

  1. 选中新模块的.iml文件, 疯狂下一步

  1. 导入成功

方法2:

新建模块->复制目标模块src下的代码->粘贴到新建的模块中

删除模块

  1. 移除模块: 模块文件->右键->Remove Module

  1. 删除模块: 右键 -> Delete 或者 在目录中删除

  1. 以上两步按顺序操作, 不可缺少

管理工程文件

打开工程: file-> open ->选中工程文件

退出工程: file -> close project

关闭idea: file -> Exit 或者 叉掉idea

删除工程: 直接在文件目录中删除

Debug工具

IDEA自带断点调试工具, 可以控制代码一行一行的执行, 帮助我们了解程序运行和排查问题

  1. 添加断点: 在需要控制的代码左侧, 点击一下, 添加断点

  1. 选择使用Debug方式启动程序, 程序启动后会在断点处暂停

  1. 归位: 回到程序执行的位置

  1. 代码一行一行往下执行, 不进入方法内部

  1. 代码往下执行, 会进入方法内部, 不会进入JDK提供的方法

  1. 代码往下执行, 会进入方法内部, 包括JDK提供的方法

  1. 跳出当前类

  1. 程序执行到光标位置

  1. 重新运行程序

  1. 修改运行参数

  1. 放行到下个断点, 每天断点就全部放行

  1. 终止程序运行

  1. 查看程序中的所有断点

  1. 禁用所有断点

  1. 展示堆栈信息

  1. 展示变量信息

  1. 查看数据(选中)

  1. 条件断点: 右击断点, 填写条件, 当i=3时, 断点才会触发

  1. stream流的debug: 添加断点后, 点击

    查看stream流的执行过程

  1. 多线程的debug: 先添加断点 ->右击断点, 修改断点类型, 选择Thread -> 切换线程, 调试程序

  1. 属性断点: 给属性添加断点

  1. 方法断点: 给方法添加断点

  1. 异常断点:

点击

点击+号选择异常断点

选择异常类型

debug执行程序, 程序就会停在发生空指针异常的地方

快捷操作

实例多开

相关文章:

[Java基础]开发工具Idea

安装工具 IDE: 称为集成开发环境, 把代码编写,编译,执行等功能综合在一起的工具 卸载 控制面板->卸载程序->卸载->勾选清空配置->确认卸载 下载/安装 官网下载: IntelliJ IDEA – the Leading Java and Kotlin IDE 默认安装: 旗舰版安装无需任何勾选, 傻瓜安装…...

Java线程池

专栏系列文章地址:https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标: 理解线程池运行原理 线程的各种属性参数关闭问题异常处理拒绝策略常见的线程池 可以分析下自身工作中用的各种线程池和参数设定 工作中用到的有 普通的 Th…...

2025年01月27日Github流行趋势

项目名称:onlook项目地址url:https://github.com/onlook-dev/onlook项目语言:TypeScript历史star数:5340今日star数:211项目维护者:Kitenite, drfarrell, iNerdStack, abhiroopc84, apps/dependabot项目简介…...

C# 数组和列表的基本知识及 LINQ 查询

数组和列表的基本知识及 LINQ 查询 一、基本知识二、引用命名空间声明三、数组3.1、一维数组3.2、二维数组3.3、不规则数组 Jagged Array 四、列表 List4.1、一维列表4.2、二维列表 五、数组和列表使用 LINQ的操作和运算5.1、一维 LIST 删除所有含 double.NaN 的行5.2、一维 LI…...

Deepseek本地部署(ollama+open-webui)

ollama 首先是安装ollama,这个非常简单 https://ollama.com/ 下载安装即可 open-webui 这个是为了提供一个ui,毕竟我们也不想在cmd和模型交互,很不方便。 第一,需要安装python3.11,必须是3.11(其他版…...

(七)Spring Cloud Alibaba 2023.x:RocketMQ 消息队列配置与实现

目录 前言 准备 安装RocketMq服务 下载rocketmq服务 下载rocketmq 控制台 项目集成 引入依赖 生产者服务配置 消费者服务配置 发送队列消息 前言 在微服务架构中,异步消息通信是实现系统解耦、提高性能和增强系统可靠性的重要手段。在 Spring Cloud Alib…...

2848、与车相交的点

2848、[简单] 与车相交的点 1、题目描述 给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i,nums[i] [starti, endi] ,其中 starti 是第 i 辆车的起点,endi 是第 i 辆车的终点。 返回数轴上被车 任意…...

51单片机开发:温度传感器

温度传感器DS18B20: 初始化时序图如下图所示: u8 ds18b20_init(void){ds18b20_reset();return ds18b20_check(); }void ds18b20_reset(void){DS18B20_PORT 0;delay_10us(75);DS18B20_PORT 1;delay_10us(2); }u8 ds18b20_check(void){u8 time_temp0;wh…...

三甲医院大型生信服务器多配置方案剖析与应用(2024版)

一、引言 1.1 研究背景与意义 在当今数智化时代,生物信息学作为一门融合生物学、计算机科学和信息技术的交叉学科,在三甲医院的科研和临床应用中占据着举足轻重的地位。随着高通量测序技术、医学影像技术等的飞速发展,生物医学数据呈爆发式…...

【机器学习】自定义数据集 ,使用朴素贝叶斯对其进行分类

一、贝叶斯原理 贝叶斯算法是基于贝叶斯公式的,其公式为: 其中叫做先验概率,叫做条件概率,叫做观察概率,叫做后验概率,也是我们求解的结果,通过比较后验概率的大小,将后验概率最大的…...

ASP.NET Core 启动并提供静态文件

ASP.NET Core 启动并提供静态文件 即是单个可执行文件,它既运行 API 项目,也托管 前端项目(通常是前端的发布文件)。 这种方式一般是通过将 前端项目 的发布文件(例如 HTML、CSS、JavaScript)放入 Web AP…...

MySQL 导入数据

MySQL 导入数据 引言 MySQL 是一款广泛使用的开源关系型数据库管理系统,它以其稳定性和高效性被广泛应用于各种规模的应用程序中。在数据库管理过程中,数据的导入是至关重要的一个环节。本文将详细介绍如何在 MySQL 中导入数据,包括导入数据的准备、操作步骤以及注意事项。…...

MINIRAG: TOWARDS EXTREMELY SIMPLE RETRIEVAL-AUGMENTED GENERATION论文翻译

感谢阅读 注意不含评估以后的翻译原论文地址标题以及摘要介绍部分MiniRAG 框架2.1 HETEROGENEOUS GRAPH INDEXING WITH SMALL LANGUAGE MODELS2.2 LIGHTWEIGHT GRAPH-BASED KNOWLEDGE RETRIEVAL2.2.1 QUERY SEMANTIC MAPPING2.2.2 TOPOLOGY-ENHANCED GRAPH RETRIEVAL 注意不含评…...

将 OneLake 数据索引到 Elasticsearch - 第二部分

作者:来自 Elastic Gustavo Llermaly 及 Jeffrey Rengifo 本文分为两部分,第二部分介绍如何使用自定义连接器将 OneLake 数据索引并搜索到 Elastic 中。 在本文中,我们将利用第 1 部分中学到的知识来创建 OneLake 自定义 Elasticsearch 连接器…...

数据密码解锁之DeepSeek 和其他 AI 大模型对比的神秘面纱

本篇将揭露DeepSeek 和其他 AI 大模型差异所在。 目录 ​编辑 一本篇背景: 二性能对比: 2.1训练效率: 2.2推理速度: 三语言理解与生成能力对比: 3.1语言理解: 3.2语言生成: 四本篇小结…...

安心即美的生活方式

如果你的心是安定的,那么,外界也就安静了。就像陶渊明说的:心远地自偏。不是走到偏远无人的边荒才能得到片刻清净,不需要使用洪荒之力去挣脱生活的枷锁,这是陶渊明式的中国知识分子的雅量。如果你自己是好的男人或女人…...

基于深度学习的输电线路缺陷检测算法研究(论文+源码)

输电线路关键部件的缺陷检测对于电网安全运行至关重要,传统方法存在效率低、准确性不高等问题。本研究探讨了利用深度学习技术进行输电线路关键组件的缺陷检测,目的是提升检测的效率与准确度。选用了YOLOv8模型作为基础,并通过加入CA注意力机…...

手写防抖函数、手写节流函数

文章目录 1 手写防抖函数2 手写节流函数 1 手写防抖函数 函数防抖是指在事件被触发n秒后再执行回调,如果在这n秒内事件又被触发,则重新计时。这可以使用在一些点击请求的事件上,避免因为用户的多次点击向后端发送多次请求。 function debou…...

UE 导入sbsar插件

Substance 3D 插件支持直接在 Unreal Engine 5 和 Unreal Engine 4 中使用 Substance 材质。无论您是在处理游戏、可视化,还是在移动设备、桌面或 XR 上进行部署,Substance 都能提供独特的体验,并优化功能以提高生产力。 Substance 资源平台…...

pytorch实现简单的情感分析算法

人工智能例子汇总:AI常见的算法和例子-CSDN博客 在PyTorch中实现中文情感分析算法通常涉及以下几个步骤:数据预处理、模型定义、训练和评估。下面是一个简单的实现示例,使用LSTM模型进行中文情感分析。 1. 数据预处理 首先,我…...

Baklib揭示内容中台实施最佳实践的策略与实战经验

内容概要 在当前数字化转型的浪潮中,内容中台的概念日益受到关注。它不再仅仅是一个内容管理系统,而是企业提升运营效率与灵活应对市场变化的重要支撑平台。内容中台的实施离不开最佳实践的指导,这些实践为企业在建设高效内容中台时提供了宝…...

11.[前端开发]Day11-HTML+CSS阶段练习(仿小米和考拉页面)

一、小米穿戴设备&#xff08;浮动&#xff09; 完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"vie…...

设计模式学习(二)

结构型 适配器模式 定义 它允许将一个类的接口转换成客户端期望的另一个接口。适配器模式通常用于使不兼容的接口能够一起工作。 适配器模式的角色 目标接口&#xff08;Target&#xff09;&#xff1a;客户端期望的接口。适配者&#xff08;Adaptee&#xff09;&#xff…...

【Docker】快速部署 Nacos 注册中心

【Docker】快速部署 Nacos 注册中心 引言 Nacos 注册中心是一个用于服务发现和配置管理的开源项目。提供了动态服务发现、服务健康检查、动态配置管理和服务管理等功能&#xff0c;帮助开发者更轻松地构建微服务架构。 仓库地址 https://github.com/alibaba/nacos 步骤 拉取…...

大白话讲清楚embedding原理

Embedding&#xff08;嵌入&#xff09;是一种将高维数据&#xff08;如单词、句子、图像等&#xff09;映射到低维连续向量的技术&#xff0c;其核心目的是通过向量表示捕捉数据之间的语义或特征关系。以下从原理、方法和应用三个方面详细解释Embedding的工作原理。 一、Embe…...

pandas中的apply方法使用

apply 用于对 DataFrame 或 Series 中的数据进行逐行或逐列的操作。它可以接受一个函数&#xff08;通常是 lambda 函数或自定义函数&#xff09;&#xff0c;并将该函数应用到每一行或每一列上。apply语法&#xff1a; DataFrame.apply(func, axis0, rawFalse, result_typeNo…...

简单易懂的倒排索引详解

文章目录 简单易懂的倒排索引详解一、引言 简单易懂的倒排索引详解二、倒排索引的基本结构三、倒排索引的构建过程四、使用示例1、Mapper函数2、Reducer函数 五、总结 简单易懂的倒排索引详解 一、引言 倒排索引是一种广泛应用于搜索引擎和大数据处理中的数据结构&#xff0c;…...

Nginx知识

nginx 精简的配置文件 worker_processes 1; # 可以理解为一个内核一个worker # 开多了可能性能不好events {worker_connections 1024; } # 一个 worker 可以创建的连接数 # 1024 代表默认一般不用改http {include mime.types;# 代表引入的配置文件# mime.types 在 ngi…...

CNN的各种知识点(三):有关于VGG16 的结构展开的问题(1)

有关于VGG16 的结构展开的问题&#xff08;1&#xff09; 1. VGG16 的原生结构2. model.avgpool 的作用原生 VGG16 中没有 avgpool 层&#xff1f;代码中的 model.avgpool 是什么&#xff1f; 3. model.classifier 的作用原生 VGG16 的 classifier用户代码中的 classifier 4. 为…...

vue3中el-input无法获得焦点的问题

文章目录 现象两次nextTick()加setTimeout()解决结论 现象 el-input被外层div包裹了&#xff0c;设置autofocus不起作用&#xff1a; <el-dialog v-model"visible" :title"title" :append-to-bodytrue width"50%"><el-form v-model&q…...

sqli-labs靶场通关

sqli-las通关 mysql数据库5.0以上版本有一个自带的数据库叫做information_schema,该数据库下面有两个表一个是tables和columns。tables这个表的table_name字段下面是所有数据库存在的表名。table_schema字段下是所有表名对应的数据库名。columns这个表的colum_name字段下是所有…...

深度学习深度解析:从基础到前沿

引言 深度学习作为人工智能的一个重要分支&#xff0c;通过模拟人脑的神经网络结构来进行数据分析和模式识别。它在图像识别、自然语言处理、语音识别等领域取得了显著成果。本文将深入探讨深度学习的基础知识、主要模型架构以及当前的研究热点和发展趋势。 基础概念与数学原理…...

sobel边缘检测算法

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 Sobel边缘检测算法是一种用于图像处理中的边缘检测方法&#xff0c;它能够突出图像中灰度变化剧烈的地方&#xff0c;也就是边缘。该算法通过计算图像在水平方向和垂直方向上的梯度来检测边缘&#xff0c;梯度值越大…...

LeetCode 349: 两个数组的交集

LeetCode 349: 两个数组的交集 - C语言 问题描述 给定两个数组 ransomNote 和 magazine&#xff0c;你需要判断 ransomNote 是否可以由 magazine 里的字符构成。每个字符可以使用一次。 解题思路 通过统计 magazine 中每个字符的频次&#xff0c;并与 ransomNote 中字符的需…...

MATLAB的数据类型和各类数据类型转化示例

一、MATLAB的数据类型 在MATLAB中 &#xff0c;数据类型是非常重要的概念&#xff0c;因为它们决定了如何存储和操作数据。MATLAB支持数值型、字符型、字符串型、逻辑型、结构体、单元数组、数组和矩阵等多种数据类型。MATLAB 是一种动态类型语言&#xff0c;这意味着变量的数…...

c++ list的front和pop_front的概念和使用案例—第2版

在 C 标准库中&#xff0c;std::list 的 front() 和 pop_front() 是与链表头部元素密切相关的两个成员函数。以下是它们的核心概念和具体使用案例&#xff1a; 1. front() 方法 概念&#xff1a; 功能&#xff1a;返回链表中第一个元素的引用&#xff08;直接访问头部元素&am…...

如何使用SliverList组件

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了沉浸式状态栏相关的内容&#xff0c;本章回中将介绍SliverList组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的SliverList组件是一种列表类组件&#xff0c;类似我们之前介…...

DIFY源码解析

偶然发现Github上某位大佬开源的DIFY源码注释和解析&#xff0c;目前还处于陆续不断更新地更新过程中&#xff0c;为大佬的专业和开源贡献精神点赞。先收藏链接&#xff0c;后续慢慢学习。 相关链接如下&#xff1a; DIFY源码解析...

搜索引擎友好:设计快速收录的网站架构

本文来自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/14.html 为了设计一个搜索引擎友好的网站架构&#xff0c;以实现快速收录&#xff0c;可以从以下几个方面入手&#xff1a; 一、清晰的目录结构与层级 合理划分内容&#xff1a;目录结构应…...

2007-2019年各省科学技术支出数据

2007-2019年各省科学技术支出数据 1、时间&#xff1a;2007-2019年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;行政区划代码、地区名称、年份、科学技术支出 4、范围&#xff1a;31省 5、指标解释&#xff1a;科学技术支出是指为促进科学研究、技术开发…...

【数据分析】案例03:当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib)

当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib) 当当网近30日热销书籍官网写在前面 实验目的:实现当当网近30日热销图书的数据采集与可视化分析。 电脑系统:Windows 使用软件:Visual Studio Code Python版本:python 3.12.4 技术需求:scrapy、…...

DRM系列二:DRM总体介绍

一、简介 DRM&#xff0c;全称Direct Rending Manger。是目前Linux主流的图形显示框架。相比较传统的Framebuffer&#xff08;FB原生不支持多层合成&#xff0c;不支持VSYNC&#xff0c;不支持DMA-BUF&#xff0c;不支持异步更新&#xff0c;不支持fence机制等等&#xff09;&…...

步进电机的型号和分类

步进电机的型号和分类通常根据其尺寸、结构、相数、步距角等参数来区分。以下是一些常见的步进电机型号、分类方法以及如何识别它们的指南&#xff1a; 一、常见步进电机型号 步进电机的型号通常由厂家命名&#xff0c;但也有一些通用的命名规则。以下是一些常见的型号系列&am…...

【力扣】15.三数之和

AC截图 题目 思路 这道题如果简单的用暴力三重遍历去做&#xff0c;会超时。所以我们思考假如有三个下标&#xff0c;i&#xff0c;l&#xff0c;r 其中i0&#xff08;初始&#xff09;&#xff0c;li1 rnums.size()-1 我们固定nums[i]的值&#xff0c;那么就转换为两数之和…...

Redis 基础命令

1. redis 命令官网 https://redis.io/docs/latest/commands/ 2. 在 redis-cli 中使用 help 命令 # 查看 help string 基础命令 keys * # * 代表通配符set key value # 设置键值对del key # 删除键expire key 时间 # 给键设置时间 # -2 代表时间到期了&#xff0c; -1 代表…...

CSES Missing Coin Sum

思路是对数组排序 设 S [ i ] S[i] S[i] 是数组的前缀和 R [ i ] R[i] R[i] 是递增排序后的数组 遍历数组&#xff0c;如果出现 S [ i − 1 ] 1 < R [ i ] S[i - 1] 1 < R[i] S[i−1]1<R[i]&#xff0c;就代表S[i - 1] 1是不能被合成出来的数字 因为&#xff1a…...

Python中的数据类(dataclass):简化类的定义与数据管理

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着Python语言的发展,代码的简洁性与可维护性变得愈发重要。Python 3.7引入的dataclass模块为数据类的定义提供了一种简便而高效的方式,…...

Java线程认识和Object的一些方法ObjectMonitor

专栏系列文章地址&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标&#xff1a; 要对Java线程有整体了解&#xff0c;深入认识到里面的一些方法和Object对象方法的区别。认识到Java对象的ObjectMonitor&#xff0c;这有助于后面的Synchron…...

使用真实 Elasticsearch 进行高级集成测试

作者&#xff1a;来自 Elastic Piotr Przybyl 掌握高级 Elasticsearch 集成测试&#xff1a;更快、更智能、更优化。 在上一篇关于集成测试的文章中&#xff0c;我们介绍了如何通过改变数据初始化策略来缩短依赖于真实 Elasticsearch 的集成测试的执行时间。在本期中&#xff0…...

统计学中的样本概率论中的样本

不知道当初谁想的把概率论和数理统计合并&#xff0c;作为一门课。这本身是可以合并&#xff0c;完整的一条线&#xff0c;看这里。但是&#xff0c;作为任课老师应该从整体上交代清楚&#xff0c;毕竟是两个学科&#xff0c;不同的学科合并必然会有各种不协调的问题。 举个最…...