1.1_1 IDEA使用常见问题记录JDK8

相关链接


一、常用快捷键

eclipse快捷键

Buttons
按键
Function
功能
Note
备注
双击shift全局搜索搜索类名,idea功能9(如Settings,Plugins)
shift + enter无视光标跳到下一行
ctrl + alt + J包含式动态模板(Surround with live template)
ctrl + shift + O 导包
ctrl + alt + S 打开setting
ctrl + alt + T 快速对选中代码try/catch、if、while等在这里插入图片描述
ctrl + F文章内查找,替换
ctrl + H文件中搜索
Find In File按代码内容搜索
alt + enter 快速修复(Quick-fixes)所有的快速修复都是基于 Settings | Editor | Inspections 中的选项进行提示。
alt + insert 生成代码(Generating code)
快速生成get、set等
该操作不仅可以在编辑器中使用,在项目窗口和导航栏也可以使用:(用.分隔可以快速创建多级package)
输入 /** 并
ctrl + enter
快速生成注释
/**
*
*/

选中代码 ctrl + shift + M
快速封装方法
 /** **/

触发模板

Function
功能
EclipseIDEA
构造main方法mainpsvm
Array数组进行迭代foritar
Collection集合进行迭代foritco
List集合进行迭代foritli
使用foreach语法遍历可迭代对象foreachiter
打印到System.outforeachsout
打印到System.errforeachserr
定义静态字段foreachpsf
if 变量== NULLifn

1.1 循环遍历

	//循环50次
	50.fori => for (int i = 0; i < 50; i++) {} 

1.1.1 数组[]

数组的初始化有以下两种方式

	静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。
		//完整写法
		int[] arr = new int[]{2,5,7};
		//其他写法 不推荐 => 
		//一般将对象的引用单独放在等号左侧相邻位置,不容易引起歧义(实例名到底是 arr 还是 arr[] ?)
		int arr[] = new int[]{2,5,7};
		//简化写法 不推荐
		int[] arr = {2,5,7};
		
		
	动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。 
		int[] arr = new int[3]; 
		arr[1]=2;
		arr[2]=5,
		arr[3]=7;

1.普通for循环
/*	arr.fori => 自动提示
	itar => 数组[]专用 自动提示*/
        for (int i = 0; i < arr.length; i++) {
            //手动添加遍历语句 【2 5 7】
            System.out.print(arr[i]);
            System.out.print(" ");
        }
        
2.反向普通for循环
/*	arr.forr => 自动提示	*/
        for (int i = arr.length - 1; i >= 0; i--) {
            //手动添加遍历语句 【7 5 2】
            System.out.print(arr[i]);
            System.out.print(" ");
        }

3.增强for循环
/*	arr.for => 自动提示
	arr.iter => 自动提示
	iter => 自动提示*/
        for (int i : arr) {
            //手动添加遍历语句 【2 5 7】
            System.out.print(i);
            System.out.print(" "); 
        }

4.使用迭代器
		/*	arr.iterator => 自动提示	*/
        PrimitiveIterator.OfInt iterator = Arrays.stream(arr).iterator();
        /* itit => 迭代器遍历专用 自动提示 */
        while (iterator.hasNext()) {
            Integer next = iterator.next();
            System.out.print(next);
            System.out.print(" ");
        }        

1.1.2 集合 List

//创建List集合
        ArrayList<Object> list = new ArrayList<>();
        list.add(33);
        list.add(44);
        list.add(5);
1.普通for循环
/*	list.fori => 自动提示
	itli=> List集合专用 自动提示*/
        for (int i = 0; i < list.size(); i++) {
            //手动添加遍历语句【33 44 5】        
            System.out.print(list.get(i));
            System.out.print(" ");
        }	

2.反向普通for循环
/*	list.forr => 自动提示 */
        for (int i = list.size() - 1; i >= 0; i--) {
            //手动添加遍历语句【5 44 33】        
            System.out.print(list.get(i));
            System.out.print(" ");
        }

3.增强for循环
/*	list.for => 自动提示
	list.iter => 自动提示
	iter => 自动提示	*/
        for (Object o : list) {
            System.out.print(o);
            System.out.print(" ");
        }

4.使用迭代器
/* collection.iterator(); => alt + enter 自动补全 */
        Iterator<Object> iterator = list.iterator();
/* itit => 迭代器遍历专用 自动提示 */
        while (iterator.hasNext()) {
            Object next = iterator.next();
            System.out.print(next);
            System.out.print(" ");
        }

1.1.3 集合 Collection

//创建Collection集合
        Collection collection = new ArrayList<>();
        collection.add("你好");
        collection.add("你好吗?");
        collection.add("再见");
   
1.普通for循环
/*	itco => Collection集合遍历 自动提示	*/
        for (Iterator iterator = collection.iterator(); iterator.hasNext(); ) {
            String next = (String) iterator.next();
            //手动添加遍历语句【你好 你好吗? 再见】
            System.out.print(next);
            System.out.print(" ");            
        }     

2.增强for循环        
/*	collection.for => 自动提示
	iter => 自动提示 */
        for (Object o : collection) {
			//手动添加遍历语句【你好 你好吗? 再见】
            System.out.print(o);
            System.out.print(" ");
        }

3.使用迭代器
/* collection.iterator(); => alt + enter 自动补全 */
        Iterator iterator = collection.iterator();
