技术标签: java Java基础 intellij-idea ide
Eclipse IBM公司开发
IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。该公司旗下还有许多其他产品,如:
IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。
InteliJ IDEA曾在2015年的官网上这样介绍自己:
Excel at enterprise, mobile and web development with Java, Scala and Groovy,with all the latest modern technologies and frameworks available out of the box.
简译: IntelliJ IDEA主要用于支持Java、 Scala、 Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和Web应用的开发。
安装插件后支持 | SQL类 | 基本JVM |
---|---|---|
PHP | PostgreSQL | Java |
Python | MySQL | Groovy |
Ruby | Oracle | |
Scala | SQL Server | |
Kotlin |
支持的框架 | 额外支持的语言代码提示 | 支持的容器 |
---|---|---|
Spring MVC | H5 | Tomcat |
GWT | CSS3 | TomEE |
WebServices | SASS | WebLogin |
JSF | LESS | Jetty |
Hibernate | Node.js |
IDEA 分为两个版本:旗舰版(Ultimate)和社区版(Community)。
该处提供了不同操作系统下的不同版本的安装文件
两个不同版本的详细对比,可以参照官网:versions compare
建议配置:内存8G或以上,CPU最好 i5 以上,最好安装块固态硬盘(SSD),将IDEA安装在固态硬盘上,这样流畅度会加快很多
操作系统:Microsoft Windows 10/8/7/Vista/2003/XP (32 or 64 bit)
从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是在实际开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有
大量的缓存、索引文件
,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级
首次启动,会弹出如下的对话框。选择不导入已有的设置
tips:软件激活请自行百度
这里根据个人喜好,进行选择,也可以选择跳过(skip all and set defaults)。后面在settings 里也可以再设置主题等。这里选择:Next:Default plugins
设置 IDEA 中的各种插件,可以选择自定义设置、删除,或者安装本身不存在的插件(比如:支持 Scala 的插件)。这里不设置,后面也可以通过界面菜单栏的 settings 进行设置
此处选择 New Project,需要明确一下概念:
IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace
选择指定目录下的 JDK 作为 Project SDK,选择 jdk 的安装路径所在位置:
点击 OK 以后,选择 Next:
此处无需勾选。选择 Next,进入下一个页面:
给创建的工程起一个名字,点击 Finish即可
工程下的 src 类似于 Eclipse 下的 src 目录,用于存放代码
工程下的.idea 和 project01.iml 文件都是 IDEA 工程特有的。类似于 Eclipse 工程下的.settings、.classpath、.project 等
接着在 src 目录下创建一个 package:
在包下 new-class:
不管是创建 class,还是 interface,还是 annotation,都是选择 new – java class,然后在下拉框中选择创建的结构的类型。
接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试
tip:在IDEA中,编写完代码,不用点击保存。IDEA会自动帮助你保存代码
1、在 Eclipse 中有 Workspace(工作空间)和 Project(工程)
的概念,在 IDEA中只有 Project(工程)和 Module(模块)
的概念。这里的对应关系为:
IDEA官网说明:
An Eclipse workspace is similar to a project in IntelliJ IDEA
An Eclipse project maps to a module in IntelliJ IDEA
翻译:
Eclipse中 workspace 相当于 IDEA 中的Project
Eclipse中 Project 相当于 IDEA 中的Module
这也是初学者刚接触IDEA时理不清它们之间关系的原因
2、从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。IntelliJ IDEA 提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口
3、在 IntelliJ IDEA 中 Project 是最顶级的级别
,次级别是 Module
。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构
这类项目一般是这样划分的,比如:core Module、web Module、plugin Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系
的
4、相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。如何创建 Module?
接着选择 Next:
之后,我们可以在 Module 的 src 里写代码,此时 Project 工程下的 src 就没什么用了。可以删掉
此时的删除,会从硬盘上将此 module 删除掉
进入项目结构:
查看对应配置:
IntelliJ IDEA 有很多人性化的设置供我们选择,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它
进入设置界面:
目录结构如下:
这里默认提供了三套主题:IntelliJ,Darcula,Windows。可根据自己的喜好进行选择
插件名称:Material Theme UI
点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:
如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可
启动IDEA时,默认自动打开上次开发的项目?还是自己手动选择?
如果去掉Reopen last project on startup前面的对勾,每次启动IDEA就会出现如下界面:
默认会自动检查更新,建议检查IDE更新的√去掉,检查插件更新的√勾选上
勾选此设置后,按住 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示
在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。多行效率比单行高,因为单行会隐藏超过界面部分 Tab,不方便寻找文件
如果当前主题不希望使用默认字体、字体大小、字体行间距,还可单独设置:
tip:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文
构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程
Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译,很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作
平时我们按shift切换中英文输入方式,经常被按到,总是弹出搜索框,太麻烦了。可以取消它,另一种打开它的方式快捷键(Ctrl+N)
方式1:适用于IDEA 2022.1.2及之后版本
在2022.1及之前版本中,采用如下方式消双击shift出现搜索框:搜索double即可,勾选Disable double modifier key shortcuts,禁用这个选项
双击shift 或 ctrl + shift + a,打开如下搜索窗口:
选择registry…,找到"ide.suppress.double.click.handler",把复选框打上勾就可以取消双击shift出现搜索
框了
它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最显而易见的就是在 Java 中输入 sout 会出现System.out.println();
IDEA 提供了很多现成的 Templates。但也可以根据自己的需要创建新的Template
先定义一个模板的组:
选中自定义的模板组,点击”+”来定义模板
按照如上方式定义个测试方法,然后在 java 类文件中测试即可,可根据需求多创建几个Template!
插件1:Material Theme UI(主题插件)
插件2:GsonFormatPlus(根据 json 生成对象)快捷键:alt + s
插件3:Alibaba Java Coding Guidelines(阿里巴巴Java编码规范检查插件)
插件4:Translation(翻译)
插件5:Rainbow Brackets(彩虹括号)
插件6:CodeGlance Pro(代码缩略图)
插件7:Key Promoter X(快捷键提示)
插件8:Presentation Assistant(显示快捷键操作的按键)
插件9:jclasslib bytecode viewer(可视化字节码查看器)使用方式:idea中打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项
插件10:JavaDoc(文档注释)使用方式:idea中按 alt+insert ,执行操作
文章浏览阅读268次。 今天小编给大家分享百度大脑OCR产品机动车销售发票识别、车辆合格证识别、通用机打发票识别于今天上线计费的消息。据了解百度大脑机动车销售发票OCR、车辆合格证OCR以及机打发票OCR注册即可一次性享有500次免费调用量,使用完毕可开通按量后付费或购买次数包。按量后付费,支持随开随停,灵活方便;次数包预付费,一次购买全年使用,价格低至6.4元/千次,下面来看具体内容: 1,机动车销售发票识别 结构化识别机动车销售发票的26个关键字段,包括:发票代码、号码、开票日期、机器编号、购买方信息、车辆_百度文字识别ocr 车辆合格证
文章浏览阅读164次。一.什么是PEP8PEP 是 Python Enhancement Proposal 的缩写,翻译过来叫“Python 增强规范”。正如我们写文章,会有句式、标点、段落格式、开头缩进等标准的规范一样,Python 书写自然也有一套较为官方的规范。PEP 8 就是这样一种规范,它存在的意义,就是让 Python 更易阅读,换句话,增强代码可读性。二.日常的代码规范缩进规范Python 的缩进其实可以写成很多种,Tab、双空格、四空格、空格和 Tab 混合等。而 PEP 8 规范告诉我们,请选择四个空_python 合理分解代码
文章浏览阅读410次。前言List itemI/O概念 1.缓冲区 2.虚拟内存 3.mmap+write方式 4.sendfile方式Java零拷贝1.MappedByteBuffer2.DirectByteBuffer3.Channel-to-Channel传输Netty零拷贝其他零拷贝总结前言从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能;这个词我们也经常在java nio,netty,kafka,RocketMQ等框架中听到,经常作为其提升性能的一_零拷贝收包
文章浏览阅读961次。开发大型的MIS系统,肯定是离不开第三方控件的,同时也要根据项目需要自己写几个。MicroERP共用了以下几个控件:第三方商业控件:vsFlexGrid:大名鼎鼎的表格控件,不用多说,配合vsPrinter使用开源的基础上修改和自己写的:cash会计凭证用的金额线MDITabs MDI窗体LeftMenu手风琴导航菜单这里着重说一下vsFlexGrid、scriptControl实现工资表自定义列与表间关系计算_vsflexgris 报表
文章浏览阅读7.3w次,点赞56次,收藏200次。Gram-Schmidt正交化 在提到矩阵的QR分解前,必须要提到Gram–Schmidt方法,理论上QR分解是由Gram–Schmidt正交化推出来的。那么Gram–Schmidt正交化究竟是什么呢? 在三维空间存在直角坐标系,其中任意一点都可以由(x,y,z)坐标唯一确定,在这个坐标系中,X、Y、Z三轴都是相互正交(垂直)的。那么在n维欧式空间也应该_qr分解
文章浏览阅读8.9k次,点赞7次,收藏18次。我们通常使用SQlite的时候,如果我们有10张表,我们要写10个建表语句,而建表语句中只有一些字段的名字需要改而已,这样既费时又费力,还容易出错,我们知道写sql语句的时候经常会写错,如果写错程序就会崩掉,而且检查10个建表语句还可以,如果有100条我么就要疯了。这篇文章告诉大家如何通过反射来快速建表。_android 利用反射生成sqlite里的表
文章浏览阅读1.1w次,点赞3次,收藏14次。在VS中添加插件Qt VS Tools,就可以在VS中写QT项目了,但是VS中写QT项目和在QT Creater中并不完全一样,VS中的项目文件结构是:但是如图中的widget.h文件中包含了ui_widget.h文件,但提示无法打开ui_widget.h文件,双击ui_widget.h也无法打开此文件。解决办法如图依次点击,然后等待几秒就可以打开该文件。选中ui_widget.h文件..._qt中ui_widget.h找不到
文章浏览阅读256次。目录:文件操作文件:什么是文件文件的缺点文件的操作步骤:文件的打开函数 open文件操作分为两种类型的操作:文本文件模式:各操作系统默认的换行符:练习:练习:答案见:二进制文件操作文件操作文件:什么是文件文件是用于数据存储的单位文件通常用来长期存储设置文件中的数据是以字节为单位进行顺序存储的文件的缺点内..._将文本写到mydata.txt文件中
文章浏览阅读1.1k次。kubernetes学习_hostname "node01" could not be reached
文章浏览阅读4.4k次,点赞2次,收藏6次。记录一个崩溃crash的问题。在方法中使用一个栈类对象时,程序出现崩溃。原因是:QT中 如果一个子级对象是new生成的(堆对象),当父级对象销毁时,会自动调用operator delete删除他的所有子级对象。这样有三种情况:如果一个子级对象是new生成的,他无需自己销毁;如果一个子级对象不是new生成的(栈对象),他在父级对象销毁前自己主动销毁自己,没问题。如果一个子级对象不是new生成的(栈对象),他不在父级对象销毁前自己主动销毁自己,父级对象调用operator delete他时就会出_rtti symbol not found for class 'qobject
文章浏览阅读494次。上次通过Spring boot认知,核心功能。springBoot的搭建【官方向导搭建boot应用】和 【maven的方式搭建boot】。统一父POM管理(一)① 建立boot-parent工程首先我们建立一个 boot-parent的maven工程删除src目录然后修改pom.xml。packaging改为为pom格式。<packaging>pom</packaging>加入dependencyManagement, 同时去掉vers._project.build.sourceencoding
文章浏览阅读701次,点赞11次,收藏22次。java技术专家【Java学习+面试指南】Java基础入门80问