Java 断言 Assert 使用教程与最佳实践

4 月 24 日
阅读 4 分钟
472
作为一个 Java 开发者,如果要问你 Java 中有哪些关键字,你可能会随口说出一串,如果问你 Java 有哪些最不常使用的关键字,或许你还能说出几个。但是 assert 关键字一定算是其中之一,或者,Java 写了几年,还没有用过 Java 的 assert 关键字。

把 Maven 提交到项目?Maven Wrapper的使用与好处

4 月 18 日
阅读 5 分钟
925
不知道你有没有发现,如果使用 [链接] 或者使用 IDEA 创建一个 Spring Boot 项目,生成的文件列表中或有 mvnw 和 mvnw.cmd 两个命令文件。如果细心的同学查看隐藏目录,还会发现一个 .mvn 文件夹,那么这几个文件是干嘛的呢?这篇文章介绍它的相关知识。

一扫即入,如何通过微信公众号扫码登录网站?

4 月 7 日
阅读 9 分钟
1.6k
想象一下,周五晚上,你打开电脑,打算刷一刷最新上线的剧集,突然弹出网站登录,哎呀,那个超级复杂的密码是什么来着?那一堆数字、字母和符号的大杂烩在我脑海中有好几个版本?能不能有一种简单的方式,不用密码就可以认真登录,这简直不要太棒?这时扫码登录出现了,它不仅方便而且更加安全。好比你向安保亮了一下你...

GitHub WebHook 使用教程

3 月 27 日
阅读 4 分钟
760
WebHook 直译是网络钩子,可以把 WebHook 看做一种通知方式,只要发生关注的事件,就会发送通知到我们指定的 Web 服务。使用 WebHook 可以让我们在关注的事件发生时收到通知,而不是不断轮训 API 确认事件是否发生,

JSON Web Token 入门教程

3 月 20 日
阅读 4 分钟
421
JSON Web Token(JWT)是一种可以在多方之间安全共享数据的开放标准,JWT 数据经过编码和数字签名生成,可以确保其真实性,也因此 JWT 通常用于身份认证。这篇文章会介绍什么是 JWT,JWT 的应用场景以及组成结构,最后分析它的优点及局限性。
封面图

Jpackage-制作无需预装Java环境的Jar可执行程序

3 月 8 日
阅读 5 分钟
3.2k
这篇文章我们会先学习如何将 Java 程序打包成一个可执行的 Java JAR 文件。然后演示如何使用这个 JAR 文件生成 Windows、Linux、MacOS 上的可执行程序。 我们将使用 Java 自带的 jar 命令行工具来创建 JAR 文件。然后学会使用 jpackage 工具创建各个系统上的可执行程序。
封面图

java.util.Arrays 使用介绍

3 月 6 日
阅读 4 分钟
275
这 copyOf,copyOfRange,无异于为数组之尺,想要复制前 N 个元素,使用 copyOf,想要取其中一段,使用 copyOfRange。

Protobuf: 高效数据传输的秘密武器

2023-05-11
阅读 15 分钟
1.9k
当涉及到网络通信和数据存储时,数据序列化一直都是一个重要的话题;特别是现在很多公司都在推行微服务,数据序列化更是重中之重,通常会选择使用 JSON 作为数据交换格式,且 JSON 已经成为业界的主流。但是 Google 这么大的公司使用的却是一种被称为 Protobuf 的数据交换格式,它是有什么优势吗?这篇文章介绍 Protobuf...

Java 20 新功能介绍

2023-05-06
阅读 8 分钟
1.2k
JDK 20 不是长期支持 (LTS) 版本,因此它只会在六个月后被 JDK 21 取代之前收到更新。JDK 17( 2021 年 9 月 14 日发布)是 Java 的最新 LTS 版本。Oracle 宣布计划将 LTS 版本之间的时间从三年缩短到两年,因此 JDK 21(2023 年 9 月)计划成为下一个LTS。

