IDEA如何做远程Debug?

典型回答 在 IntelliJ IDEA 中进行远程调试,需要先启动应用程序并在需要进行调试的代码处设置断点,然后按照以下步骤进行设置: 在 IntelliJ IDEA 中选择“Run”菜单,选择“Edit Configurations”。 在左侧面板中选择“Remote”,然后点击“+”按钮添加一个新的配置。 在弹出的对话框中,为新配置设置一个名称,并设置远程的Host和Port 点击“OK”保存配置。 接下来,在命令行中启动应用程序,指定远程调试端口号,并等待 IntelliJ IDEA 连接。在 IntelliJ IDEA 中点击“Debug”按钮启动调试器,此时应用程序应该停在第一个断点处。 并且,远程服务也需要支持debug才行,需要配置如下信息: 1.5-1.8 1 -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000 1.9以后 1 agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:8000

March 22, 2026 · 1 min · santu

你平常用哪些idea插件?

典型回答 推荐几个我在用的插件! Maven Helper 目前,Java开发很多都在使用maven进行项目管理和自动构建。 日常开发中,可能经常会遇到jar包冲突等问题,就需要通过查看maven依赖树来查查看依赖情况。这种方式不是很高效,这里推荐一个插件,安装之后,直接打开pom文件,即可查看依赖数,还能自动分析是否存在jar包冲突。 一旦安装了Maven Helper插件,只要打开pom文件,就可以打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab)。 进入Dependency Analyzer视图之后有三个查看选项,分别是Conflicts(冲突)、All Dependencies as List(列表形式查看所有依赖)、All Dependencies as Tree(树结构查看所有依赖)。并且这个页面还支持搜索。 FindBugs-IDEA FindBugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。 使用方法很简单,就是可以对多种级别的内容进行finbugs  分析完之后会有一个视图进行提示,详细的说明是哪种问题。 按照提示解决完问题之后再执行findbug查看情况即可。 阿里巴巴代码规约检测 2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。 Java代码规约扫描插件以今年年初发布的《阿里巴巴Java开发规约》为标准,作为Eclipse、IDEA的插件形式存在,检测JAVA代码中存在不规范得位置然后给予提示。规约插件是采用kotlin语言开发的,感兴趣的同学可以去开看插件源码。 阿里巴巴规约插件包含三个子菜单:编码规约扫描、关闭试试检测功能。 并且,该插件支持在编写代码的同时进行提示, 这款插件,真的可以很大程度上提升代码质量,一定要安装。 GsonFormat Java开发中,经常有把json格式的内容转成Object的需求,比如项目开始时,合作方给你提供了一个json格式request/response,这时候你就需要将其定义成一个Java类,GsonFormat这款插件可以实现该功能。 Lombok plugin 在Java中,我们经常会定义很多JavaBean,这些Bean需要有getter、setter、toString、equals和hashCode等方法。 通常情况下,我们可以使用IDEA的快捷键生成这些代码,但是自动生成的代码后,如果bean中的属性一旦有修改,需要重新生成,给代码维护增加了一定的负担。 有一款很好的插件,可以帮助开发者节省这部分工作。那就是Lombok。 只要在IDEA中安装了该插件,只需要在JavaBean中添加一行注解代码,插件就会自动帮我们生成getter、setter、toString、equals和hashCode等方法。 当然,这些方法不止在IDE中的代码调用中需要用到,在真正线上部署的时候也需要有,所以,还需要使用maven引入一个lombok的包。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency> /** * @author Hollis */ public class HollisLab { public static void main(String[] args) { Wechat wechat = new Wechat(); wechat.setId("Hollis"); wechat.setDesc("每日更新Java技术文章"); System.out.println(wechat); } } @Data class Wechat { private String id; private String desc; } 输出结果: ...

March 22, 2026 · 2 min · santu

如何对多线程进行Debug_

典型回答 在IDEA中有一个设置,那就是当我们在断点处单击鼠标右键就会弹出一个设置对话框,当我们把其中的All 修改为 Thread之后,尝试重新执行debug代码,每一个线程都会进入到断点当中了。就实现了对多线程进行debug 扩展知识 多线程Debug示例 首先我们写一个多线程的例子,使用继承Runnable接口的方式定义多个线程,并启动执行。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /** * @author Hollis */ public class MultiThreadDebug { public static void main(String[] args) { MyThread myThread = new MyThread(); Thread thread1 = new Thread(myThread, "thread 1"); Thread thread2 = new Thread(myThread, "thread 2"); Thread thread3 = new Thread(myThread, "thread 3"); thread1.start(); thread2.start(); thread3.start(); } } class MyThread implements Runnable { @Override public void run() { System.out.println(Thread.currentThread().getName() + " running"); } } 我们尝试在代码中设置断点,并使用debug模式启动。 ...

March 22, 2026 · 1 min · santu

留言给博主