原文地址:https://www.iflym.com/index.php/code/201404190001.html

本文英文原文自:https://intellij-support.jetbrains.com/entries/23455956-Selecting-the-JDK-version-the-IDE-will-run-under

在java开发过程中,我们一般使用32位的jdk,因为开发过程中需要频繁地重启应用,并且需要占用内存少,所以对于64位的jdk来说就没有多大的必要.但对于在开发中使用的IDE来说,却需要长时间的运行,如果能够优化IDE的运行效率,那么对于编码本身就有很大的帮助,谁也不想在编码中机器响应慢(想一下按个提示键,等半天的情况).这时候,使用64位的server版jvm就很有必要了.即IDE使用64位server版JVM,而开发使用32位jdk.

本文介绍如何在intellij idea中配置64位的jdk,以便让idea启动时使用64位的jdk,而不是默认的32位.主要介绍idea是如何查找jdk,进行配置使用的.

在idea提供的安装包中,绑定了默认的一个jdk版本,一般情况下我们只需要使用这个jdk就行了。只不过这个jdk是32位的,意味着我们只能支持双击idea.exe来启动idea。

如果需要使用64位的idea,那么需要我们自己安装一个64位的jdk,然后idea64.exe按照一定的查找规则来找到64位的jdk,如果没找到,则直接报错。当然,我们也可以通过idea.bat这个脚本来配置相应的信息,来定制这个查找过程。

32位Idea.exe

32位的idea(即使用idea.exe)将会使用以下的搜索顺序
1    环境变量 IDEA_JDK(可以在高级属性的环境变量中配置)
2    使用在安装目录下的jre目录中的jdk,这个是32位的。
3    使用注册表(这个不清楚怎么查找)
4    使用JDK_HOME环境配置变量
5    使用JAVA_HOME环境配置变量(我们一般配置的java环境变量)

64位Idea64.exe

64位的idea(即使用idea64.exe)将会使用以下的搜索顺序
1    环境变量IDEA_JDK_64(这里多了一个_64)
2    使用安装目录下的jre64目录中的jdk,这个默认没有这个目录,我们可以将我们的64位jdk放在这个目录下
3    注册表
4    JDK_HOME环境变量,要求这个环境变量中的jdk必须是64位的,否则不会使用这个jdk
5    JAVA_HOME环境变量,也要求这个变量中的jdk也要是64位的

这个和32位中的主要区别在于IDEA_JDK的配置变量名称不一样,同样基于目录的查找使用的目录名不一样。这样的话,我们就可以即保留32位的配置, 也可以保存64位的配置,使用idea.exe或者idea64.exe时就会直接使用相应配置的信息,而不会覆盖之前的配置或者切换的时候进行修改了, 算是一种方便处理的方法吧。

使用Idea.bat

如果我们使用idea.bat,则会按照以下的搜索顺序
1    IDEA_JDK配置变量(如果这个版本为32位,就会启动32位版本,否则就会启动64位版本)
2    安装目录下的jre目录
3    配置变量JDK_HOME
4    配置变量JAVA_HOME

使用idea.bat的话,就会根据获取到的jdk版本来启动相应版本的idea。其实就是依靠jdk来运行idea(话说idea就是java写的)。不过有点麻烦的就是,这个会产生一个cmd黑框。

备注
以上说到的配置变量必须是JDK安装目录,而不是JRE安装目录。如果我们查看idea自带的jre目录,你会发现这其实也算是一个jdk,只不过idea把相关不需要的信息全都删除了。只留下里面的jre目录和运行时需要的信息。

相应的英文原文如下所示,这里将其copy过来.

JDK is bundled with all the product installers and it's recommended that you will use the provided JDK version unless there are any specific issues.

32-bit JDK is located in IDE_HOME\jre directory and is used by the 32-bit product executable.
To run the IDE in 64-bit mode you will need to download and install 64-bit JDK (not JRE) distribution and install it yourself. IDE will find and use it from the registry when you run the 64-bit .exe file (available only for IntelliJ IDEA right now, other products can use the .bat file to run in 64-bit mode).

<product>.exe uses this JDK search sequence:

  1. IDEA_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK environment variable (depends on the product, WEBIDE_JDK applies to both WebStorm and PhpStorm)
  2. ..\jre directory
  3. system Registry
  4. JDK_HOME environment variable
  5. JAVA_HOME environment variable

idea64.exe uses this JDK search sequence:

  1. IDEA_JDK_64 environment variable
  2. ..\jre64 directory
  3. system Registry
  4. JDK_HOME environment variable
  5. JAVA_HOME environment variable

It’s also possible to start the IDE with <product>.bat file located in the bin directory, it uses the following JDK search sequence:

  1. IDEA_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK environment variable (depends on the product)
  2. ..\jre directory
  3. JDK_HOME environment variable
  4. JAVA_HOME environment variable

