Skip to main content
Java小技巧

如何编写更健壮更好的java代码?这里面整理收集一些在java开发过程中我们需要注意的一些点或者说是技巧,从而提高代码的质量以及我们的工作效率。

Springboot

Ignore Null Fields with Jackson

springboot中默认序列化Json的框架就是jackson了,这里面介绍在springboot项目中如何忽略null字段

  • 全局

springboot配置和java代码都可以实现全局忽略null的功能

  • 类级别

huhxAbout 6 minjavaTips
Async分析

在SpringBoot中,使用异步调用很简单的一种方式就是在该方法上面使用@Async了。现在我们就它的使用,分析下其内部的原理。

使用@Async

只要@EnableAsync就可以使用多线程。使用@Async就可以定义一个线程任务。通过spring给我们提供的ThreadPoolTaskExecutor就可以使用线程池。

默认情况下Spring将要么在上下文中搜索唯一的TaskExecutor的Bean,要么搜索名为taskExecutor的Executor的Bean。如果两者都无法解析,则将使用SimpleAsyncTaskExecutor来处理异步方法调用。


huhxAbout 5 min
漫谈DDNS

动态 DNS(DDNS)是一项在 IP 地址发生变化时可以自动更新 DNS 记录的服务。域名将网络 IP 地址转换为人类可读的名称,便于识别和使用。将名称映射到 IP 地址的信息以表格形式记录在 DNS 服务器上。但是,网络管理员会动态分配 IP 地址并经常更改。每当 IP 地址发生变化时,DDNS 服务都会更新 DNS 服务器记录。借助 DDNS,域名管理变得更容易、更高效。


huhxLess than 1 minute
Container是如何工作的

Java web 应用通常会跑在 Container上面,比如人尽皆知的 Tomcat。下面我们来看下 Tomcat 是怎么工作的

工作流程

202403270918356240
202403270920276841
2024032709204302
202403270921026543

huhxLess than 1 minute
jwt协议

jwt 的全称是JSON Web Token,它是一种json 对象。在RFC 7519中 定义为在两方之间传输信息的安全方式。由于 jwt 中的信息是经过数字签名,因为可以用作验证和信任。

它的特征

  • 短小精悍:json 数据格式,
  • 独立的:JWT 携带交换信息和身份验证所需的所有信息
  • 广泛支持:基本上所有的语言都集成支持了 jwt。比如 go, python, java, php

它的使用场景

  • 信息交换:JWT 可用于两方之间交换信息。 JWT 经过数字签名,可以在安全的公钥/私钥对中使用。使用另一端的公钥验证信息
  • 认证:JWT 可以在有效负载中包含用户信息,并可在会话中用于对用户进行身份验证。经过身份验证后,用户可以使用请求中包含的 JWT 访问应用程序中受保护的资源。因此,每个请求都将通过验证 JWT 进行身份验证。

huhxAbout 3 min