- 博客(107)
- 收藏
- 关注
原创 spring boot 项目实现,Easy Excel 实现导入导出功能(一)
前言Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI
2024-07-29 16:28:24 289
原创 Java常用10种排序算法
快速排序是一种分治思想的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序的目的。选择排序是一种简单的排序算法,它的基本思想是每次从待排序的元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的元素排完。基数排序的时间复杂度为O(d(n+k)),其中d为最大元素的位数,n为待排序元素的个数,k为桶的个数。桶排序的时间复杂度为O(n),其中n为待排序元素的个数。
2024-07-29 16:28:05 788
原创 redis场景应用
字符串(String):字符串是 Redis 最基础的数据类型,它存储的是二进制安全的数据,可以是数字、字符串或二进制数据。由于 Redis 的字符串是二进制安全的,因此可以用来存储图片、视频等二进制数据。有序集合(Sorted Set):有序集合是一种特殊的集合,其中的每个元素都会关联一个分数,通过分数可以对集合进行排序。列表(List):列表是一种基于字符串的线性表数据结构,可以存储多个有序的字符串元素。集合(Set):集合是一种无序的字符串集合,其中的每个元素都是唯一的,且没有重复的元素。
2024-07-29 16:26:09 189
原创 Redis缓存与数据库一致性问题
先更新缓存,再更新数据库。先更新数据库,再更新缓存。正常情况,二者没有差别,都能保证缓存数据与数据库数据的一致性。数据一致性问题主要发生在第一步执行成功,第二步执行失败的场景。先更新缓存,再更新数据库在更新缓存成功、更新数据库失败的场景中,读取到的数据为更新后的最新值,但数据库中存储的是更新前的旧值,造成数据一致性问题。一旦缓存失效,就会从数据库中加载得到更新前的旧值,对业务造成影响。先更新数据库,再更新缓存。
2024-07-26 15:10:45 933
原创 基于idea的YonBuilder Premium开发者工具(原NCC开发插件)使用说明
基于idea的YonBuilder Premium开发者工具(原NCC开发插件)使用说明
2024-03-13 11:31:50 1834 3
转载 JVM学习-类加载
类是java的入口,在启动java应用的时候会首先创建Launcher类,创建Launcher类的时候会准备应用程序运行中需要的类加载器。Launcher作为JAVA应用的入口,根据双亲委派模型,Laucher是由JVM创建的,它类加载器应该是BootStrapClassLoader, 这是一个C++编写的类加载器,是java应用体系中最顶层的类加载器,负责加载JVM需要的一些类库(<JAVA_HOME>/lib)和。
2023-11-16 13:03:55 126
原创 MongoDB 6.0.8 安装配置
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
2023-08-04 18:03:59 2016
原创 springMVC
defaultValue:不管required属性值为true或false,当value所指定的请求参数没有传输或传输的值。若设置为true时,则当前请求必须传输value所指定的请求参数,若没有传输该请求参数,且没有设置。false,则当前请求不是必须传输value所指定的请求参数,若没有传输,则注解所标识的形参的值为。可以在控制器方法的形参位置设置一个实体类类型的形参,此时若浏览器传输的请求参数的参数名和实。value:指定为形参赋值的请求参数的参数名。为""时,则使用默认值为形参赋值。
2023-08-03 14:57:46 101
原创 java 接口方法详解
接口的定义基本格式接口就是多个类的公共规范接口是一种引用数据类型,最重要的内容就是其中的:抽象方法如何定义一个接口的格式:public interface 接口名称 {//接口内容备注:换成了关键字interface之后,编译生成的字节码文件仍然是:.java→.class如果是java 7,那么接口中可以包含的内容有:1、常量2、抽象方法如果是java 8,还可以额外包含有;3、默认方法4、静态方法如果是java 9,还可以额外包含有:5、私有方法。
2023-08-03 14:55:47 224
转载 线程池源码分析
上面我们说完了任务提交的大概流程,但你有没有想过添加到阻塞队列中的任务好像并没有被执行,一个Worker执行完了任务又会怎么样?还有就是线程池的异常处理,按理来说如果一个异常没有被捕获,线程就会挂掉,挂掉后线程池的线程数量就会减小,那么线程池是怎么保证线程的数量的呢。带着问题,我们继续。这个应该还是很好理解的吧,经过计算ctlOf(RUNNING, 0),初始化的ctl其实就是11100000000000000000000000000000,这个值表示的是线程池为RUNNING状态,0条工作线程。
2023-07-23 11:21:11 111
原创 springboot项目建立报错
spring-boot-maven-plugin 爆红 mapper文件找不到 Unsatisfied dependency expressed through field 'baseMapper';
2023-05-09 10:58:35 240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人