踩坑|以为是Redis缓存没想到却是Spring事务!

2023-06-04
阅读 7 分钟
1.1k
  最近碰到了一个Bug,折腾了我好几天。并且这个Bug不是必现的,出现的概率比较低。一开始我以为是旧数据的问题,就让测试重新生成了一下数据,重新测试。由于后面几轮测试均未出现,我也就没太在意。

无缝对接多语言:参数校验的终极指南(一)!

2023-05-29
阅读 10 分钟
1.1k
  在此之前,写过在两篇文章,是关于如何在 SpringBoot 内实现统一参数校验和自定义校验注解的。毕竟作为后端来讲,对于前端传来的数据,需要保持高度的警惕。避免出现异常数据,导致系统异常。统一参数校验和自定义校验注解,可以帮助我们更加优雅和严格的完成参数校验,减少出错的概率。

从萌芽到巨人: 揭秘Rod Johnson与Spring框架的故事

2023-05-17
阅读 4 分钟
923
  在这个充满创意和技术追求的世界中,有一个名为 Spring 的框架,它孕育了无数创新和成功的故事。这是一个关于持续进化和超越自我的故事,一个激励人心的旅程,由一位富有远见的程序员和他的团队引领着。从最初的概念到如今的成熟框架,Spring 经历了无数次变革和改进,最终成为了 Java 开发领域的瑰宝。

一不小心,你就掉进了Spring延迟初始化的坑!

2023-05-14
阅读 4 分钟
1.1k
  书接上回,之前我们有聊到 Spring 的延迟初始化机制,是什么,有什么作用。今天跟各位大佬分享一下,我在使用 Spring 延迟初始化踩过的一些坑。

给你的项目启动提提速:Lazy Initialization

2023-05-10
阅读 4 分钟
1.1k
  在一个名为种花家的小镇上,生活着一群热爱编程的人。他们致力于构建出高效、可维护的软件系统,而 Spring Boot 框架成为了他们的不二之选。这个小镇上的人们每天都在用 Spring Boot 框架创造着令人瞩目的应用程序。

Arrays:点燃你的数组操作技巧的隐秘武器。

2023-05-07
阅读 7 分钟
1.1k
  数组在 Java 中是一种常用的数据结构,用于存储和操作大量数据。但是在处理数组中的数据,可能会变得复杂和繁琐。Arrays 是我们在处理数组时的一把利器。它提供了丰富的方法和功能,使得数组操作变得更加简单、高效和可靠。无论是排序、搜索、比较还是复制,Arrays 都能够满足我们的需求,来帮助我们充分发...

Java枚举:为什么它是单例模式的最佳选择?

2023-05-05
阅读 2 分钟
1.1k
  单例模式,是工作中比较常见的一种设计模式,通常有两种实现方式,懒汉式和饿汉式。但是这两种实现方式存在一些问题。懒汉式需要在多线程环境下使用同步锁机制来保证只有一个实例被创建,这会影响程序的性能。而饿汉式在类加载时就创建实例,会导致程序在启动时变慢,同时也无法延迟实例的创建,这可能会浪...

探究Spring中Bean的线程安全性问题

2023-05-04
阅读 2 分钟
1.3k
  今天同事笑嘻嘻的凑过来,问了我一个问题:spring中的bean是线程安全的吗?。我内心一想肯定是安全的,毕竟这样多项目在用。但是转念一想,他那贱兮兮的表情,多半是在给我挖坑。于是我自信的回答他:不安全。他反问,你确定😏?

被遗忘的Java关键字:transient

2023-04-25
阅读 3 分钟
987
  今天在看项目代码时候,看到了下面这样一行代码,用transient修饰了一个变量,主要作用是做一个全局开关。说实话我是第一次看到这个关键字。激发了我的好奇心,所以就了解一下这是何方神圣。

Java文件操作必备技能,10个小技巧让你快速掌握!

2023-04-24
阅读 6 分钟
1k
  在我们日常的开发中,文件操作是一个非常重要的主题。文件读写、文件复制、任意位置读写、缓存等技巧都是我们必须要掌握的。在这篇文章中,我将给你们介绍 10 个实用的文件操作技巧。

基础巩固、探寻Java装箱和拆箱的奥妙!

2023-04-24
阅读 3 分钟
981
  今天在逛某知名论坛的时候,看到一篇"请不要使用包装类型,避免造成性能损失"的文章。一下子就吸引了我的注意。大意就是,能用基本数据类型就尽量用基本数据类型,因为包装类型自动拆箱、装箱会带来性能损失尤其是循环使用时会大量创建对象。所以今天聊一下,Java的装箱和拆箱。

一步搞定IP地址查询:这个在线工具帮你快速掌握设备的位置信息!

2023-04-23
阅读 3 分钟
1.2k
  今天分享一个免费的在线工具来查询IP地址所在的地理位置。可以通过IP地址所属的网络运营商和其他相关信息来确定设备的位置,包括国家、地区、城市和经纬度等信息。

助你掌握搜索神器,10个实用的Elasticsearch查询技巧

2023-04-19
阅读 3 分钟
1.1k
  Elasticsearch是一个非常流行的搜索引擎,已经成为了许多企业的首选解决方案。然而,我们要想成为一个优秀的程序员,就必须掌握各种查询技巧。本文将向大家介绍10个实用的Elasticsearch查询技巧,并配上详细的代码示例,帮助我们更好地掌握Elasticsearch的查询语法。

