IDEA 中的奇技淫巧

2024-04-29 11:44
文章标签 idea 奇技淫巧

本文主要是介绍IDEA 中的奇技淫巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IDEA 中的奇技淫巧

书签

  • 在使用ctrl+alt+方向键跳转时,或者追踪代码时,经常遇到的情况是层级太多,找不到代码的初始位置,入口。
  • 可以通过书签的形式去打上一个标记,后续可以直接跳转到书签位置。
    • 标记书签:ctrl+shift+数字标记为书签。
      • 普通书签: ctrl+F11
    • 跳转书签:ctrl+数字 跳转到书签位置。
    • 所有书签:alt+2 显示所有书签

image-20240428195520636

插件

  • CamelCase
    • 下划线,驼峰,大小写快速转换。
  • Easy Javadoc
    • 快捷生成类,方法的JavaDoc注解。
  • Easy Code
    • 快捷生成实体对象,mapper对象等
  • GenerateAllSetter
    • 快捷调用一个对象的setter或者getter方法。
  • Git Commit Template
    • git提交模版
  • Git Config
    • 管理多个git账号。项目空间下使用同一个git账号
  • JRebel
    • 代码热更插件。支持新增方法和字段
  • Json Helper
    • Json可视化,格式化,转义。
  • Key Promoter X
    • 快捷键提示,统计,快捷定义快捷键。
  • Mybatis Log Free
    • sql格式化
  • Swagger Tools
    • 根据javaDoc生成swagger注解。

调试

  • 评估表达式
  • 丢弃当前帧
  • 强制返回

image-20240428224226665

  • 即时修改调试数据(选中变量按F2)

    image-20240428224942670

字段断点(反射无效)

  • 当读写字段时,字段断点会命中。通过反射读写不会命中

image-20240428225735807

异常断点(排除框架异常)

  • 捕获空指针异常,同时排除spring框架中的空指针异常。用于在排除代码时不知道具体异常位置,可通过异常断点定位。

image-20240428222204552

条件断点(源码中执行自定义代码)

  • 指定时间内连接zk超时,使用【条件断点+评估功能】重连,避免报错无法启动。

image-20240428223529627

过滤器

  • 实例过滤器
    • 当前this的id等于指定id才命中
  • 类过滤器
    • 当前this.getClass()等于指定Class 【子类不行】
  • 合格次数
    • 命中指定次数才生效

image-20240428220308254

其他技巧

  1. maven无法获取远程仓库的最新代码

    • maven设置中勾选始终更新快照

      image-20240428230228010

  2. 项目编译代码慢或报错内部错误或者报错OOM。

    • 修改编译时的堆内存大小

      image-20240428230412096

  3. ctrl+[或者] 按层级跳转代码块

  4. 在类中搜索方法 ctrl+F12

  5. ctrl+alt+[或者]在多个项目中快捷切换

代码

  • list和map指定初始容量,避免扩容。

    • list是不够用时再去扩容,所以初始容量设置为原始list的大小即可。即不需要额外容量。

    • 一般使用HshMap,扩容因子0.75,数据达到75%就会开始扩容。所以map的初始容量就是【原始容器大小/ 0.75 + 1】,就能保证在不扩容的情况下的使用最小空间,达到最高利用率。

      • 例:我有一个list有16个元素,现在要转为map。【16/0.75+1 = 22】,即初始容量设置为22就不会扩容,且容量最小。22*0.75 = 16.5,只有当存入第17个元素时才需要扩容。

      • 如何验证正确性:googleguavacom.google.common.collect.Maps#newHashMapWithExpectedSize就是如此计算。

        image-20240428232205272

  • 常用容器 【不可修改】

    • Collections.emptyList() 空list
    • Collections.emptyMap() 空map
    • Collections.singletonList(new Object()) 单值list
  • List.contains() 仅contains场景,可以转换为set进行contains操作。效率比list高。

    • list.contains内部是遍历,O(n)
    • set.contains内部是hashMap的contains。使用哈希表,通过equals+hashCode实现。时间复杂度为O(1)。以及红黑树…

这篇关于IDEA 中的奇技淫巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945995

相关文章

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

IDEA接入Deepseek的图文教程

《IDEA接入Deepseek的图文教程》在本篇文章中,我们将详细介绍如何在JetBrainsIDEA中使用Continue插件接入DeepSeek,让你的AI编程助手更智能,提高开发效率,感兴趣的小... 目录一、前置准备二、安装 Continue 插件三、配置 Continue 连接 DeepSeek四

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

在idea中使用mysql数据库超详细教程

《在idea中使用mysql数据库超详细教程》:本文主要介绍如何在IntelliJIDEA中连接MySQL数据库,并使用控制台执行SQL语句,还详细讲解了如何使用MyBatisGenerator快... 目录一、连接mysql二、使用mysql三、快速生成实体、接口、sql文件总结一、连接mysql在ID

IDEA如何让控制台自动换行

《IDEA如何让控制台自动换行》本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File-Settings-Editor-General-Console,然后勾选Usesoftwrapsin... 目录IDEA如何让控制台自http://www.chinasem.cn动换行操作流http://www

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://