.net基础学java系列(二)IDE
上一篇文章.net基础学java系列(一)视野
废话:
“视野”这篇文章,管理员说它比较空洞!也许初学者看不懂表格中的大部分内容!多年的neter估计也有很多不知道的!
有.net的基础再学java,其实并不难,只不过要有更多的付出而已,但是懂多一门技术多一条出路,你说呢?
小公司一直在模仿大厂,
- 华为 DevOps 转型之旅
- 微软 DevOps 转型之旅
从未得要领,却要求有狼性效应!DevOps,在各个公司的转型过程中表现不同,所获得的成果不同 —— “全栈工程师”,“全能员工” 是目前大环境下企业所急迫需要的,但也是最容易动了别人奶酪的一类人!
工欲善其事,必先厉其器
要知道,现在(2019-03-17)很多neter,都没有使用最新版本的Visual Studio!为什么呢?因为Out!因为累!因为不思进取!一部分老的neter,特别是做上位机的neter,他们居然不懂.net可以做web服务!
现在neters,最熟悉的IDE莫过于Visual Studio!即Visual Studio (2003-2019)+ Visual Studio Code。
很遗憾的是,作为一名老的neter,本人习惯了Visual Studio(2013-2017),习惯了他们的主题!Visual Studio Code我一般只用来写MarkDown!辗转java,如何选择IDE是一件值得纠结的事情!
比较IDE
- 现在Java界最火的IDE是 JetBrains 出品的 IntelliJ IDEA,所以要大势所趋!
- 本人最熟悉的是C# + Visual Studio(2013-2017),所以要体验下JetBrains Rider。
- 本人次熟悉的是Visual Studio Code,所以要体验下Language support for Java。
- 当然,本人也学过Android、Python、Go的基本语法,却从未入坑。后续也会用下JetBrains的Pycharm、GoLand。
深入IDEA
IDEA
- 下载:官网上的文件永远是最新的发布版,到官网(https://www.jetbrains.com/)下载。其实,使用官网的Toolbox安装更便捷,我一次性就下了4个:IntelliJ IDEA、JetBrains Rider、GoLand、Pycharm。
- 安装:略。
- 注册:作为一个学习者,注册问题基本上困扰着每一个人。
- 正版注册:略
- 学习注册:http://idea.lanyus.com
- 安装完之后的目录,我们对比下

剖析 IDEA (JetBrains Rider) 的目录结构
正常而言,一个软件安装完成之后,不需要用户去关心软件的安装目录和其中的文件才是合理的。但是深入地剖析一下 IntelliJ IDEA 安装后的文件和目录结构,给我带来了意外的收获。
整体结构
首先,我们需要知道 IntelliJ IDEA 本身就是一个 Java 应用,所以必须运用于 JRE或者JDK之上。我们看一下该软件安装后的整体目录结构,如下图:
bin是IDEA的可执行代码目录。help是IDEA的帮助文件目录。- 打开ReferenceCard.pdf、ReferenceCardForMac.pdf,发现是快捷键说明文档)
- 本人英语四级考了4次,每次都是差一点才过。可以说明,英语能力那是一般中的一般,而且还有英文密集恐惧症,那怎么办?
- 作为开发,PDF转HTML难道不懂?自己实现?no!肯定是找线上的!比如:http://www.pdfdo.com/pdf-to-html.aspx
- 网页翻译,百度网页翻译?省省吧!翻译最好的要找谷歌,利用最新Chrome浏览器,右键“翻译成中文”。
jre64是IDEA自带的JRE环境,故IDEA可在未安装JDK的计算机上进行PHP、Python等语言的编码。lib是IDEA依赖的库文件目录,里面有很多的 Jar 文件。- 其实之前也捣鼓过Idea,说到底是要深入了解学习,所以这个目录我进入看了!
- 统计了下有4个文件夹,有199个Jar文件,我看到了作为一个老neter不少熟悉的字眼:httpclient等!
- 每个Jar文件都有什么用途?(待)
license是IDEA的许可证文件目录。plugins是IDEA的插件目录。- 为了深入学习,我们再进入这个目录看看!
- 统计了下有134个文件夹,我又看到了作为一个老neter不少熟悉的字眼:restClient、WebServices
、WebSocket等! - 每个插件到底有何用途?(待)
redist是IDEA中索引机制所依赖的redist库目录。- 两个 .txt 说明文件和一个注册表项文件。
执行结构
如果只为了熟练掌握 IntelliJ IDEA(JetBrains Rider等) 的使用和配置,仔细查看所有的文件和目录是没有必要的,本文主要看看其中的 bin 目录的几个重要文件。
idea.exe文件是IntelliJ IDEA32位的可执行文件。idea.exe.vmoptions文件是IntelliJ IDEA32位的可执行文件的 JVM 配置文件。idea.properties文件是IntelliJ IDEA的一切全局属性的配置文件。idea64.exe(rider64.exe等)文件是IntelliJ IDEA(JetBrains Rider)64位的可执行文件。idea64.exe.vmoptions(rider64.exe.vmoptions等)文件是IntelliJ IDEA(JetBrains Rider) 64位的可执行文件的 JVM 配置文件。
idea64.exe.vmoptions 文件
正如我们前面所述,IntelliJ IDEA 本身就是一个 Java 应用,所以也必须运行于 JVM 之上。此处的 idea64.exe.vmoptions 文件就是用来配置64位的 IDEA 所使用的 JVM 参数。我们看一下该文件的默认内容:
对于是否需要修改该文件,需要具体情况具体分析。对于计算机内存配置大于 8G,开发的项目功能复杂的情况,可以进行适当的修改,具体修改值可以通过分析工具,比如 Jconsole等,进行实际情况分析。
idea.properties 文件
虽然 IntelliJ IDEA 分成了32位和64位两种,但是只存在一份 idea.properties 文件。该文件的主要作用是完成 IntelliJ IDEA 的一些个人化配置。该文件内容较多,我们只截图了其中的部分内容:
- 该文件中使用了几个属性变量,比如
$(idea.home.path)代表了IDEA安装的顶级目录,$(user.home)表示用户的根目录等。 idea.config.path=${user.home}/.IntelliJIdea/config指向IntelliJ IDEA的个性化配置目录,默认不启用。idea.system.path=${user.home}/.IntelliJIdea/system指向IntelliJ IDEA的系统文件目录,默认不启用。idea.max.intellisense.filesize=2500文件超过此处设置的大小后,关闭该文件的智能检查和提示等功能,有效消除大文件的卡顿问题。idea.cycle.buffer.size=1024设置控制输出台的缓存大小,解决大项目时,控制台缓存溢出的问题。
个性配置
现存的三个主流操作系统中,无论是 Windows、macOS 还是 Liunx,都是支持多用户的。IntelliJ IDEA 支持同一台计算机上的多个用户使用不同的配置选项。所以,在用户的主目录下都具有 IDEA 的个性化配置目录,如下图所示:

