WeiG's blog
首页
  • 类目

    • Java
    • Mysql
  • 学习笔记

    • 《SpringBoot-学习笔记》
  • 大杂烩
  • Docker
  • Git
  • 博客搭建
  • 程序人生
  • 所思所想
  • 人生游记
  • 归档
  • 分类
  • 标签
收藏
关于我

Wei-G

即使再小的帆也可以远航!
首页
  • 类目

    • Java
    • Mysql
  • 学习笔记

    • 《SpringBoot-学习笔记》
  • 大杂烩
  • Docker
  • Git
  • 博客搭建
  • 程序人生
  • 所思所想
  • 人生游记
  • 归档
  • 分类
  • 标签
收藏
关于我

凡心所向,素履所往,生如逆旅,一苇以航

原来我们真的会死

gangzi 2022-03-17 百草屋所思所想 所思所想

2021年终总结

gangzi 2022-01-23 百草屋程序人生 年终总结

注解Data与EqualsAndHashCode的使用

gangzi 2022-01-19 后端乱炖Java 注解

# 前言

@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。所以可知,当使用@Data注解时,则有了@EqualsAndHashCode注解,那么编译后就会自动重写equals() 和 hashCode()方法。用在一般的普通实体类不会出现什么问题,但是当用来派生类上时,可能会导致不必要的错误。

阅读全文

01|springboot配置mybatis

gangzi 2022-01-19 《SpringBoot-学习笔记》 SpringBootmybatis

02|springBoot配置easyExcel

gangzi 2022-01-19 《SpringBoot-学习笔记》 SpringBooteasyExcel

# 前言

在平时的业务系统开发中,少不了需要用到导出、导入excel功能。Apache POI不做过多介绍

主要学习下,EasyPoi和EasyExcel的使用和区别对比。 ​

官网 https://www.yuque.com/easyexcel ​

EasyPoi和EasyExcel都是基于Apache POI进行二次开发的。

不同点在于:

  1. EasyPoi 在读写数据的时候,优先是先将数据写入内存,优点是读写性能非常高,但是当数据量很大的时候,会出现OOM,当然它也提供了 sax 模式的读写方式,需要调用特定的方法实现。它主要的特点就是将更多重复的工作,全部简单化,避免编写重复的代码!
  2. EasyExcel 基于sax模式一行一行解析进行读写数据,不会出现OOM情况,在并发量很大的情况下,程序在经过高并发场景的验证下,依然能稳定运行!相对于 EasyPoi 来说,读写性能稍慢!

SAX(simple API for XML) 是一种XML解析的替代方法。相比于DOM,SAX是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。而且相比于DOM,SAX可以在解析文档的任意时刻停止解析,但任何事物都有其相反的一面,对于SAX来说就是操作复杂。

​

EasyPoi 对定制化的导出支持非常的丰富,如果当前的项目需求,并发量不大、数据量也不大,但是需要导出 excel 的文件样式千差万别,那么我推荐你用 EasyPoi;反之,使用 EasyExcel !

本篇学习EasyExcel的使用 👇

# 简单使用测试

pom.xml添加依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.5</version>
</dependency>
1
2
3
4
5
阅读全文

为什么重写equals一定要重写hashcode

gangzi 2022-01-19 后端乱炖Java 基础equals和hashcode

在原始的Object类中

默认equals比较规则是通过“==”来进行判断,这样比较的是两个对象的内存地址,默认的hashcode方法返回的是对象的内存地址由哈希算法转换成的一个整数,实际上指的的也是内存。哈希算法具有一定的偶然性,不同的内存地址可能计算出相同的哈希值。

对于原始的hashCode()和equals() 方法来说,通过equals() 比较两个对象相等,说明这两个对象的内存地址相同,进而知hashcode也是相同的。 ​

在实际使用中,大多数场景下,如HashMap中存放自定义对象类作为key

当用 HashMap 存入自定义的类时,如果不重写这个自定义类的 equals 和 hashCode 方法,得到的结果会和预期的不一样。

阅读全文

java泛型的理解

gangzi 2022-01-19 后端乱炖Java 基础泛型

分布式事务小结

李文华 2022-01-13 后端乱炖Java 分布式事务

[作者简介] 李文华,小米信息技术部海外商城组

随着互联网技术的不断发展,系统越来越复杂,几乎所有 IT 公司的系统都已经完成从单体架构到分布式架构的转变,分布式系统几乎无处不在。谈到分布式系统,特别是微服务架构,不得不谈分布式事务

阅读全文

上一页

1234

下一页

头像
Wei-G 即使再小的帆也可以远航!
文章分类
百草屋 6 所思所想 3 程序人生 2 后端乱炖 7 Java 6 《SpringBoot-学习笔记》 2 技术杂谈 13 Git 1 大杂烩 3 博客搭建 8 更多 ...
热门标签
所思所想 年终总结 注解 SpringBoot mybatis easyExcel 基础 equals和hashcode 泛型 分布式事务 线上问题排查 线程池 Git git 第二职业 SEO 博客 Github Action 短信服务 制作启动U盘 docker 图床 秋招 mysql索引 mysql

公众号

相信努力的意义,用文字记录成长和蜕变,分享所得,自然圆满。

本站总访问量 次 | 本站访客数 人
Copyright © 2021-2022 Gang zi | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 生命绿
  • 收获黄
  • 天空蓝
  • 激情红
  • 高贵紫