【转】在windows中使用Intellij Idea时选择自定义的64位JVM的更多相关文章

  1. Idea 配置启动JDK___在windows中使用Intellij Idea时选择自定义的64位JVM

    略过下面的叙述快速配置 配置你的Idea启动jdk  (Idea15之后的版本启动不要JDK1.8) 添加环境变量IDEA_JDK_64,配置和JAVA_HOME环境变量相同,路径写到1.8的jdk就 ...

  2. [转]Windows10中Virtualbox没办法选择和安装64位的Linux系统

    本文转自:https://blog.csdn.net/strivenoend/article/details/78290325 明明在公司的WIN7系统中使用Virtualbox就可以安装64位的Ub ...

  3. Windows 7 Ultimate(旗舰版)SP1 32/64位官方原版下载(2011年5月12日更新版)

    MSDN于2011年5月12日,最新发布简体中文Windows 7 Ultimate 旗舰版 SP1 DVD镜像安装包,分32位和64位两个版本.最新发行代号分别是:677486(32位),67740 ...

  4. [转] 关于VS中区分debug与release,32位与64位编译的宏定义

    在vs编程中,常常涉及到32位和64位程序的编译,怎么判断当前编译是32位编译还是64位编译?如何判断是debug下编译还是release下编译?因为之前用到,这里记录一下,省的忘了又要疯狂的goog ...

  5. (转载)Windows 7 Ultimate(旗舰版)SP1 32/64位官方原版下载(2011年5月12日更新版)

    MSDN于2011年5月12日,最新发布简体中文Windows 7 Ultimate 旗舰版 SP1 DVD镜像安装包,分32位和64位两个版本.最新发行代号分别是:677486(32位),67740 ...

  6. Windows 7 Ultimate(旗舰版)SP1 32/64位官方原版下载地址

    MSDN于2011年5月12日,最新发布简体中文Windows 7 Ultimate 旗舰版 SP1 DVD镜像安装包,分32位和64位两个版本.最新发行代号分别是:677486(32位),67740 ...

  7. 在Visual Studio项目中根据系统平台自动引用32或64位的DLL

    最近在使用Noesis.Javascript.dll,但是这个DLL是有X86与X64二种版本的,我自己的电脑是64位的,但是别人的电脑是32位的.所以在别人那里使用的时候出了问题. 在VS里怎么引用 ...

  8. Windows 10安装IntelliJ IDEA时快捷键冲突设置

    Windows的快捷键的非常多,而且个性化软件获得这些权限的也很多,所以没有最终的方法,只能不断的发现和尝试. 下面是收集的一些教程,或许能在这里找到灵感: 切记:不建议优先修改IDEA的快捷键,应该 ...

  9. Delphi - 让Delphi10.2在Windows下开发的图形界面程序运行在64位Linux中!

    FmxLinux官网:https://fmxlinux.com/ 参考: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Linux_Applica ...

随机推荐

  1. Oracle-归档日志详解(运行模式、分类)

    一.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和            redo log 重做日志(记录数据库的更改 ...

  2. Android应用安全之WEB接口安全

    Android应用安全不仅包括客户端的安全,也包括web接口的安全.移动App中的Web接口安全主要分为以下几块: 1.SQL注入漏洞 这是一个不能再常见的漏洞类型了,由于App的特性,开发人员认为使 ...

  3. Android应用安全之数据传输安全

    Android软件通常使用WIFI网络与服务器进行通信.WiFi并非总是可靠的,例如,开放式网络或弱加密网络中,接入者可以监听网络流量:攻击者可能 自己设置WIFI网络钓鱼.此外,在获得root权限后 ...

  4. 2017-2018-2 20155203《网络对抗技术》 Exp7:网络欺诈防范

    1.基础问题回答 (1)通常在什么场景下容易受到DNS spoof攻击 连接无线网络,和恶意攻击者处在同一局域网下. (2)在日常生活工作中如何防范以上两攻击方法 首先决不去点击浏览器都认为不安全的网 ...

  5. 20155210 EXP6 信息搜集与漏洞扫描

    20155210 EXP6 信息搜集与漏洞扫描 信息搜集 外围信息搜集 通过DNS和IP挖掘目标网站的信息 whois 域名注册信息查询 我们通过输入whois qq.com可查询到3R注册信息,包括 ...

  6. python 带参数的多重继承

    1. 不带参数的多重继承 # 作者:hhh5460 # 时间:2017.07.18 class A(object): def show_x(self): print('A') class B(obje ...

  7. LSTM生成尼采风格文章

    LSTM生成文本 github地址 使用循环神经网络生成序列文本数据.循环神经网络可以用来生成音乐.图像作品.语音.对话系统对话等等. 如何生成序列数据? 深度学习中最常见的方法是训练一个网络模型(R ...

  8. 一个可以代替冗长switch-case的消息分发小框架

    在项目中,我需要维护一个应用层的字节流协议.这个协议的每条报文都是一个字节数组,数组的头两个字节表示消息的传送方向,第三.四个字节表示消息ID,也就是消息种类,再往后是消息内容.时间戳.校验码等……整 ...

  9. vue JointJS 实例demo

    前言 越来越发现,前端深入好难哦!虐成渣渣了. 需求:前端绘制灵活的关系图(此demo还是简单的,我的需求才跨出一小步) 安装 npm install jointjs 容器,工具栏 <templ ...

  10. NodeJs学习一NodeJs初识

    一.前言 按照惯例,先扯淡,就因为这货,现在才有了各大公司招聘的全栈工程师,正是因为它,让以前只会写前端的人也能写起后端服务器代码来了.所以呢,你招一个会NodeJs的前端,它都能把后端干了,一个人干 ...