Moonike's Blog
  • 首页
  • 归档
  • 分类
  • 关于
  • 友链

百万量级 Excel 数据下,EasyExcel 和 Apache POI 的对比

简单介绍 EasyExcel 和 POIEasyExcel 和 Apache POI 是 Java 中常用的处理 Excel 文件的开源工具库。 Apache POI 是功能全面的 Excel 读写库,支持 .xls 和 .xlsx 格式,适合复杂的 Excel 操作,比如自定义样式、图表、公式等。但它在处理大文件时内存占用较高,效率相对较低。 EasyExcel 是阿里巴巴 2017 年开源的
2025-05-22
场景问题

浅谈 JVM 堆内存

堆内存是做什么的堆内存用来存放 Java 中的 实例对象和数组。当我们 new 一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间用于存放它们。堆内存也有一些特点: 堆内存是 JVM 内存中最大的一部分 堆内存是线程共享的,也是垃圾回收的主要回收区 一个 JVM 实例只存在一个堆内存 堆内存可以在运行时动态地分配大小 堆内存是先进先出 FIFO 的 堆内存的组成部分首先思考一个问题,为
2025-05-19
Java > Java虚拟机

试着理解滑动窗口

什么是滑动窗口大多数人第一次接触滑动窗口(Sliding Window)算法应该是在学习 TCP 协议时。在 TCP 协议中,滑动窗口算法被用来进行流量控制,发送方和接收方均维护一个窗口,窗口大小根据流量变化而变化,从而使消息的发送方和接收方能够以一个合适的速度进行信息传输,从而达到流量控制的效果。而滑动窗口算法则是一个更加广泛的概念,其被广泛用于解决 连续性问题 ,如连续子数组,连续子串等。 能
2025-05-15
算法 > 一些思考

Java 注解(Annotation)

什么是注解Java 注解(Annotation)是一种 元数据(描述数据的数据),以 @注解名 的形式附加在类、方法、字段等代码元素上,用于提供额外信息。注解不会也不能影响代码的实际逻辑,仅起到辅助性的作用,其包含在 java.lang.annotation 包中。 注解的用处 代码标记:如 @Deprecated 标记过时方法。 框架配置:如 Spring 的 @Controller、MyBat
2025-05-13
Java > Java基础

线上 CPU 高使用率的处理思路

CPU 使用率 100% 会导致什么问题 服务响应变慢甚至不可用:因为 CPU 资源被耗尽,导致无法及时处理请求,从而造成服务响应变慢甚至不可用,影响用户体验。 系统资源竞争加剧:多线程/多进程争抢CPU,锁竞争加剧,进一步拖慢系统。同时由于请求挤压,可能会最终会导致请求丢失。 其他资源受影响:高CPU通常伴随高内存、磁盘IO、网络IO压力,可能引发更多资源瓶颈问题。 导致 CPU 高
2025-05-12
运维

Leetcode 148:排序链表

题目背景给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 实现代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152class Solution {private: // 寻找链表的中间结点 ListNode*
2025-05-09
算法 > 刷穿Leetcode

如何编写一个规范的版权声明

先说结论,正确的格式应该是:Copyright [时间] [作者名]. All rights reserved. 对于可视化的版权声明,应该具备如下三部分。 符号 ©,或单词“Copyright”版权,或缩写 “Copr.” 作品初次公开发表的年份。如果是之前发表材料的编辑或者衍生(编辑比如:文选,衍生比如:翻译或者编剧),有权利使用编辑或者衍生作品的最初发表年份。画报,绘画或者雕塑复制在贺卡,
2025-05-09
学的有点杂

ThreadLocal原理详解

什么是 ThreadLocalThreadLocal 是一个线程级别的变量,每个线程都有一个 ThreadLocal 的副本,竞态条件被彻底消除,在并发情况下是绝对安全的变量。当我们执行 ThreadLocal<T> value = new ThreadLocal<T>(); ,系统会自动在每一个线程上创建一个 T 的副本,副本之间彼此独立,互不影响,可以用 ThreadL
2025-05-08
Java > Java并发编程

函数式接口

什么是函数式接口函数式接口是Java 8引入的概念,指只包含一个抽象方法的接口。这些接口可以使用Lambda表达式来表示,使代码更加简洁。 函数式接口的特点: 只有一个抽象方法(Single Abstract Method,简称SAM) 可以有多个默认方法或静态方法 通常使用@FunctionalInterface注解标记(非必须,但推荐使用) Java内置的常用函数式接口Java 8 在 j
2025-04-22
Java > Java基础

分布式 ID 生成

分布式 ID 应当满足的要求 全局唯一:ID 的全局唯一性肯定是首先要满足的! 高性能:分布式 ID 的生成速度要快,对本地资源消耗要小。 高可用:生成分布式 ID 的服务要保证可用性无限接近于 100%。 方便易用:拿来即用,使用方便,快速接入! 除此之外,我们还可以对分布式 ID 提出一些更高的要求: 安全:ID 中不包含敏感信息。 有序递增:如果要把 ID 存放在数据库的话,ID 的有序
2025-04-22
分布式
12345…7

搜索

Copyright 2025 Moonike. All rights reserved.
Powed by Hexo Fluid
载入天数... 载入时分秒...
总访问量 次 总访客数 人