- 该配置目录的最显著特点是:如果删除整个目录,重启
IntelliJ IDEA会自动重新生成一个全新的默认配置目录。所以,我们完全可以对 IDEA 进行大胆地修改和配置尝试,一旦需要恢复配置,删除该配置目录就可以了。 config目录是IntelliJ IDEA个人性配置的保存目录,这个目录记录了该 IDE 的所有主要配置值、自定义的代码模板、自定义的快捷键、自定义的文件模板、插件的启用与停用记录等重要信息。实际上,安装新版本IntelliJ IDEA时的默认查找目录就是该目录。system目录是IntelliJ IDEA的系统文件目录,这个目录记录了该IDE所管理的所有项目信息。该目录主要存储了项目的索引、缓存、容器文件输出等重要资料。
主题
我把JetBrains Rider的UI Settings 通过 file –> export settings 导出到了压缩文件,再将其导入到 IntelliJ IDEA,希望能能保留点Visual Studio的影子,找回点熟悉感觉!
idea代码字体模糊
通过 `file` -> `settings` -> `editor` -> `font` 下设置font 为 consolas 或者其他几种,都不会再虚化。
官网资料
官方的资料一直都是最权威的,也是更新最及时的,我们点击 IntelliJ IDEA 的菜单 Help –> Help,便可以定位到:
https://www.jetbrains.com/help/idea/meet-intellij-idea.html
真TMD都是英文的,哥们英文真一般,那么请谷歌浏览器帮忙吧!右键“翻译成中文”,英文跟中文对比着看,这英文密集恐惧症就不会发作了。
创建SpringMVC项目
大概文件结构如下,明天上班请教下Java同事,各目录的用途!

完了,截图有水印,等下又要被通报说泄露公司代码了!
Visual Studio Code体验Java
因为本人之前一直在肤浅的使用Visual Studio Code,故具体的下载、安装就省略了,关于Visual Studio Code的文档,请打开Visual Studio Code,点击菜单栏 –> 帮助 –> 文档,它会帮我们定位到:
https://code.visualstudio.com/docs
怎么用Visual Studio Code写Java
我们在https://code.visualstudio.com/docs右上角的输入框中输入java,然后回车

