上一篇关于调试操作回退的介绍中,我们采用了Reset Frame(Drop Frame)来实现。但该操作有一定的局限性,所以,这篇我们将介绍一个插件来帮助弥补Reset Frame做不到的一些回退操作。 视频演示:点击这里查看 插件:Jump To Line这个插件可以帮助我们在调试的时候,向前或向后跳到想要执行的语句处。这里就包括了Reset Frame无法回退的位置,比如下面这个小片段:...

假设有这样一个场景,我们需要做一个工具。用来自动生成项目文档,文档可以通过浏览器查看,所以最后产出物肯定是一堆html文件。为了让这些html文件更容易读,良好的格式肯定要保持,该换行的换行、该缩进的缩进。 那么,在组织最后内容的时候,你可能就会这样子来写: String html = "<html>\n" + "<body>\n"+ " <...

近日,New Relic发布了最新的2022 Java生态系统报告,这份报告可以帮助我们深入的了解Java体系的最新使用情况,下面就一起来看看2022年,Java发展的怎么样了,还是Java 8 YYDS吗? Java 11成为新的标准在2020年的时候,Java 11已经推出了1年多,但当时Java 8的占有率高达84.48%。2年过去了,Java 11上生产的比例第一次超过Java 8...

今天一大早,群里(点击加群)有小伙伴问了这样的一个问题: 在我们使用IDEA开发项目的时候,通常都会有很多配置项需要去设置,比如对于Java项目来说,一般就包含:JDK配置、Maven配置等。那么如果想要设置一个默认的项目配置的话,要如何做呢? 先来找到入口,在File菜单中找到New Projects Setup菜单项,细节如下图所示: 这里的几个功能都是用来配置新建项目时要做的一些默...

在这次的Java 18中,新增了一个@snipppet标签,主要用于JavaDoc中需要放示例代码的场景。其实在Java 18之前,已经有一个@code标签,可以用于在JavaDoc中编写小段的代码内容,比如在之前介绍Simple Web Server视频中,提到的这段样例代码,就是用@code标签来写的: * <p> Example of a simple file serve...

本期视频:https://www.bilibili.com/video/BV1YY4y1a7vG 在Java 18中,将UTF-8指定为标准Java API的默认字符集。有了这一更改,依赖于默认字符集的API将在所有实现、操作系统、区域设置和配置中保持一致。 做这一更改的主要目标: 当Java程序的代码依赖于默认字符集时,使其更具可预测性和可移植性。 阐明标准Java API在哪里使用默认...

昨天分享了Java 18 新特性:简单Web服务器的jwebserver命令行功能。今天换一种方式,使用Java代码来实现一个静态资源服务器。 详细步骤我录了个视频放到B站了,感兴趣的小伙伴可以点击查看Java 18 新特性:Simple Web Server(2) 代码比较简单,直接贴出来了: public class Main { public static void m...

在今年3月下旬的时候,Java已经更新到了18。接下来会挑一些有意思的内容,以文章和视频的方式来给大家介绍和学习。 如果要第一时间获得内容更新,对文章形式感兴趣的小伙伴可以关注我的博客或者公众号(程序猿DD),对视频形式感兴趣的可以关注我的B站或视频号(程序猿DD)。 本篇内容对应视频已完成录制,点击查看:Java 18 新特性:Simple Web Server(1) 简单Web服务器:j...

昨天群里(点击加群)有小伙伴问,换了M1芯片的Macbook Pro之后,IDEA就一直很卡的。正好前段时间,我也换了最新的MacBook Pro,也碰到了类似的问题。 这里就简单讲一下换到M1平台后,使用IDEA要注意的两个点: IDEA版本的选择第一个要注意的点是IDEA版本要注意下, 不要选择默认的Intel版本。 JDK版本的选择在下载JDK的时候,一定要选择arrch64的JDK

抛异常相信大家都会吧?只需要这样就可以了: throw new RuntimeException("didispace.com"); 但是,在开发过程中有一些情况,我们需要测试程序对异常的处理逻辑是否正确,这个时候就需要我们在程序运行时主动的抛出异常才会触发相关逻辑来验证正确性,比较常见的场景有:事务是否会回滚、Web层的统一异常处理等等。 这个时候,你是如何去制造异常,来支持你的调试呢? ...