这个是重中之重的!!必须解决,否则你每敲一行代码就卡你一下午的滋味真的不好受,首先你要有8G内存,没有8G内存的话,下面的应该也有用。但是我还是建议开发起来上8G好一些。 (1)File-Settings-Editor-General- 去掉 show quick doc on mouse move (2)File-Settings-Perferences->Inspections,点Copy,复制一份,名称任意。然后点击下面工具栏中的Reset to empty。保存。 (3)去idea安装路径的bin目录下找到 idea.exe.vmoptions,调整IDEA的启动JVM参数,64位的修改idea64.exe.vmoptions,最小512M最大2048M即可。32位的修改idea.exe.vmoptions,最小256M,最大512M即可。
(1)File-Settings-Editor-General- 去掉 show quick doc on mouse move (2)File-Settings-Perferences->Inspections,点Copy,复制一份,名称任意。然后点击下面工具栏中的Reset to empty。保存。 (3)去idea安装路径的bin目录下找到 idea.exe.vmoptions,调整IDEA的启动JVM参数,64位的修改idea64.exe.vmoptions,最小512M最大2048M即可。32位的修改idea.exe.vmoptions,最小256M,最大512M即可。
(1)ALT+F7 类似于EClipse的 show call history 查看被谁调用 (2)Alt + 回车 智能提示 (3)Shift + Alt + 上下,类似于Eclipse Alt + 上下 把当前选中的上下移动 (4)调试Debug必备快捷键
F9 resume programe 恢复程序Alt+F10 show execution point 显示执行断点F8 Step Over 相当于eclipse的f6 跳到下一步F7 Step Into 相当于eclipse的f5就是 进入到代码Alt+shift+F7 Force Step Into 这个是强制进入代码Shift+F8 Step Out 相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数Atl+F9 Run To Cursor 运行到光标处ctrl+shift+F9 debug运行java类ctrl+shift+F10 正常运行java类alt+F8 debug时选中查看值
(5)Ctrl + B 类似于Eclipse的F3,直接进入某类,就和鼠标+Ctrl是一样一样的。 (6)当修改了java文件时,在IntelliJ中按:‘Ctrl+Shift+F9’ 将重新编译该java文件, 如果修改了多个java文件,按‘Ctrl+F9’ 可以重新编译整个工程。
获取Map集合中所有的key可以通过map集合的keySet()方法获取例如: Map map = new HashMap(); map.put(xx,xx); //存放数据 //.... 省略 Set set = map.keySet(); //可以通过迭代器进行测试 Iterator iter = set.iter...
(1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次启动都用它这个快捷方式就可以了。
(2)继续刚才那个idea目录的bin文件夹,找到idea.exe.vmoptions文件,右键记事本打开,最好建议下载一个notepad++,查看这些各种格式文件很有帮助,调整里面的参数。
(3)idea中有很多不必要的插件,打开目录File>settings>Plugins,平时开发中用不到的插件你把它去掉√。
先看看系统内存,或者是否中并病毒,然后对症下药
1.对着需要更改的单元格,按鼠标右键,选择“设置单元格格式”。
2.单击“数字”选项,选择“自定义”,鼠标按对话框右边滑块,找到“yyyy/m/d”格式,鼠标左键单机一下,在“类型”下,将格式更改为“yyyy/mm/dd”,更改后,可以下“示例”下看到要显示的格式。确定是自己需要的格式后,单击“确定”按钮即可。
1.解决卡顿
这个是重中之重的!!必须解决,否则你每敲一行代码就卡你一下午的滋味真的不好受,首先你要有8G内存,没有8G内存的话,下面的应该也有用。但是我还是建议开发起来上8G好一些。
(1)File-Settings-Editor-General- 去掉 show quick doc on mouse move
(2)File-Settings-Perferences->Inspections,点Copy,复制一份,名称任意。然后点击下面工具栏中的Reset to empty。保存。
(3)去idea安装路径的bin目录下找到 idea.exe.vmoptions,调整IDEA的启动JVM参数,64位的修改idea64.exe.vmoptions,最小512M最大2048M即可。32位的修改idea.exe.vmoptions,最小256M,最大512M即可。
(1)File-Settings-Editor-General- 去掉 show quick doc on mouse move
(2)File-Settings-Perferences->Inspections,点Copy,复制一份,名称任意。然后点击下面工具栏中的Reset to empty。保存。
(3)去idea安装路径的bin目录下找到 idea.exe.vmoptions,调整IDEA的启动JVM参数,64位的修改idea64.exe.vmoptions,最小512M最大2048M即可。32位的修改idea.exe.vmoptions,最小256M,最大512M即可。
2.每次打开IDEA都会有一个进度条idea updating indices
删掉 c:/user/.IntellIJIdea14/system/caches 这个文件夹,然后 file - Invalidate Caches / Restart,点击Invalidate Caches按钮 之后,Idea会重启,重启完了,会再次updating indices,之后你随便关闭都哦了~~
3.IDEA不实时编译
话说,还是让它实时编译的好,因为有时候不编译挺难受的。
参考:http://www.mincoder.com/article/2365.shtml
http://my.oschina.net/fdblog/blog/172229
4.Jetty 热部署
参考:http://www.cnblogs.com/java-koma/archive/2012/11/30/2796737.html
5.重要的快捷键
(1)ALT+F7 类似于EClipse的 show call history 查看被谁调用
(2)Alt + 回车 智能提示
(3)Shift + Alt + 上下,类似于Eclipse Alt + 上下 把当前选中的上下移动
(4)调试Debug必备快捷键
(5)Ctrl + B 类似于Eclipse的F3,直接进入某类,就和鼠标+Ctrl是一样一样的。
(6)当修改了java文件时,在IntelliJ中按:‘Ctrl+Shift+F9’ 将重新编译该java文件,
如果修改了多个java文件,按‘Ctrl+F9’ 可以重新编译整个工程。
6.一个窗口开启多个项目
用Eclipse的我们都知道,一个workspace里面放置多个工程,彼此依赖啊项目什么的玩的66的,然而IDEA,新手刚上来也想要这种效果就是IDEA一个窗口里面运行多个项目,有些人说这是不科学的,他们都是一个窗口开WEB,一个窗口开Java项目,或者另一个Web项目。
下面我说下我的办法,其实是利用IDEA的Module模式,首先引入Web项目,之后再引用它依赖的项目,只不过有一定的操作步骤,跟我前来。
导入Web项目
打开项目管理器Project Structure,选择Modules,点加号,然后将它所依赖的模块导入进来
还是项目管理器Project Structure,选择Modules,点Web主项目,再点右边的加号,选择Module dependency,之后选择它依赖的模块,就算是引入进来了
这还没有结束,因为,你还想在Debug的时候,通过进入类的方法,不进入Class文件,直接进入它所依赖的模块的源码中,这就需要这么玩,把你的项目放在maven或者jar之前就行啦。下面这样操作。
intellij idea是一个功能强大的ide,它本身也是运行在jvm上的。由于它自带大量插件,又能让用户自己安装各种插件,加上本身的搜索系统和智能提示为了使人感觉速度飞快而在内存中缓存了很多东西,使得内存不够的情况下,会不停的进行垃圾回收,导致卡顿。因此,优化intellij idea的速度的核心在与减少内存使用和增加jvm内存上限。下面介绍具体做法。
减少内存使用
不常用的模块去掉,intellij不提倡我们把所有东西都放到项目列表里面,所以一个窗口只能打开一个工程。所以不常用的,相互没有关系的模块,不要放到一个工程里面。这样能减少内存的使用。
找到设置界面
进入插件设置界面,把不需要的插件的对勾去掉,勾选的过程中可以点击apply暂存。
点击ok以后,窗口关闭,跳出一个新窗口,询问你是否需要立即启动使改动生效,先别管他,修改好jvm参数再重新启动。
END
调高jvm内存
在idea安装目录的bin目录下,找到idea.exe.vmoptions与idea64.exe.vmoptions两个文件。
用记事本打开它
里面的内容改成这样
-Xms1024m
-Xmx4096m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+DisableExplicitGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Xverify:none
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
我的电脑是8G内存的,如果你电脑的内存更小,可以把前三个数字都适当调小一些。
END
检查效果
如果你的intellij idea使用一会以后,cpu占用率不高,这就达到我们要的效果了
程序慢:代码是不是有问题?代码执行逻辑太长,有明显的速度缺陷,查库写库慢,不是代码或程序的原因,那就电脑原因,配置差,旧电脑。
解决办法:代码问题:优化;查库写库问题:优化;电脑问题:不想将就就换
1、不常用的模块去掉
2、进入插件设置界面,把不需要的插件的对勾去掉,勾选的过程中可以点击apply暂存。
杀死占用电脑内存大的进程,释放CPU资源
相关问题推荐
100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...
1、相同点(1)都是表现层框架,都是基于MVC设计模型(2)底层都离不开 Servlet API(3)处理请求的机制都是一个核心控制器2、不同点(1)SpringMVC的入口是Servlet,而Struts2的入口是Filter(2)SpringMVC是基于方法设计的,而Struts2是基于类(3)SpringMV...
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结...
获取Map集合中所有的key可以通过map集合的keySet()方法获取例如: Map map = new HashMap(); map.put(xx,xx); //存放数据 //.... 省略 Set set = map.keySet(); //可以通过迭代器进行测试 Iterator iter = set.iter...
Java中有八种数据类型,基础数据类型分别是:byte,short,int,long,float,double,char,boolean,引用数据类型分别是:数组,类和接口。方法传参的时候我们有两种,一种是形式参数(定义方法时写的参数),一种是实际参数(调用方法时给的具体值)。首先...
现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。分布式架构其实就是分布式系...
1、监控GC的状态使用各种JVM工具,查看当前日志,分析JVM参数的设置,分析堆内存快照和GC日志,根据实际的各区域的内存划分和GC的执行时间,判断是否需要进行优化2、分析结果、判断是否需要优化如果各项参数设置合理,系统没有超时的日志出现,GC频率也不高,...
从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。单机对比1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。在自己的计算机上测试了一下,导入的性能大概是:14分钟导入 ...
操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进 程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能 继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解 ...
MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以...
学vue应该要先学习javascript 的基础知识和用法。
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用...
是一个文件服务器,用来上传下载文件.它是一个分布式集群的.分2个角色调度和存储.上传时配置调度后上传.用的时候需要搭建.如果不会搭建想省事还可以选择阿里的oss .项目中应用还是比较多的因为一般项目都有文件上传和下载.选择目前就这2种方案.根据公司情况选...
使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。实现方式:String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。...
一、装箱和拆箱原始类型转换为对象类型就是装箱,反之就是拆箱。原始类型byte,short,char,int,long,float,double,boolean对应的封装类为Byte,Shor,Character,Integer,Long,Float,Double,Boolean.二、源码解读自动装箱时编译器调用valueOf将原始类型值转换成对...