IntelliJ IDEA 缓存和索引的介绍及清理方法

在博文“ 详述 IntelliJ IDEA 的使用界面 ”中,博主说过这样一句话“ 对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,大型项目在创建索引的过程中可能会出现卡顿的现象,因此强烈建议在 IntelliJ IDEA 创建索引的过程中不要动项目。 ”那么,索引到底是干什么用的呢?在本篇博文中,就让咱们一起了解索引的用途,对了,还有缓存。

IntelliJ IDEA 的缓存和索引主要是用来加快文件查询的速度,从而提高各种查找、代码提示等操作的速度,因此索引对 IntelliJ IDEA 的高效性来说,具有至关重要的作用。但是,IntelliJ IDEA 的缓存和索引并不一定总是起到积极的作用,有的时候,反而会因为缓存和索引的损坏,例如突然断电、蓝屏引起的强制关机等等,造成 IntelliJ IDEA 出现一些莫名其妙的问题,例如项目打不开、个性化设置还原等等。

现在,大家不用愁了,接下来,就让咱们一起看一看如何清理缓存和索引:

如上图所示,File下的Invalidate Caches / Restart就是清理缓存和索引的入口,表示“ 无效缓存或者重新启动 ”,点击进入如下界面:

  • 标注1:无效并重启;
  • 标注2:无效缓存;
  • 标注3:重新启动;
  • 标注4:警告提示。

如上图所示,一般建议点击Invalidate and Restart,这样会清理的比较干净。但是,有一点需要注意,那就是:标记4 所示的WARNING表示如果咱们选择清理缓存和索引,那么 IntelliJ IDEA 的“ Local History ”也会被一并清理掉。因此,如果咱们的项目没有加入到版本控制,而咱们又需要项目文件的历史更改记录,那最好备份下该目录,其地址为“ C:\Users\当前登录的系统用户名\.IntelliJIdea\system\LocalHistory ”。

通过上面的方式清除缓存和索引的本质其实就是删除 C 盘下的“ system ”目录下的对应的文件,因此如果咱们不用上述的方法,也可以直接删除整个“ system ”目录,这样的话,当 IntelliJ IDEA 再次启动项目的时候就会重新创建新的“ system ”目录以及对应项目缓存和索引。如果咱们遇到了因为缓存或者索引出现问题以至于打不开项目的时候,建议直接删除“ system ”目录,一般这样都可以很好地解决咱们的问题。

此外,还有一点需要咱们注意,那就是:在安装 IntelliJ IDEA 的时候,默认是不启用system目录的,因此想要记录“ Local History”,就得咱们手动设置啦!具体如何设置,可以参考博文“ IntelliJ IDEA 安装目录的核心文件讲解 ”。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏决胜机器学习

《高性能MySQL》读书笔记(一) ——MySQL架构及重要属性概述

《高性能MySQL》读书笔记(一)——MySQL架构及重要属性概述 (原创内容,转载请注明来源,谢谢) 一、MySQL逻辑架构 1、三层架构 ...

47290
来自专栏架构师之路

数据库中间件mysql-proxy细节【mysql官方的中间件】

一、mysql-proxy简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个my...

83140
来自专栏GreenLeaves

Oracle 客户端管理软件安装

1、首先,先说明下为什么要安装Oracle客户端管理工具? 因为Oracle服务端过大,而且消耗的资源过多,大部分公司会把服务端装在公司的服务器上,而不会装在员...

22450
来自专栏静下来

Linux CentOS常用命令记录

我自己很少参与服务器管理,所以偶尔用下,老是忘记一些常用的命令。 人老了,啥事都记不住,各种密码也是,经常靠找回密码登录一些网站。 一:解压压缩 我比较常用ta...

32580
来自专栏信安之路

Android组件安全

组件是一个Android程序至关重要的构建模块。Android有四种不同的应用程序组件:Activity、Service、Content Provider和Br...

24620
来自专栏散尽浮华

Mysql读写分离方案-Amoeba环境部署记录

Mysql的读写分离可以使用MySQL Proxy,也可以使用Amoeba。Amoeba(变形虫)项目是一个类似MySQL Proxy的分布式数据库中间代理层软...

755100
来自专栏程序猿DD

12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

MySQL 是世界上最流行的开源数据库系统,MariaDB(一个 MySQL 分支)是世界上增长最快的开源数据库系统。在安装 MySQL 服务器之后,在默认配置...

389100
来自专栏公众号_薛勤的博客

使用hibernate造成的MySql 8小时问题解决方案

mysql5之前的版本,可以在jdbc连接的url中加入:autoReconnect = true

9010
来自专栏铭毅天下

探究 | Elasticsearch如何物理删除给定期限的历史数据?

想到删除,基础认知是delete,细分为删除文档(document)和删除索引;要删除历史数据,基础认知是:删除了给定条件的数据,用delete_by_quer...

56710
来自专栏杨建荣的学习笔记

mysql pump和mysql dump的性能大比拼(r12笔记第90天)

昨天测试了一下mysqlpump,今天来把剩下的补充完成,算是一个小的系列。 mysqlpump 在MySQL 5.7中做逻辑备份恢复有了一个新的工具my...

37770

扫码关注云+社区

领取腾讯云代金券