你好 ChatGPT, 帮我看下这段代码有什么问题?

2023-02-15
阅读 8 分钟
4.2k
今天一个很简单的功能,触发了一个 BUG,处理后我想起了最近爆火的 ChatGPT,于是我尝试测试 ChatGPT 能否发现这个 BUG。这篇文章会先介绍功能代码,然后手动分析 BUG 原因;接着测试 ChatGPT 能否发现这个 BUG。

如何搭建一个自己的音乐服务器

2022-12-05
阅读 11 分钟
1.1k
最近发现,经常用的网易云音乐,有很多歌曲下架了,能听的越来越少了;歌单里的一些歌曲,现在要开通 VIP 才能听了。其实自己常听的歌曲不是很多,现在却有很多听不了了。

JUnit 5 单元测试教程

2022-11-18
阅读 11 分钟
1.3k
在软件开发过程中,我们通常都需要测试自己的代码运行是否正常,可能对一个函数进行简单测试,也可能是多个功能的组合测试。不管使用哪种方式,都是为了更好的测试我们的代码是否存在逻辑缺陷。测试对于软件开发是非常必要的。

Java 19 新功能介绍

2022-11-04
阅读 6 分钟
2.2k
Java 19 在2022 年 9 月 20 日正式发布,Java 19 不是一个长期支持版本,直到 2023 年 3 月它将被 JDK 20 取代,这次更新共带来 7 个新功能。

使用 StringUtils.split 的坑

2022-11-02
阅读 5 分钟
1.4k
在日常的 Java 开发中,由于 JDK 未能提供足够的常用的操作类库,通常我们会引入 Apache Commons Lang 工具库或者 Google Guava 工具库简化开发过程。两个类库都为 java.lang API 提供了很多实用工具,比如经常使用的字符串操作,基本数值操作、时间操作、对象反射以及并发操作等。

Apache HttpClient 5 使用详细教程

2022-08-22
阅读 42 分钟
4.2k
超文本传输协议(HTTP)可能是当今互联网上最重要的协议之一,Web 服务、微服务以及支持网络的各种设备上的服务几乎都是 HTTP 协议,HTTP 协议已经从 Web 浏览器走向了更广泛的使用场景。

Jackson 解析 JSON 详细教程

2022-07-22
阅读 18 分钟
3.1k
JSON 对于开发者并不陌生,如今的 WEB 服务、移动应用、甚至物联网大多都是以 JSON 作为数据交换的格式。学习 JSON 格式的操作工具对开发者来说是必不可少的。这篇文章将介绍如何使用 Jackson 开源工具库对 JSON 进行常见操作。
封面图

Java 中的对象池实现

2022-07-13
阅读 12 分钟
2k
最近在分析一个应用中的某个接口的耗时情况时,发现一个看起来极其普通的对象创建操作,竟然每次需要消耗 8ms 左右时间,分析后发现这个对象可以通过对象池模式进行优化,优化后此步耗时仅有 0.01ms,这篇文章介绍对象池相关知识。

Java 18 新功能介绍

2022-04-11
阅读 10 分钟
3.4k
文章持续更新,可以关注公众号程序猿阿朗或访问未读代码博客。 本文 Github.com/niumoo/JavaNotes 已经收录,欢迎Star。Java 18 在2022 年 3 月 22 日正式发布,Java 18 不是一个长期支持版本,这次更新共带来 9 个新功能。
封面图

5种限流算法,7种限流方式,挡住突发流量?

2022-03-15
阅读 15 分钟
13.5k
最近几年,随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服务和服务之间的稳定性越来越重要。在遇到突发的请求量激增,恶意的用户访问,亦或请求频率过高给下游服务带来较大压力时,我们常常需要通过缓存、限流、熔断降级、负载均衡等多种方式保证服务的稳定性。其中限流是不可或缺的一环,这...
封面图

Java 中拼接 String 的 N 种方式

