Java开发工具

2021-03-21 fishedee 后端

1 概述

Java的调试技巧

2 查看java进程

jps

该方法能看到当前的java进程有哪些

3 当前线程堆栈

有时候,我们会因为遇到了死锁,而导致系统停下来忙等。这个时候,可以在IDE中,选择Debug App,然后选择照相的按钮,就能看到当前各个线程的堆栈了。在堆栈的位置,我们就知道当前进程停留忙等的地方。

你也可以运行以后,选择“暂停”按钮,查看Frames的信息

jstack pid > pid.tdump

我们也可以在命令行中,指定任意的java进程,打印它的堆栈

4 内存占用

jmap -dump:live,format=b,file=heap.dump pid

首先用jmap将指定pid进程的堆信息快照下来

jhat -port 7001 heap.dump

然后用jhat将堆信息显示出来,这个时候可以打开浏览器的7001端口查看。

拉到最下面,最关键看的是以下几个:

  • Show instance counts for all classes
  • Show heap histogram

5 源码分析

5.1 依赖包源码

查看IDEA左边侧栏的External Libraries就能看到依赖包的源代码了

5.2 类层次

在类的右键中,选择Browse Type Hierarchy,就能看到类层次

5.3 类结构

打开View的Structure就能看到类结构

可以在左边看到它的接口有什么

6 自动样板化工具lombok

lombok是大幅简化Java中的样板化代码的工具,它可以在编译时根据注解生成代码

6.1 IDEA安装

选择IDEA的Preferences

选择Plugins的lombok,然后选择Install安装

选择Build,的Compiler,的Annotation Processors,然后勾选Enable annotation processing即可

6.2 mvn库安装

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
    <scope>provided</scope>
</dependency>

最后一步安装,在maven中加入lombok依赖即可

6.3 使用

@ToString
@Getter
@EqualsAndHashCode
public class Country {
}

然后在代码上加入@ToString就能生成toString代码,加入@EqualsAndHashCode注解能equals和hash代码,加入@Getter来生成字段的getter代码

@Slf4j
public class App implements ApplicationRunner{

}

在App上加入@Slf4j就能直接用log成员变量来打印日志

import lombok.Cleanup;
import java.io.*;
public class CleanupExample {
    public static void main(String[] args) throws IOException {
        @Cleanup InputStream in = new FileInputStream(args[0]);
        @Cleanup OutputStream out = new FileOutputStream(args[1]);
        byte[] b = new byte[10000];
        while (true) {
            int r = in.read(b);
            if (r == -1) break;
            out.write(b, 0, r);
        }
    }
}

使用@Cleanup注解,来自动close资源

7 IDEA安装

7.1 下载

7.1.1 IDEA 15

下载15版本吧

http://idea.iteblog.com/key.php

激活地址填以上的这个

7.1.2 IDEA 20

到官网下载,然后到淘宝找验证码,就这么简单。

千万不要自己到处找破解,跑到一半就被JetBrains强行拉下线,而且到处找破解安装也很浪费时间。

7.2 配置

7.2.1 全局配置与项目配置

从登录界面进去的是全局配置

从项目的左上角进去是项目配置

7.2.2 内存

-Xms1028m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops

重置内存大小,不然很多项目都打不开

打开Preference,看Appearance,打开memory显示器,右下角就能看到了内存大小了

开启内存显示

View -> Apperance -> Status Bar Widgets -> Memory Indicator

7.2.3 Maven

在这里,我们可以配置Maven,是用我们自己安装的Maven,还是用IDEA打包自带的Maven

IDEA打包自带的Maven在IDEA安装目录的plugins文件夹中

从View的ToolWindows可以看到Maven Project

在这里我们可以选择Maven的各个目标,双击可以执行这些目标并看到相关日志。

7.2.4 项目资源目录

在项目文件夹选择Open Module Settings。

在文件夹中选择test文件夹下的某个文件夹,标记为Test Resources。那么test文件夹下的xml文件就会标记为资源文件,自动放在classpath文件夹里面了

就像这样的用法

7.2.5 快速文件跳转

双击两下Shift文件,弹出框体以后选择文件即可。

7.2.6 编码

需要将ssh,代码文件,资源文件都统一设置为UTF-8编码。

7.2.7 字体

字体大小这个没啥好说的

7.2.8 色弱

打开红色盲模式,这样IDEA就会避免用红色来显示错误,而改为用波浪线来显示错误,对于墨水屏比较有用。

7.3 日志

在Help里面打开Log

就能看到启动失败的原因了

7.4 清理与卸载

7.4.1 清理

一个IDEA项目要清除的话,需要删除iml文件,和.idea文件夹才能彻底清除IDEA痕迹。

7.4.2 Mac卸载

cd /Users/xxx/Library/
rm -rf Logs/IntelliJIdeaxxx/
rm -rf Logs/JetBrains/
rm -rf Preferences/IntelliJIdeaxxx/
rm -rf Preferences/JetBrains/
rm -rf Application\ Support/IntelliJIdeaxxx/
rm -rf Application\ Support/JetBrains/
rm -rf Caches/IntelliJIdeaxxx
rm -rf Caches/JetBrains/

经常会出现用到一半后各种问题,我们就需要彻底删除后重装

find . | grep Intelli
find . | grep jetbrain

这个命令出来为空就是彻底清除了

7.4.3 Windows卸载

rm -rf C:\Users\[UserName]\AppData\Roaming\JetBrains
rm -rf C:\Users\[UserName]\AppData\Local\JetBrains

删除用户文件夹中的JetBrains

7.5 工具

7.5.1 sql

打开database窗口,选择添加数据源

把账号,密码,数据库的都填上吧

选择导出数据,这样就能快速地构造测试用例需要的数据了

7.6 问题

7.6.1 scanning files to index

scanning files to index...

一直报以上错误,解决方法

  • 删除项目目录下的node_modules文件夹,node的依赖简直就是像黑洞一样大
  • File->Invalid Cache&restart,重启
  • 彻底卸载后重装IDEA

7.6.2 多层包粘在一起

在设置那里右键,将Compact Empty Middle Packages去掉钩子就可以了。

7.6.3 Unable to import maven project

https://blog.csdn.net/zz18435842675/article/details/102662527/

大多是因为Maven与IDEA版本不匹配导致的

8 自动编译重启

当代码变化时,我们希望能自动编译,重启服务器,这样开发效率就会高很多。

8.1 依赖包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
    <scope>runtime</scope>
</dependency>

加入Spring Boot的devtools依赖

<plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <fork>true</fork>
    </configuration>
    </plugin>
</plugins>

插件里面加入这一项,注意将fork打开

8.2 IDE配置

打开配置里面的Make project automatically。

在Mac下面,输入Shift+Alt+Command () +/,一共四个按键。打开compiler.automake.allow.when.app…这个,这个比较难找一点

最后是关掉工程后重开,然后Build->Rebuild Project就可以了

9 解压jar包

jar -xvf xxx.jar

解压jar包

10 安装jdk

10.1 下载

官网下载安装jdk

下载后双击exe就可以了

10.2 环境变量

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_321
PATH = %PATH%:%JAVA_HOME%\bin
CLASSPATH = .;%JAVAHOME%\lib;%JAVAHOME%\lib\tools.jar

Windows下的环境变量配置

相关文章