/* itit => 迭代器遍历专用 自动提示 */
        while (iterator.hasNext()) {
            Object next = iterator.next();
            System.out.print(next);
            System.out.print(" ");
        }

1.2 控制台打印

	//sout
	"123".sout => System.out.println("123");
	//soutv (StringBuilder sb = new StringBuilder();)
    sb.soutv => System.out.println("sb = " + sb);

1.3 创建变量

	"a".var  ->  String a = "a";
	123.var  ->  int i = 123;

二、Settings

2.1 keymap 设置快捷键

2.1.1 快速提示 alt + /

默认的提示快捷键是ctrl + 空格 ,但是这和输入法的中英切换冲突,所以改成alt + /,在搜索框中输入Basic,就能找到修改代码提示快捷键的地方.
在这里插入图片描述
但是需要注意的是alt + /在idea中是复制光标所在地方的前一个单词的意思,所以要把这个快捷键也改一下,搜索栏输入Cyc找到修改的地方如下所示,这里我改成alt+单引号,这样就和原来的按法差不多,因为单引号在斜杠上面.

2.1.2 删除当前行 ctrl + d

ctrld在idea中是复制光标所在行,因为取duplicate的意思,而ctrl+y在idea中是删除光标所在行
在这里插入图片描述
但是以前ctrl + d一般都是删除光标所在行,因为取delete的意思,而y在linux的vi中就是复制的意思,所以建议将这两个快捷键互换
ctrl + d是删除,ctrl + y是复制.
(我自己复制快捷键为ctrl + .)
ctrl + alt+ S进入setting,左边选择Keymap,然后在搜索栏中输入Duplicate Line or Selection,就能找到改复制一行快捷键的地方,在搜索栏中输入DeleteLine就能找到改删除一行快捷键的地方.如下所示
在这里插入图片描述
在这里插入图片描述

2.1.3 uml 图

show uml diagram
在这里插入图片描述

在这里插入图片描述

2.1.4 迷你uml

show uml popup在这里插入图片描述
在这里插入图片描述

2.1.4 uml 查找实现类

implementations
在这里插入图片描述
在这里插入图片描述

2.1.5 类型分级结构

type hierarchy
在这里插入图片描述
在这里插入图片描述

2.2 Live Templates 可用模板列表

如syso => 直接生成System.out.println(“”)
在这里插入图片描述

2.3 Code Style

2.3.2 Java Doc 解决格式化注释问题

在这里插入图片描述

2.3.2 Code Generation 解决ctrl+/ 快捷键注释不自动缩进

在这里插入图片描述

java注释代码块的问题 如下图
在这里插入图片描述
xml注释代码块的问题 如下图
在这里插入图片描述
如图进行配置即可

2.4 File And Code Templates

2.4.1 项目新建文件,头部注释

设置File Header后,创建类即可自动生成注释信息

/**
 * @author GroupiesM
 * @date ${DATE}
 */

在这里插入图片描述
alt+insert 创建一个Test类
在这里插入图片描述
在这里插入图片描述

三、导包

3.1 Test测试类

可以在一个类里面,除了main方法,创建多个可以执行的方法,需要导入spring-test和junit包
在这里插入图片描述

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

四、插件

  • 搜索插件阿里

4.1 Alibaba Java Coding Guidelines

《阿里巴巴Java开发手册》IDEA插件与Eclipse插件使用指南

  • 主要功能
    • 实时扫描代码规范,如包、类、方法命名,变量名等
      在这里插入图片描述

4.2 MyBatisX

【官方手册】MybatisX 快速开发插件
在这里插入图片描述

4.3 Easy Code

EasyCode插件使用详解

  • 功能
    • 基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。
    • 只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置。
    • 支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。
      在这里插入图片描述

4.4 Gitee

  • 从Gitee上传下载代码的操作优化

4.5 jclasslib 字节码查看工具

  • 安装完毕后可以在view中找到 Show Bytecode With Jclasslib
    在这里插入图片描述
  • 可以查看字节码文件,学习JVM必备
    在这里插入图片描述

五、警告

5.1 源值1.5已过时, 将在未来所有发行版中删除

IDEA中提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除

  1. 打开【File】—【Project Structure】,找到以下两个地方:
Project Structure->ProjectProject sdk以及project language level
Project Structure->ModulesSources里的Language level

在这里插入图片描述
在这里插入图片描述
2. 当这两个地方配置好后,再次运行项目,出现如下的提示:在这里插入图片描述
说明我们还有地方没有配置好。打开【File】—【Settings】,找到【Java Compiler】,会发现这个问题:
在这里插入图片描述
发现两个地方的版本对应不上,我们需要将下边的5或者1.5修改为8或者1.8。
修改完后,点击Apply—OK之后,程序就能正常运行了。

六、其他

6.1 内存

idea默认的内存分配太小了,改大一点,跑起来流畅
在这里插入图片描述
把这三个值改大一点,根据自己电脑实际情况来,我的电脑一共16g内存,分配2个G完全够用

 1.Xms,最小内存  //原128
 2.Xmx750m,最大内存  //原750
 3.ReservedCodeCacheSize=1024m 预留代码缓存的大小  //原240

在这里插入图片描述
显示内存使用情况
Settings =>Apperance => 勾选 show memory indicator

  • show memory indicator
    在这里插入图片描述

20/06/03

M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值