差不多就这样了!后续几天还需要继续捣鼓IDE、捡回Core Java。然后这一系列再继续下去吧!
.net基础学java系列(二)IDE的更多相关文章
- .net基础学java系列(二)IDE 之 插件
上一篇文章.net基础学java系列(二)IDE "扎实的基础"+"宽广的视野",基本可以帮我们摆脱码畜.码奴.码农的命运! IT领袖:IT大哥:IT精英:IT ...
- .net基础学java系列(三)徘徊反思
.net基础学java系列(三)徘徊反思 上一篇文章:.net基础学java系列(二)IDE 之 插件 这两天晚上看完了IDEA的教学视频:https://edu.51cto.com/course/1 ...
- .net基础学java系列(四)Console实操
上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto ...
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- .net基础学java系列(六)Java基础
一.废话 .net学java为何一直没入坑?其实大家都知道,语法很相似,就是使用的习惯不同 稍微的语法差异 结构体系不同 IDE不同 类库集不同 各种框架不同 对于我来说,我一直被第三道坎拦住了,所以 ...
- .net基础学java系列(一)视野
本文目的在于扩展你我视野,求各位大神帮忙补充下表格中的内容,特别是Java的相关内容. 下面的文字纯是为了凑足150个字. 本人作为一名普通的.net程序员,也快混了十年了.在.net方面的知识面较广 ...
- .net基础学java系列(五)慢性自杀 之 沉沦在IDE中
最近在慢学习IDEA,总是喜欢与Visual Studio! 其实,对于Visual Studio,它的官方(https://docs.microsoft.com/zh-cn/visualstudio ...
- 辛巴学院-Unity-剑英陪你零基础学c#系列(二)顺序
这不是草稿 辛巴学院:正大光明的不务正业. 上一次的教程写出来之后,反馈还是挺多的,有很多都做了修改,也有一些让人崩溃,不得不说上几句.有些人有些很奇怪的地方,你写篇东西,被看了以后不说他感觉怎么 ...
- .net基础学java系列(八)SpringBoot
嘟嘟独立博客 Spring-Boot干货系列 http://tengj.top/categories/Spring-Boot干货系列/ 龙码精神 Java Spring Boot VS .NetCor ...
随机推荐
- GraphQL
GraphQL 官方描述: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地 ...
- ubuntu16.04安装中文输入法
https://blog.csdn.net/u011795345/article/details/53041707
- 逆FizzBuzz问题求最短序列
问题描述 FizzBuzz问题:一个大于0的自然数能整除3,将输出“Fizz”:能整除5,将输出“Buzz”:能整除3和5,将输出“FizzBuzz”:否则输出自己. 逆FizzBuzz问题最短序列: ...
- linux服务器显卡崩了怎么处理
在登录界面出现分辨率特别大,整个图形界面特别大,并且怎么也登录不上去的情况时 对于这种情况,一般就是显卡驱动崩了的原因,所以我们可以首先检查显卡驱动是否有问题 nvidia -smi 如果出现说驱动链 ...
- selenium自动化测试python
一.环境部署 1.selenium安装 pip3 install selenium 1.安装浏览器驱动 WebDriver 需要通过浏览器驱动来与浏览器交互,以下列出几种常用的浏览器驱动下载地址: C ...
- 八.django模型系统(二)之常用查询及表关系的实现
Ⅰ.常用查询 1.几个概念 每一个django模型类,都有一个默认的管理器,objects,查询就是依赖于objects管理器进行的(在创建时就被添加了). QuerySet表示数据库中对象的列表( ...
- Java基础学习--数组
1.数组的定义: 数组(Array)是相同数据类型的数据的有序集合. 2.数组的3个特点: 2.1数组长度是确定.数组一旦申请完空间,长度不能发生变化,用length属性访问. 2.2数组的元素都是同 ...
- 010 socket定义服务器
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...
- pthread mutex 进程间互斥锁实例
共享标志 定义 名称 描述 0 PTHREAD_PROCESS_PRIVATE 进程内互斥锁 仅可当前进程内共享 1 PTHREAD_PROCESS_SHARED 进程间互斥锁 多个进程间共享 第一个 ...
- RabbitMQ installation
以windows环境测试 Erlang http://www.erlang.org/downloads 下载并安装 运行时软件 Erlang OTP 21.3 Windows 64-bit Binar ...