首页 / 技术专题CATEGORY / SPRINGFORALL

Java

在这个技术方向,积累扎实的知识与实践。

共 547 篇文章

Mybatis一级缓存

Mybatis一级缓存的配置方式: <setting name="localCacheScope" value="SESSION"/> value有两个值可选: session:缓存对一次会话中所有的执行语句有效,也就是SqlSession级别的。 statement:缓存只对当前执行的这一个Statement有效。 BaseExecutor…

带你了解 Java 8 Stream:掌握流处理中的收集器技巧

Java 8 引入的 Stream 极大地简化了集合数据的处理,提供了一种现代、函数式的方式来处理数据。然而,在处理流时,我们经常需要将流的结果汇总到集合中或者进行各种统计计算。这就是收集器(Collectors)发挥作用的地方。本文将深入探讨 Java 8 Stream 中的收集器,介绍收集器的各种用法和技巧,帮助你更好地利用收集器处理数据。…

聊聊MyBatis缓存机制

前言 MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。…

Java 21 新特性:String Templates

在日常写Java的时候,对于字符串的操作是非常普遍的,其中最常见的就是对字符串的组织。也因为这个操作非常普遍,所以诞生了很多方案,总下来大概有这么几种: 使用 + 拼接 使用 StringBuffer 和 SpringBuilder String::format and String::formatted 使用…

Java各种线程死锁问题

病症 web服务跑着跑着响应越来越慢,最终网页白页的,一查进程还活着,socket连接高,十有八九线程死锁没得到释放,最后没线程资源执行任务导致白页等待。 最有效的排查方法 最直接的排查方法就是,dump下内存快照,去查看线程信息,看看是否有大量的线程处于等待状态。基本上就能定位是哪里的问题。 常见的几种线程死锁的场景…

利用hutool读取并解析zip压缩文件

hutool是近几年非常火的工具包,里面包含了我们日常开发常用的工具类,这里我们以zip压缩文件为例演示一下具体操作方法 首先我们创建一个压缩文件,目录为 D:\\zip\\测试.zip 里面存放两个excel文件 操作用例如下: public static void main(String[] args){ String…

java学习笔记——–对象与类

1、类 与 对象 类(class)对象(Object)是面向对象核心概念。 类是对一类事物的描述,是抽象的、概念上的定义 对象是实际存在该类事物的每个个体 2、对象内存解析 (1)堆(Heap):此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。(JVM规范描述:所有对象实例以及数组都在堆上分配)…