告别StringUtil:使用Java全新String API优化你的代码

2023-04-17
阅读 4 分钟
1.2k
  Java编程语言的每一次重要更新,都引入了许多新功能和改进。 并且在String 类中引入了一些新的方法,能够更好地满足开发的需求,提高编程效率。

Java Stream API 操作完全攻略:让你的代码更加出色 (四)

2023-04-15
阅读 4 分钟
1.5k
  Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。本文将为您介绍 Java Stream 操作的所有方面,包括 range、range、iterate、generate 等操作,让你的代码行云流水,更加优雅。

Java并行流:一次搞定多线程编程难题,让你的程序飞起来!

2023-04-15
阅读 6 分钟
1.8k
  在日常的工作中,为了提高程序的处理速度,充分利用多核处理器的性能,我们需要手动编写多线程代码。但是多线程编程非常复杂,容易出现死锁、竞态条件等问题,给我们带来了很大的困扰。而 Java 并行流则提供了一种更加简单、易用、安全的并发编程方式,可以让我们更加轻松地编写高效的并发程序。

HTTP协议演进:为什么说HTTP/1.1的时代已经过去了

2023-04-13
阅读 3 分钟
873
  欢迎来到今天的每日一题,每日一提。昨天聊到了,HTTP 是什么。有哪些组成部分。并且最后提到了 HTTP 的一些缺点,比如:性能较低,容易导致网络拥塞和延迟,不支持服务器推送等等。设计协议的大佬们,对这样的缺点肯定是不能容忍的,所以 HTTP2 它来了。

Java Stream API 操作完全攻略:让你的代码更加出色 (三)

2023-04-13
阅读 6 分钟
827
  Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。本文将为您介绍 Java Stream 操作的所有方面,包括 groupingBy、groupingBy、joining、mapping 等操作,让你的代码行云流水,更加优雅

Java Stream API 操作完全攻略:让你的代码更加出色 (二)

2023-04-12
阅读 4 分钟
905
  Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。本文将为您介绍 Java Stream 操作的所有方面,包括 reduce、collect、count、anyMatch 等操作,让你的代码行云流水,更加优雅。

解密HTTP协议:探索其组成部分与工作原理

2023-04-12
阅读 3 分钟
1.1k
  欢迎来到今天的每日一题,每日一提。昨天有聊到,HTTP 和 HTTPS 之间有什么区别?面试官基本秉承着刨根问题的原则,肯定是不会轻易放过我们的,那么自然是要继续拷问了。所以我们今天就聊聊什么是 HTTP,它有哪些组成部分。

Java Stream API 操作完全攻略:让你的代码更加出色 (一)

2023-04-11
阅读 5 分钟
1.1k
  Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。本文将为您介绍 Java Stream 操作的所有方面,包括 filter、map、distinct、sorted 等操作,让您的代码行云流水,更加优雅。

HTTP vs HTTPS: 网络通信的加密之争!你真的知道它们的区别吗?

2023-04-11
阅读 3 分钟
1.2k
  欢迎来到今天的每日一题,每日一提。之前有聊到,TCP/IP协议四层模型。所以我们知道,那四层分别是:应用层、传输层、网络层和数据链路层。那么今天聊一聊应用层里面的一个小知识点,HTTP和HTTPS之间有什么区别?

简化你的代码,提高生产力:这10个Lambda表达式必须掌握

2023-04-09
阅读 4 分钟
1k
  Lambda表达式是一种在现代编程语言中越来越常见的特性,可以简化代码、提高生产力。这篇文章将介绍10个必须掌握的Lambda表达式,这些表达式涵盖了在实际编程中经常用到的常见场景,例如列表操作、函数组合、条件筛选等。通过学习这些Lambda表达式,你将更加深入地理解函数式编程的思想,能够更加高效地编写...

探索网络世界的核心:TCPIP协议四层模型解析

2023-04-09
阅读 2 分钟
733
  欢迎来到今天的每日一题,每日一提。今天要聊的是面试中经常会问到tcp协议 。相信在以往的面试中,一定碰到过这个问题吧:什么是TCP/IP协议?它包括哪些层次?。虽然在面试中脱口而出,有四层:应用层、传输层、网络层和数据链路层。但是再详细问,每层的作用的什么?这就开始挠头了。

TCPIP vs OSI模型:网络通信的两种参考模型有哪些不同?

2023-04-09
阅读 2 分钟
963
  欢迎来到今天的每日一题,每日一提。昨天聊的是面试中经常会问到tcp协议 。在面试中一旦问到TCP/IP,那么OSI模型肯定是躲不过的。如果直接回答OSI模型有7层,和TCP/IP的区别就是层数不一样。那么恭喜你可以提前回去等通知了。所以今天就聊聊,什么是OSI模型和TCP/IP协议又什么区别?

从try-with-resources到ThreadLocal,优化你的代码编写方式!

2023-04-08
阅读 3 分钟
1.3k
1. 使用try-with-resources简化文件读取操作:修改前: {代码...} 修改后: {代码...} 2. 使用Lambda表达式简化集合操作:修改前: {代码...} 修改后: {代码...} 3. 使用StringBuilder类拼接字符串:修改前: {代码...} 修改后: {代码...} 4. 使用静态导入简化代码:修改前: {代码...} 修改后: {代码...} 5. 使用断...