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;
.write(b, 0, r);
out}
}
}
使用@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下的环境变量配置
- 本文作者: fishedee
- 版权声明: 本博客所有文章均采用 CC BY-NC-SA 3.0 CN 许可协议,转载必须注明出处!