缓存那些事

前言 一般而言,现在互联网应用(网站或App)的整体流程,可以概括如图1所示,用户请求从界面(浏览器或App界面)到网络转发、应用服务再到存储(数据库或文件系统),然后返回到界面呈现内容。…

hello hello 发布于 2023-11-09

Java 导出 Excel 利器:JXLS

相信大家能经常性的遇到项目上各类excel的导出,简单的excel格式,用简单的poi,easyExcel等工具都能导出。但是针对复杂的excel,有固定的样式、合并单元格、动态列等各类要求,导致excel 导出需要花很大一部分精力去写代码。jxls在很大程度上解决了以上问题。…

hello hello 发布于 2023-11-08

轻量级的Java表达式引擎:aviator

1 aviator介绍 aviator本来是一个轻量级、高性能的基于JVM的表达式引擎。不过从5.0.0版本开始,aviator升级成为了aviatorScript,成为一个高性能、轻量级寄宿于 JVM (包括 Android 平台)之上的脚本语言。 根据官网的介绍,aviator支持的主要特性:…

hello hello 发布于 2023-11-08

使用JWT你应该要注意Token劫持安全问题

大家好,我是小趴菜,在工作中我们经常要做的一个就是登陆功能,然后获取这个用户的token,后续请求都会带上这个token来验证用户的请求。 问题背景 我们经常使用的JWT就是其中一种,如下 //生成Token public static String generateToken(Map<String, Object> payloads) {…

hello hello 发布于 2023-11-07

使用Lombok的时候,一定要谨慎使用 @Builder

hello,大家好,我是你们的老朋友 Lorin,本周在开发中使用 @Builder (@Builder 是一个注解,通常与 Lombok 这种 Java 代码生成工具一起使用,可以帮助简化 Java 类的构建器模式(Builder Pattern)的使用和生成)的时候出现了一个默认值丢失事件,顺便借这个机会研究了一下 @Builder…

hello hello 发布于 2023-11-07

如何在Java项目中实现漂亮的日志输出

日志是开发过程中不可或缺的一部分,它可以帮助我们追踪代码的执行过程、排查问题以及监控系统运行状况。然而,大多数开发人员在编写日志时往往只关注于输出必要的信息,而忽略了日志的可读性和美观性。本文将介绍如何在Java项目中实现漂亮的日志输出,提供一些实用的技巧和建议。 1. 使用合适的日志框架…

hello hello 发布于 2023-11-07

玩转IDEA专栏补充了不少内容,欢迎交流

IDEA是目前Java体系最为强大的开发工具,但也因为强大,有很多功能可能你并不知道。 所以,本文档讲帮助你了解IDEA更多牛x的功能、还会给你推荐很多有意思的插件和主题。 https://www.didispace.com/idea-tips/

hello hello 发布于 2023-11-02

为什么IDEA建议使用“+”拼接字符串?

各位小伙伴在字符串拼接时应该都见过下面这种提示: 内容翻译: 报告StringBuffer、StringBuilder或StringJoiner的任何用法,这些用法可以用单个java.lang.String串联来替换。使用字符串串联可以使代码更短、更简单。只有当得到的串联至少与原始代码一样高效或更高效时,此检查才会报告。…

hello hello 发布于 2023-11-02

从Java 8升级到Java 17的7个理由

从Java8到Java18,Java已经经历了漫长的发展历程(Java20非长期维护版本)。同时也是从Java 8开始,Java生态系统发生了许多变化。其中最明显的变化是Java版本发布节奏的改变。Java 8于2014年发布,而Java 17则是在2021年发布的,这两个版本之间相差了7年的时间。然而,2017年9月,Java 平台的主架构师 Mark…

hello hello 发布于 2023-11-01

磁盘I/O那些事

背景 计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的CPU主频早已超过3GHz,内存也进入了普及DDR4的时代。然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时SSD硬盘价格高昂,不能在短时间内完全替代传统硬盘。传统磁盘的I/O读写速度成为了计算机系统性能提高的瓶颈,制约了计算机整体性能的发展。…

hello hello 发布于 2023-10-31
上一页 下一页