2022-02-17
阅读 4 分钟
7.2k
Java 提供了拼接 String 字符串的多种方式,不过有时候如果我们不注意 null 字符串的话,可能会把 null 拼接到结果当中,很明显这不是我们想要的。
封面图

字符作画,我用字符画个冰墩墩

2022-02-14
阅读 5 分钟
6.3k
已经 2022 年了,最近北京冬奥会的吉祥物冰墩墩很火,据说一墩难求,各种视频新闻应接不暇。程序员要有程序员的方式,今天我来用 Java 画一个由字符组成的冰墩墩送给大家,这篇文章记录字符图案的生成思路以及过程。
封面图

Java 中的5个代码性能提升技巧,最高提升近10倍

2021-12-24
阅读 9 分钟
3.1k
这篇文章介绍几个 Java 开发中可以进行性能优化的小技巧,虽然大多数情况下极致优化代码是没有必要的,但是作为一名技术开发者,我们还是想追求代码的更小、更快,更强。如果哪天你发现程序的运行速度不尽人意,可能会想到这篇文章。
封面图

Java 中的监控与管理原理概述

2021-11-30
阅读 5 分钟
2.4k
这篇文章是 Java 性能分析监控与优化系列的第一篇文章,原本是计划系统的介绍 Java 性能分析方式和流行的监控工具,但是提笔之后意识到,只介绍分析方式和监控工具过于浅尝辄止了。如果只会使用某个工具而不知道背后的实现原理,总觉得有种陌生感,我想你们也是一样,所以多了这篇文章。

Java 17 新功能介绍(LTS)

2021-11-08
阅读 10 分钟
3.3k
点赞再看,动力无限。Hello world : ) 微信搜「 程序猿阿朗 」。本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章。Java 17 在 2021 年 9 月 14 日正式发布,Java 17 是一个长期支持(LTS)版本,这次更新共带来 14 个新功能。OpenJDK Java 17 下载:[链接]OpenJDK Java 17 文档:[...

Java 16 新功能介绍

2021-11-01
阅读 7 分钟
3.8k
Java 16 在 2021 年 3 月 16 日正式发布,不是长久支持版本,这次更新没有带来很多语法上的改动,但是也带来了不少新的实用功能。

超详细 Java 15 新功能介绍

2021-08-17
阅读 7 分钟
3.7k
<!-- -->Java 15 在 2020 年 9 月发布,虽然不是长久支持版本,但是也带来了 14 个新功能,这些新功能中有不少是十分实用的。

Java 14 新功能介绍

2021-08-12
阅读 6 分钟
2.3k
点赞再看,动力无限。Hello world : ) 微信搜「 程序猿阿朗 」。本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章。Java 14 早在 2019 年 9 月就已经发布,虽然不是长久支持版本,但是也带来了不少新功能。Java 14 官方下载:[链接]Java 14 官方文档:[链接]Java 14 新功能:305: in...

Java 17 将要发布,补一下 Java 13 中的新功能

2021-08-09
阅读 7 分钟
3.8k
自从 Oracle 调整了 Java 的版本发布节奏之后,Java 版本发布越来越快,虽然都说 Java 版本任他发,我用 Java 8,不过新版本的 Java 功能还是要学习一下的。

Java 反编译工具哪家强?对比分析瞧一瞧

2021-05-19
阅读 27 分钟
17.1k
Java 反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java 对于 Class 字节码文件的生成有着严格的要求,如果你非常熟悉 Java 虚拟机规范,了解 Class 字节码文件中一些字节的作用,那么理解反编译的原理并不是什么问题。甚至像下面这样的 Class 文件你都能看懂一二。

Java 中 RMI 的使用

2021-05-11
阅读 5 分钟
2.1k
RMI (Remote Method Invocation) 模型是一种分布式对象应用,使用 RMI 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果。这里的另一个 JVM 可以在同一台计算机也可以是远程计算机。因此,RMI 意味着需要一个 Server 端和一个 Client 端。