IntelliJ IDEA 学习二

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

IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度

 

在某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,基本上百分八十的可能 IntelliJ IDEA 都会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。也有一些即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出问题。那么解决方法如下:

 

清除缓存和索引

IntelliJ IDEA 已经自带提供清除缓存、索引的路口

 

File – Invalidate Caches / Restart...

 

清除缓存和索引

 

  • 一般建议点击 Invalidate and Restart,这样会比较干净。
  • 但是有一个需要提醒的是,如上图红圈标注的地方:清除索引和缓存会使得 IntelliJ IDEA  Local History 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 LocalHistory 目录。目录地址在:C:\Users\当前登录的系统用户名\.IntelliJIdea14\system\LocalHistory 建议使用硬盘的全文搜索,这样效率更高。

通过上面方式清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件而已,所以如果你不用上述方法也可以删除整个 system。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 system 目录以及对应项目缓存和索引。

如果你遇到了因为索引、缓存坏了以至于项目打不开,那也建议你可以直接删除 system 目录,一般这样都可以很好地解决你的问题

 

其他

其他

目前我电脑的 IntelliJ IDEA 是新装的,也就打开了几个小项目,所有打开的项目大小加起来不到 5M,但是他们创建的索引大家就已经上百兆了,如上图所示。所以如果你 C 盘空间不足的情况下,最好转移下system 目录

 

IntelliJ IDEA 编译方式介绍

相比较于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也支持通过设置开启实时编译,但是不建议,因为太占资源了。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还有就是在容器运行之前配置上一个编译事件,先编译后运行。默认下 IntelliJ IDEA 也都是这样的设置,所以实际开发中你也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译,但是对于代码检查完全是没有影响。但是多个类之间的关联关系还是要等 Make Rebuild 触发的时候才会做相关检查的。

 

IntelliJ IDEA 里,编译方式一共有三种:

  • Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
  • Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。
  • Make:使用最多的编译操作。对选定的目标(Project Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。

 IntelliJ IDEA 编译触发按钮

  • 如上图标注 1 所示,Compile 的操作有:Compile 指定类
  • 如上图标注 1 所示,Rebuild 的操作有:Rebuild Project
  • 如上图标注 1 所示,Make 的操作有:Make ProjectMake Module

编译器的设置和选择

 编译器的设置和选择

  • 上图标注 1 所示,也是我们本文前面讲的,IntelliJ IDEA 是支持自动编译的,默认是不开启的,也建议不用开启,原因前面已经说了。
  • 上图标注 2 所示,设置编译 heap 大小,默认是 700,建议使用 64 位的用户,在内存足够的情况下,建议改为 1500 或以上。如果你在编译的时候出错,报:OutOfMemoryError,一般也是要来改这个地方。
  • 上图标注 3 所示,还可以设置编译时的 VM 参数,这个你可以根据需求进行设置,一般人是用不上的。

编译器的设置和选择

  • 如上图标注 1 所示,可以添加目录 或 文件进行编译排除。
  • 在项目中,如果有任何一个可编译的文件无法编译通过,则 IntelliJ IDEA 是无法运行起来的,必须等你全部问题解决,编译通过之后才可运行。但是可能开发过程中,某一个包目录的文件编译无法通过,但是我们又不急着改,那我们就可以考虑把该包加入到排除编译列表中,则项目就可以运行起来。

编译器的设置和选择

  • 如上图动态 Gif 所示,IntelliJ IDEA 支持常见的几种编译器:JavacEclipseAjc 等。默认是Javac,也推荐使用 Javac
  • Project bytecode version 针对项目字节码编译版本,一般选择的是当前项目主 JDK 的版本。
  • Per-module bytecode version 可以针对 Project 下各个 Module 的特殊需求单独设置不同的 bytecode version,前提是电脑上必须有安装对应的 JDK 版本。

SDKSoftware Development Kit)介绍

SDK 介绍

  •  Ctrl + Shift + Alt + S 弹出项目结构设置区,如上图所示。
  • 如上图标注 1 所示,IntelliJ IDEA 支持 6 SDK。最常用的就是 JDK  Android SDK,其中在创建Android SDK 的时候如果你没有先配置一个 JDK 的话,IntelliJ IDEA 则会提示你要先配置一个 JDK,然后才能配置 Android SDK
  • 如上图标注 2 所示,下拉会展示已经创建的所有 SDK,可以很方便地不同 SDK 中切换。在开发 Java 项目过程中,由于 IntelliJ IDEA 支持管理多个 JDK,所以你完全不用担心你系统上不同项目需要不同JDK

转:http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/project-composition-introduce.html

IntelliJ IDEA 缓存和索引介绍和清理方法     清除缓存和索引  
  • 一般建议点击 Invalidate and Restart,这样会比较干净。
  • 但是有一个需要提醒的是,如上图红圈标注的地方:清除索引和缓存会使得 IntelliJ IDEA  Local History 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 LocalHistory 目录。目录地址在:C:\Users\当前登录的系统用户名\.IntelliJIdea14\system\LocalHistory 建议使用硬盘的全文搜索,这样效率更高。

猜你喜欢

转载自z724130632.iteye.com/blog/2310755
今日推荐