JAVA 八月 13, 2023

Thymeleaf —— 简化 Java Web 开发的强大模板引擎

文章字数 15k 阅读约需 14 mins.

原文地址:https://wyiyi.github.io/amber/2023/08/01/thymeleaf/

Thymeleaf 是一种用于在服务器端和客户端之间渲染 HTML、XML、JavaScript...

查看全文

JAVA 八月 13, 2023

Thymeleaf —— 简化 Java Web 开发的强大模板引擎

文章字数 15k 阅读约需 14 mins.

原文地址:https://wyiyi.github.io/amber/2023/08/01/thymeleaf/

Thymeleaf 是一种用于在服务器端和客户端之间渲染 HTML、XML、JavaScript、CSS 和文本的 Java 模板引擎。

模板引擎在 Web 领域的主要作用:让网站实现界面和数据分离,这样大大提高了开发效率,提供自然、灵活的模板处理功能,让代码重用更加容易。

查看全文

JAVA 六月 24, 2023

【转】CPU飙升排查

文章字数 2.1k 阅读约需 2 mins.

原文地址:https://softleadergy.github.io/CPU%E9%A3%99%E5%8D%87%E6%8E%92%E6%9F%A5/

线上资源cpu飙升是我们工作中常见的问题,一篇文章搞定排查方法

现在我有两个接口,代码如下

@RestController
public class CPUCheck {
  @RequestMapping("/hello")
  public String helloWorld(){
      return "hello World...
查看全文

JAVA 五月 28, 2023

用 IDEA 写更整洁的 Java 代码

文章字数 5.1k 阅读约需 5 mins.

新版本 IDEA 支持设置保存时的动作,在 Preferences 下的 Tools | Actions on Save 中:

支持如下动作:

  • Reformat code: 根据当前代码风格设置执行格式化代码动作,可设置生效的文件类型及范围(整个文件、变更部分)
  • Optimize imports: 根据当前代码风格设置执行移除无用 import 及重新组织 import,可设置生效的文件类型
  • Rearrange code: 根据当前代码风格设置执行代码重排序动作
  • Run code cleanup...
查看全文

JAVA 十月 15, 2022

黑客松云原生赛道初赛程序设计分享

文章字数 15k 阅读约需 13 mins.

2Core / 4GB 的总资源限制内,在容器中运行一个基于文本日志文件的统计分析程序,统计发表评论最多的前10位用户,并按顺序返回用户名、该用户的评论次数、该用户不重复的评论数量以及最近发表评论的时间

  1. 按照评论次数由多到少进行排序
  2. 当用户评论次数相同时,将内容不重复的评论数量较多的用户排在前面
  3. 当“用户评论次数”与“不重复的评论次数”均相同时,以“最近发表评论的时间”排序,内容较新的用户排在前面

正式比赛的数据量级为1000万(可能会有零头,但不低于1000万,不超过1001万),数据文...

查看全文

JAVA 十月 09, 2022

MapStruct - Java bean 映射,简单的方法!

文章字数 14k 阅读约需 13 mins.

应用程序通常需要在不同的对象模型(例如实体和 DTO)之间进行映射,如:在前后台传输过程中,持久层定义的实体类经常需要映射到其它的对象模型进行相互转换。

MapStruct 是一个代码生成器,在不同的对象模型(例如 实体 和 DTO)之间进行映射,它基于约定优于配置的方法,极大地简化了 Java bean 类型之间的映射实现。

MapStruct 是一个 Java 注释处理器,用于生成类型安全、高性能和无依赖关系的 bean 映射代码。

与其他映射框架相比,MapStruct 在编译时生成 bean...

查看全文

JAVA 九月 11, 2022

【转】Java 线程状态之 TIMED_WAITING

文章字数 9.6k 阅读约需 9 mins.

原文地址:https://xiaogd.net/md/java-线程状态之-timed_waiting

目录

  • 定义
  • timed_waiting 的场景
  • 虚假唤醒(spurious wakeup)
  • sleep 时的线程状态
  • BLOCKED 和 WAITING 状态的区别和联系
  • 总结

上一篇章中我们谈论了 WAITING 状态,在这一篇章里,我们来看剩余的最后的一个状态:TIMED_WAITING(限时等待)。

一个正在限时等待另一个线程执行一个动作的线程处于这一状态。

A thread ...

查看全文

JAVA 九月 04, 2022

【转】Java 线程状态之 WAITING

文章字数 11k 阅读约需 10 mins.

原文地址:https://xiaogd.net/md/java-线程状态之-wating

上一篇里我们讲了一个重要状态:BLOCKED,在这一篇章里,我们来看另一个重要的状态:WAITING(等待)。

一个正在无限期等待另一个线程执行一个特别的动作的线程处于这一状态。

A thread that is waiting indefinitely for another thread to perform a particular action is in this state.

然而这里并...

查看全文

JAVA 八月 28, 2022

【转】Java 线程状态之 BLOCKED

文章字数 6.9k 阅读约需 6 mins.

原文地址:https://xiaogd.net/md/java-线程状态之-blocked

目录

  • BLOCKED 状态的定义
  • 进入(enter)同步块时阻塞
  • wait 之后重进入(reenter)同步块时阻塞
  • 总结

上一篇中,我们强调了 BLOCKED 状态跟 I/O 的阻塞是不同的,它不是一般意义上的阻塞,而是特指被 synchronized 块阻塞,即是跟线程同步有关的一个状态。

前面已经说过 BLOCKED(阻塞) 的简单定义为:

一个正在阻塞等待一个监视器锁的线程处于这一状态。(...

查看全文

JAVA 八月 21, 2022

【转】Java 线程状态之 RUNNABLE

文章字数 9k 阅读约需 8 mins.

原文地址:https://xiaogd.net/md/java-线程状态之-runnable

目录

  • 什么是 RUNNABLE?
  • 与传统的 ready 状态的区别
  • 与传统的 running 状态的区别
  • 当 I/O 阻塞时
  • 如何看待 RUNNABLE 状态?

上一篇我们粗略谈到了 Java 的 6 种线程状态,并对其中较为简单的 NEW 和 TERMINATED 做了分析,现在我们具体来看下 State.RUNNABLE 状态,即所谓的可运行状态。(以下简称 runnable)

再次强调,这...

查看全文

JAVA 八月 07, 2022

解决Mybatis-Plus更新对象时字段更新为空值的问题

文章字数 8k 阅读约需 7 mins.

mybatis-plus(简称:mp)执行更新操作,将某些字段值置为 空 或者 null,持久层执行后,需要更新为空值的字段仍然保持原本的值。
显然和我们预期的结果不一致。

我们可以参照以下三种方案处理 mp 执行更新操作空值的情况。

针对实体类中字段的注解,在 mybatis-plus 的 @TableField
有 FieldStrategy-字段验证策略 和 FieldFill-自动填充 两种方式:

FieldStrategy 字段策略的3个使用场景:

  • insertStrategy insert...
查看全文
加载更多
0%